[En cours...] Problème FTP mode passif+iptables

Salut,
Voici en gros ce qui arrive, depuis l’activation d’iptables, je n’arrive plus a me connecter au serveur ftp en mode passif, il me jète a chaque fois. (en mode actif ça marche sans problèmes.)
La règle pour le port 20 est activée et il accepte.
La règle pour les ports entre 1024 et 65535 est activée aussi. !!

voici la règle pour le mode passif :

[code]iptables -A INPUT -i eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT[/code]

est-ce que je suis passé a côté d’un truc que je ne vois pas ? et est-ce que la règle est bonne ?

[quote=“dexmon”]
est-ce que je suis passé a côté d’un truc que je ne vois pas ? et est-ec que la règle est bonne ?[/quote]
La recherche sur le forum :wink:
Ca avait déja était traité parceque y a pas besoin d’ouvrir des ports comme tu fais, c’est pas très secure en plus.

Salut,
ben c pas grave puisque le réseau est fermé et il n’y pas de connexion directe de l’extérieur sur cette machine.

Oui mais ca sert à rien de faire ca et c’est plus compliqué comme t’es en train de faire.
Attends je cherche le thread, j’edite des que je trouve

il faut un module sur la passerelle. C’est ip_nat_ftp, ou ip_conntrack_ftp, ou un truc comme ça.

ip_conntrack_ftp
+
ip_conntrack
et si tu as du nat faut rajouter:
ip_nat_ftp

Un truc comme ca quoi :slightly_smiling:

C pas ça qu’il faut faire ?

modprobe ip_nat_ftp modprobe iptable_filter modprobe iptable_nat

?

Ok merci je test !

ça marche, j’ai tappé :

mattotop avait encore raison ! :slightly_smiling:

Dit boris… donne-moi ta méthode !! comment aurais-tu fais pour le mode passif ?

Boriiiiiiiiiiiiiiiiiiiiis ? ça nous interesse tous :wink:

il y a aussi ça :
forums.generation-linux.net/viewtopic.php?pid=76
je n’ai pas encore tester, mais le serveur a bien chargé ces paramètres …

[quote=“dexmon”]ça marche, j’ai tappé :

mattotop avait encore raison ! :slightly_smiling:

Dit boris… donne-moi ta méthode !! comment aurais-tu fais pour le mode passif ?[/quote]Ben si ça marche, quelle est la question ?
Sinon, je regardais les règles iptables, et ça ne marchera pas parceque le ftp-data que tu veux ouvrir n’est pas ESTABLISHED, mais RELATED. Plutot que mettre une règle ESTABLISHED juste sur l’input FTP, fais plutot une règle qui accèpte tout l’input pour toute connection réponse à une connection initiée par ton serveur:

J’ai bien mi la règle mais ça ne marche pas !
il accepte le mode actif mais pas le passif !!

Pour le mode passif, il faut
Sur la passerelle:

  1. autoriser une plage de ports en écoute (INPUT ACCEPT)
  2. diriger cette plage de ports vers le serveur FTP (sans SNAT)
    Sur le serveur FTP:
  3. dire au serveur FTP d’utiliser cette plage de ports. Eventuellement, il faut peut être dire au serveur quelle IP externe il a éventuellement en fonction de l’endroit d’où on vient:

ainsi pour wu-ftpd en réseau local 192.168.1.2, reliée à une passerelle 192.168.1.1 avec une IP extérieure 19.45.21.2 avec les ports 2000 à 2015 redirigés de 192.168.1.1 à 192.168.1.2, les directives sur le serveur sont (dans /etc/wu-ftpd/ftpaccess)

passive address 192.168.1.2 192.168.1.0/24
passive address 19.45.21.2 0.0.0.0/0
passive ports 192.168.1.0/24 1024 65535 
passive ports 0.0.0.0/0 2000 2015

J’avais un peu zappé ce post désolé :blush:
Logiquement passerelle ou client ou serveur, si il y a un linux avec ip_tables et les modules adéquats y a rien a faire en theorie? (j’ai pas ce type de réseau, car euh ben j’ai pas de réseau perso en ce moment :laughing:) Les helpers sont là pour faire le boulot en dynamique et donc sécuriser et simplifier.


Le mode passif repousse le risque d’ouverture de port sur le serveur.
En imaginant une passerelle qui voit passer vers le client une ouverture de port 2024 sur le serveur :Typiquement 227 Entering Passive Mode (192,168,150,90,7,232) , l’ip_table (NAT [et Firewall]) sur cette passerelle doit faire l’ouverture (client->serveur) et la redirection automatique de port et d’adresse : ip_interface_ext(passerelle):port_interface_ext(passerelle)<->ip_serveur:port_serveur)

Ca devrait être automagique :smiling_imp:

Oui mais le problème est lorsque des personnes sont derrière un routeur n’interprétant pas les paquets FTP leur passant devant le nez. Ce que je viens de dire suppose un routeur stupide. Par contre la question dont je ne connais pas la réponse:

En mode passif, le serveur envoit IP de connexion + port. Si il est sur un LAN derrière un parefeu, il va envoyer mettons 192.168.1.1 + 2000 si on ne fait pas attention et le client va initier une connexion vers 192.168.1.1 ce qui est voué à l’échec. Wu-ftpd permet justement de paraméter ça (cf passive addresse). Ce que je ne sais pas, c’est si netfilter (iptables donc) voyant passer la directive 192.168.1.1 + 2000 ouvre non seulement le port 2000 avec redirection vers 192.168.1.1 mais en plus un routage avec SNAT, tout en modifiant le paquet envoyé au client (il rempalcerait 192.168.1.1 + 2000 par 19.45.21.2 +2000). Il faudra que je regarde ce que ça fait dans la pratique. Si ça n’est pas le cas (ce que je pense), il faut quand même paramétrer le serveur wu-ftpd avec les directives passive address pour que le client soit correctement informé de l’IP+port à joindre
.

Oui c’est pour ca que j’ai précisé ip_tables . Sinon Ok pour ta methode oui.