Le principe du FTP passif est de transmettre au client FTP le port sur lequel il doit contacter le serveur.
En mode actif, on transmet le port sur lequel le client va être contacté par le serveur. D'un point de vue TCP, le serveur FTP est client en mode actif, et serveur en mode passif, ce qui augmente la charge côté CPU, c'est pour cela que le mode passif n'est pas toujours accepté par les serveurs anonymes.
Le mode passif permet donc de transformer la connexion FTP-Data entrante en connexion sortante du point de vue du firewall. Ce cas correspond donc aux firewall stateless, qui sont incapables de suivre le déroulement de la session FTP et ne font que bloquer le trafic entrant.
Pour que cela fonctionne, il faut normalement tout laisser sortir dans le sens LAN->WAN.
Ce n'est pas trop grave pour la sécurité de ce qui entre, mais en cas d'infection par un troyen, le mal est fait et la connexion entrante sera autorisée puisqu'elle fera suite à une connexion sortante autorisée.
Et là c'est nettement plus grave à mon avis.
Il doit être possible de limiter les ports à utiliser en sortie (déjà supérieurs à 1024) en restreignant la plage ouverte. Mais je pense qu'en cherchant du côté du module de suivi de connexion (conntrack) d'iptables on devrait pouvoir trouver une configuration adaptée au mode passif, ou alors définir une règle autorisant la sortie si l'adresse IP demandé/demandeur est déjà dans une session établie en FTP.
J'ai trouvé un très bon document sur iptables chez Christian Caleca (comme tout ce qu'il publie sur son site, vraiment très clair) à l'adresse suivante :
http://christian.caleca.free.fr/pdf/Net ... tables.pdf
Tu devrais pouvoir trouver comment jouer avec les états pour n'autoriser en sortie que ce qui est relatif à une connexion déjà acceptée.
Jacques