Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/05/2017, à 06:46

Negan

Iptables et proftpd

Bonjour,

J'ai un serveur FTP sous Proftpd et j'utilise iptables comme pare-feu.

Le serveur FTP fonctionne parfaitement.
J'ai un script qui s'active au démarrage du serveur et qui bloque toutes les connexions sur le pare-feu, ensuite il accepte seulement quelques connexions : ssh, proftpd ...

Le problème c'est que le proftpd ne fonctionne pas. J'arrive à me connecter mais le dossier FTP n'est pas récupéré, filezilla me dit ça

Statut : 
Connexion à 192.168.1.23:21... 
Statut : Connexion établie, attente du message d'accueil... 
Statut : Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS. 
Statut : Connecté 
Statut : Récupération du contenu du dossier.., 

Les règles de filtrage dans le script sont :

# FTP Out
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT

# FTP In
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "ftp ok"

Je vois pas trop ou est le problème, si quelqu'un pourrait m'expliquer.
A noter que si je désactive le pare feu, ça fonctionne, le problème vient donc des commandes ici

Merci


Modération : merci à l'avenir d'utiliser les balises code (explications ici).

Dernière modification par cqfd93 (Le 24/05/2017, à 07:20)

Hors ligne

#2 Le 24/05/2017, à 07:34

robindesbois

Re : Iptables et proftpd

Salut, à vue de nez le truc qui me dérange le plus pour le moment c'est dans tes règles INPUT, tu as mis --dport au lieu de --sport. Tu peux rectifier ces deux règles pour le port 20 et 21 et dire si ça va mieux déjà stp ?

Hors ligne

#3 Le 24/05/2017, à 08:06

bruno

Re : Iptables et proftpd

Les règles de pare-feu pour autoriser le FTP c'est très casse-pied… (au passage dport est correct)
C'est dommage de ne pas utiliser SFTP (avec openssh et oublier proftpd) qui est bien plus sécurisé et ne nécessite que l'ouverture du port 22.

Il semble que la connexion s'établisse (port 21) mais pas le transfert de données. Il est probable qu tu aies besoin d'autoriser FTP en mode passif. Je te laisse faire une recherche sur "iptables + FTP".

Hors ligne

#4 Le 24/05/2017, à 08:47

Negan

Re : Iptables et proftpd

Salut,

Merci pour vos réponses.
J'ai regardé sur internet et pas mal de monde ont rencontré ce problème.
Beaucoup de monde également parle du mode passif mais je ne comprends pas très bien quelles sont les conf à faire.
Il faut activer le mode passif sur le client (Filezilla) mais y'a il des conf à faire dans proftpd.conf ?

Hors ligne

#5 Le 24/05/2017, à 09:02

bruno

Re : Iptables et proftpd

Pour le mode passif ce doit être activé par défaut aussi bien côté client (Filezilla) que côté serveur (proFTPd).

Pour le pare-feu regarde le premier résultat ici : https://duckduckgo.com/?q=iptables+%2B+ … ical&ia=qa

Mais encore un fois pose-toi les questions :
- ai-je vraiment besoin d'un pare-feu et pourquoi ?
- n'aurai-je pas tout intérêt à utiliser le SFTP intégré de openssh -server ?

Dernière modification par bruno (Le 24/05/2017, à 09:02)

Hors ligne

#6 Le 24/05/2017, à 09:16

Negan

Re : Iptables et proftpd

Merci pour ta réponse, je tenterais la commande ce soir, je te donnerais des nouvelles.

Je n'ai clairement pas besoin d'un pare feu c'est un FTP juste pour utiliser en local chez moi, mais je tente juste des manip simplement par intêret et pour ma culture. Je ne n'aime pas me contenter d'un "oh ça marche tant pis si c'est pas sécurisé".

Enfin, j'utilise proftpd par habitude, j'ai commencé la dessus, mais également parce que j'utilise tout un tas de configuration du style :

  <Directory /path/to/dir>
    <Limit DELE>
      AllowUser ftpadm
      DenyAll
    </Limit>
  </Directory>

A ce soir !

Hors ligne

#7 Le 24/05/2017, à 17:10

robindesbois

Re : Iptables et proftpd

bruno a écrit :

(au passage dport est correct).

Oups... J'ai dit une bêtise, pardon wink

Dernière modification par robindesbois (Le 24/05/2017, à 17:11)

Hors ligne

#8 Le 24/05/2017, à 20:11

Negan

Re : Iptables et proftpd

Re !

Merci, grâce à ta commande ça fonctionne. Mon dossier est bien récupéré.
Cependant lorsque j'active mon certificat SSL pour chiffrer les données (Wireshark), il ne veut plus me récupérer le dossier.
Il le re-récupère quand je le désactive.

Y'a il une règle à ajouter dans le firewall pour le SSL ?

Voici le retour de Filezilla :

Statut :	Connexion à 192.168.1.23:21...
Statut :	Connexion établie, attente du message d'accueil...
Statut :	Initialisation de TLS...
Statut :	Vérification du certificat...
Statut :	Connexion TLS établie.
Statut :	Connecté
Statut :	Récupération du contenu du dossier...
Commande :	PWD
Réponse :	257 "/" est le répertoire courant
Commande :	TYPE I
Réponse :	200 Type paramétré à I
Commande :	PASV
Réponse :	227 Entering Passive Mode (192,168,1,23,227,120).
Commande :	MLSD
Erreur :	Connection interrompue après 20 secondes d'inactivité
Erreur :	Impossible de récupérer le contenu du dossier 

Dernière modification par Negan (Le 24/05/2017, à 20:20)

Hors ligne

#9 Le 24/05/2017, à 21:07

Compte anonymisé

Re : Iptables et proftpd

Salut,
heu, tu fais du SSL mais tu n'ouvres pas les ports correspondants ?

cat /etc/services

Tu devrais avoir dans ta liste : ftps-data    989/tcp                # FTP over SSL(data)
ftps        990/tcp

Ouvre déjà ces ports 989 et 990 en tcp et si ce n'est pas suffisant, ajoute également, ouvre la range de port de 989 à 995 en tcp.
Ceci dit, pourquoi un firewall ? Comme tu peux le voir, c'est bien lui qui bloque la négociation SSL !

#10 Le 24/05/2017, à 21:39

Negan

Re : Iptables et proftpd

Salut,

A première vue ca n'a pas l'air de changer grand chose, peut être que j'ai pas fais comme il faut.
Peut tu s'il te plaît m'écrire les commandes que tu aurais tapé au cas ou ?

Merci

Hors ligne

#11 Le 24/05/2017, à 22:51

jean-luc5629

Re : Iptables et proftpd

Negan a écrit :

Salut,

A première vue ca n'a pas l'air de changer grand chose, peut être que j'ai pas fais comme il faut.
Peut tu s'il te plaît m'écrire les commandes que tu aurais tapé au cas ou ?

Merci

Bonsoir,

Tu ouvres des ports dans ton firewall, mais as tu fait les redirections  dans ta box ??? c'est peu être là que ça bloque ?? sinon tu t'emmerdes vraiment avec ce firewall qui ne sert strictement à rien et en plus derrière une box...

Hors ligne

#12 Le 26/05/2017, à 10:13

pires57

Re : Iptables et proftpd

jean-luc5629 a écrit :

Tu ouvres des ports dans ton firewall, mais as tu fait les redirections  dans ta box ??? c'est peu être là que ça bloque ??

negan a écrit :

Je n'ai clairement pas besoin d'un pare feu c'est un FTP juste pour utiliser en local chez moi

Si c'est en local, pas besoin de redirection au niveau de la box.

Sinon pour FTPS, par défaut il faut ouvrir les ports 989 (réponse)  et 990 (connection).
Ceci dit, il aurait été beaucoup plus simple d'activer les logs iptables et de les analyser.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#13 Le 26/05/2017, à 10:17

Compte anonymisé

Re : Iptables et proftpd

@ Negan:

J'ai un script qui s'active au démarrage du serveur et qui bloque toutes les connexions sur le pare-feu, ensuite il accepte seulement quelques connexions : ssh, proftpd ...

Puis:

A première vue ca n'a pas l'air de changer grand chose, peut être que j'ai pas fais comme il faut.
Peut tu s'il te plaît m'écrire les commandes que tu aurais tapé au cas ou ?

J'en déduis que tu n'as pas écrit ce script... Utiliser quelque chose que l'on trouve sur Internet (tuto) sans en comprendre les fondements n'est jamais une bonne chose. Alors dans un premier temps, stop ton Iptables et refait des tests de négociation SSL... Dans le fichier.conf de Proftpd, tu as bien indiqué le SSL ?

Dernière modification par Compte anonymisé (Le 26/05/2017, à 10:20)

#14 Le 26/05/2017, à 17:16

Negan

Re : Iptables et proftpd

Bonjour,

En effet je suis en local donc pas besoin de redirection.
Je viens d'éteindre mon firewall et de tester, la connexion SSL s'établie et j'ai accès à mon FTP sans problème.
C'est donc bien à priori le firewall qui me bloque le SSL.

Mon script c'est pas moi qui l'ai fait je l'ai pris sur internet, le voilà :

#!/bin/sh
### BEGIN INIT INFO
# Provides:          Firewall maison
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:
# Default-Stop:
# X-Interactive:     false
# Short-Description: Firewall maison
### END INIT INFO

# Mise à 0
iptables -t filter -F
iptables -t filter -X
echo "Mise à 0"

# On bloque tout
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
echo "Interdiction"

# Ne pas casser les connexions établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Autorise le loopback (127.0.0.1)
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
echo "Loopback"

# ICMP (le ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
echo "Ping ok"

# SSH IN/OUT
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT
echo "SSH ok"

# DNS In/Out
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
echo "dns ok"

# NTP Out
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
echo "ntp ok"

# HTTP + HTTPS Out
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

# HTTP + HTTPS In
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT
echo "http ok"

#Modules pour FTP
modprobe ip_conntrack_ftp
echo "module chargé"

# FTP Out
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT

# FTP In
# imodprobe ip_conntrack_ftp # ligne facultative avec les serveurs OVH
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "ftp ok"

Je veux bien essayer d'ouvrir les ports SSL mais je ne sais pas faire ...

Merci !

Hors ligne

#15 Le 28/05/2017, à 16:53

Compte anonymisé

Re : Iptables et proftpd

@ Negan:

#Modules pour FTP
modprobe ip_conntrack_ftp
echo "module chargé"

# FTP Out
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT

# FTP In
# imodprobe ip_conntrack_ftp # ligne facultative avec les serveurs OVH
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "ftp ok"

J'essayerai avec ceci:

# FTP Out
iptables -t filter -A OUTPUT -p tcp -m multiport\ --dport 21,990 -m conntrack --ctstate\ NEW,RELATED,ESTABLISHED -j ACCEPT
# FTP In
# imodprobe ip_conntrack_ftp # ligne facultative avec les serveurs OVH
iptables -t filter -A INPUT -p tcp -m multiport\  --dport 20,989 -m conntrack --ctstate\  RELATED,ESTABLISHED -j ACCEPT

Quel est le retour après reboot de Iptables ?

Dernière modification par Compte anonymisé (Le 28/05/2017, à 16:54)

#16 Le 02/06/2017, à 19:18

Negan

Re : Iptables et proftpd

Bonjour,

Merci pour la réponse.

J'ai essayé de remplacer les lignes FTP de mon script par les tiennes.

# FTP Out
iptables -t filter -A OUTPUT -p tcp -m multiport\ --dport 21,990 -m conntrack --ctstate\ NEW,RELATED,ESTABLISHED -j ACCEPT
# FTP In
# imodprobe ip_conntrack_ftp # ligne facultative avec les serveurs OVH
iptables -t filter -A INPUT -p tcp -m multiport\  --dport 20,989 -m conntrack --ctstate\  RELATED,ESTABLISHED -j ACCEPT

A première vue, les commandes sont acceptées.

Le reboot de mon firewall se passe également correctement.

Cependant je l'ai plus aucun accès a mon FTP, avant je pouvais me connecter, le dossier n'était pas récupéré.
Maintenant plus rien.

Je joints je iptables -L au cas ou

root@server:/etc/init.d# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:8443
ACCEPT     tcp  --  anywhere             anywhere             multiport dports ftp-data,ftps-data ctstate RELATED,ESTABLISHED
ufw-before-logging-input  all  --  anywhere             anywhere
ufw-before-input  all  --  anywhere             anywhere
ufw-after-input  all  --  anywhere             anywhere
ufw-after-logging-input  all  --  anywhere             anywhere
ufw-reject-input  all  --  anywhere             anywhere
ufw-track-input  all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination
ufw-before-logging-forward  all  --  anywhere             anywhere
ufw-before-forward  all  --  anywhere             anywhere
ufw-after-forward  all  --  anywhere             anywhere
ufw-after-logging-forward  all  --  anywhere             anywhere
ufw-reject-forward  all  --  anywhere             anywhere
ufw-track-forward  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:ntp
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             multiport dports ftp,ftps ctstate NEW,RELATED,ESTABLISHED
ufw-before-logging-output  all  --  anywhere             anywhere
ufw-before-output  all  --  anywhere             anywhere
ufw-after-output  all  --  anywhere             anywhere
ufw-after-logging-output  all  --  anywhere             anywhere
ufw-reject-output  all  --  anywhere             anywhere
ufw-track-output  all  --  anywhere             anywhere

Chain ufw-after-forward (1 references)
target     prot opt source               destination

Chain ufw-after-input (1 references)
target     prot opt source               destination
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:netbios-ns
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ufw-skip-to-policy-input  tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ufw-skip-to-policy-input  tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:bootps
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:bootpc
ufw-skip-to-policy-input  all  --  anywhere             anywhere             ADDRTYPE match dst-type BROADCAST

Chain ufw-after-logging-forward (1 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-after-logging-input (1 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-after-logging-output (1 references)
target     prot opt source               destination

Chain ufw-after-output (1 references)
target     prot opt source               destination

Chain ufw-before-forward (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere             icmp destination-unreachable
ACCEPT     icmp --  anywhere             anywhere             icmp source-quench
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere             icmp parameter-problem
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ufw-user-forward  all  --  anywhere             anywhere

Chain ufw-before-input (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ufw-logging-deny  all  --  anywhere             anywhere             ctstate INVALID
DROP       all  --  anywhere             anywhere             ctstate INVALID
ACCEPT     icmp --  anywhere             anywhere             icmp destination-unreachable
ACCEPT     icmp --  anywhere             anywhere             icmp source-quench
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere             icmp parameter-problem
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     udp  --  anywhere             anywhere             udp spt:bootps dpt:bootpc
ufw-not-local  all  --  anywhere             anywhere
ACCEPT     udp  --  anywhere             224.0.0.251          udp dpt:mdns
ACCEPT     udp  --  anywhere             239.255.255.250      udp dpt:1900
ufw-user-input  all  --  anywhere             anywhere

Chain ufw-before-logging-forward (1 references)
target     prot opt source               destination

Chain ufw-before-logging-input (1 references)
target     prot opt source               destination

Chain ufw-before-logging-output (1 references)
target     prot opt source               destination

Chain ufw-before-output (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ufw-user-output  all  --  anywhere             anywhere

Chain ufw-logging-allow (0 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "

Chain ufw-logging-deny (2 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere             ctstate INVALID limit: avg 3/min burst 10
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-not-local (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type MULTICAST
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type BROADCAST
ufw-logging-deny  all  --  anywhere             anywhere             limit: avg 3/min burst 10
DROP       all  --  anywhere             anywhere

Chain ufw-reject-forward (1 references)
target     prot opt source               destination

Chain ufw-reject-input (1 references)
target     prot opt source               destination

Chain ufw-reject-output (1 references)
target     prot opt source               destination

Chain ufw-skip-to-policy-forward (0 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain ufw-skip-to-policy-input (7 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain ufw-skip-to-policy-output (0 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain ufw-track-forward (1 references)
target     prot opt source               destination

Chain ufw-track-input (1 references)
target     prot opt source               destination

Chain ufw-track-output (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             ctstate NEW

Chain ufw-user-forward (1 references)
target     prot opt source               destination

Chain ufw-user-input (1 references)
target     prot opt source               destination

Chain ufw-user-limit (0 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 5 LOG level warning prefix "[UFW LIMIT BLOCK] "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain ufw-user-limit-accept (0 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain ufw-user-logging-forward (0 references)
target     prot opt source               destination

Chain ufw-user-logging-input (0 references)
target     prot opt source               destination

Chain ufw-user-logging-output (0 references)
target     prot opt source               destination

Chain ufw-user-output (1 references)
target     prot opt source               destination

Une autre idée ?

Hors ligne

#17 Le 15/10/2019, à 08:36

nel23FX

Re : Iptables et proftpd

bonjour,

je déterre le sujet désolé, mais quand tu fait du multiport en iptables tu  dois utiliser  dports avec un s sinon il ne te prends que le premier port inscrit. Sauf erreur de ma part
Concernant proftpd il va te faire une connexion sur 21/tcp (oui ftp quoi)  pour la connexion   ......    mais aussi sur un plage de port annexe avec iptables  genre 1024:65535 pour faire large :-)  . Fait un log de ton iptables tu verra tout de suite quelles trames tcp sont bloquées... C'est un peu ancien  mais bon...

Hors ligne