Aller au contenu

Messages recommandés

Bonjour les INpactiens!

Je sollicite humblement vos lumières... En effet, j'entame un nouvel épisode de ma série "I, Web Admin"... Et suite au succès du premier épisode (encore merci à dudul88) voici mon synopsis pour le second épisode (notez les ressemblances avec mon problème précédent, c'est normal: c'est la suite ;-))

Bien, j'ai un serveur dédié chez OVH, avec tooouuuuut plein de VM dessus, en CentOS. L'une sert de pare-feu/proxy, tout ça tout ça, et une seconde (appelons-la "centosftp") est censée être ...un serveur ftp, oui vous suivez, c'est bien! Maintenant, imaginez que je n'arrive pas à m'y connecter depuis l'exterieur (mon poste de travail quoi) Je me suis penché sur la conf du pare-feu. Il me semble correctement configuré, les ports 20 et 21 sont NATés, et voici le resultat:

Je cite FileZilla:

Statut : Connexion établie, attente du message d'accueil...
Réponse : 220 Bienvenue sur le FTP
Commande : USER anonymous
Réponse : 331 Please specify the password.
Commande : PASS **************
Réponse : 230 Login successful.
... bla bla bla ...
Statut : Connecté
Statut : Récupération du contenu du dossier...
Commande : PWD
Réponse : 257 "/"
Commande : TYPE I
Réponse : 200 Switching to Binary mode.
Commande : PASV
Réponse : 227 Entering Passive Mode (192,168,1,*,*,*).
Statut : Le serveur a envoyé une réponse passive avec une adresse non routable. Échec du mode passif.
Commande : PORT 10,0,2,*,*,*
Réponse : 500 Illegal PORT command.
Erreur : Impossible de récupérer le contenu du dossier

Et si je passe mon client Filezilla en mode actif:

TYPE I
Réponse : 200 Switching to Binary mode.
Commande : PASV
Réponse : 227 Entering Passive Mode (192,168,1,*,*,*).
Statut : Le serveur a envoyé une réponse passive avec une adresse non routable. Adresse remplacée par celle du serveur.
Commande : LIST

Pour le fun, j'ai essayé de me connecter à centosftp par une autre VM ("centostest", avec interface graphique et FileZilla) qui est donc toute voisine de centosftp. Ca fonctionne,(et je ne m'y attendais pas!) mais depuis l'exterieur, de l'autre côté du servveur frontal... grrrrr!

Conclusion: qui peut-être le responsable de mon problème de "réponse passive avec une adresse non routable"?

- Le serveur frontal

- Le serveur FTP

- JarJar Binks

- Un autre truc auquel je n'ai pas pensé

L'un de vous à une idée? Merci d'avance.

---edit 1---

Quand je parle de série et de scénario, c'est pour le fun, mais le sujet lui, est sérieux :-D

Si vous avez un doute sur la conf de vsftpd, j'ai suivi ce tuto et recopié le fichier de conf qui y est proposé. J'ai juste autorisé les anonymes car je n'en suis pas encore à configurer des users!

---edit 2---

Après lecture un peu plus attentive de FileZilla, je lis que cela peutêtre dû à une mauvaise réponse du serveur FTp, qui au lieu de renvoyer l'adresse publique, soit celle du proxy, renvoie son adresse locale.

Mais j'avoue que ça s'assombrit dans mon esprit, là... Sniff.

Lien vers le commentaire
Partager sur d’autres sites

Essaie de charger les modules "ip_nat_ftp" et "ip_conntrack_ftp" sur ta passerelle, et force le mode passif pour le FTP. Il se peut que les requêtes soient simplement bloquées par ton firewall

EDIT: il faut aussi bien sûr autoriser les paquets "ESTABLISHED" et "RELATED" pour que ça fonctionne. N'hésite pas à consulter Léa wink.gif

http://forum.hardware.fr/hfr/OSAlternatifs/reseaux-securite/reponse-illegal-port-sujet_51891_1.htm

Lien vers le commentaire
Partager sur d’autres sites

Bien bien bien...

J'ai progressé, merci à vous! ceci dit, je bloque encore (allez, un peu plus loin quand même!)

Commande : PASV
Réponse : 227 Entering Passive Mode (*,*,*,*,45,1).
Commande : LIST
Erreur : Délai d'attente expiré
Erreur : Impossible de récupérer le contenu du dossier

Desormais, même en local (sur la VM qui est dans le même réseau local, la "centostest") je ne parviens plus au bout du compte à utiliser le FTP. Ceci me paraît normal, car en local, le client aimerait voir arriver une adresse genre 192.168.1.x, ce qui n'est plus possible depuis la modif du PASV_ADDRESS. cela dit, j'ai essayé de passer le client de mode actif à passif, et j'ai la même erreur. Ou je m'y suis mal pris?

C'est frustrant car j'ai l'impression que la solution est toute bête :-(

Lien vers le commentaire
Partager sur d’autres sites

C'est vrai, vsftpd n'envoie pas les données sur le port 21. Il faut donc définir au moins un port de donnée qui est routé vers le serveur. Comme tu as routé le port 20 tu peux par exemple l'utiliser, ce qui donnerait ça dans ton vsftpd.conf :

pasv_min_port=20
pasv_max_port=20

En général ce port est utilisé pour les connexions actives, mais ça devrait marché. Sinon le plus souvent c'est une plage de port qui est définie. Un peu de lecture :

http://fr.wikipedia.org/wiki/File_Transfer_Protocol

http://doc.ubuntu-fr.org/vsftpd

Lien vers le commentaire
Partager sur d’autres sites

Après quelques jours de méditation, inspiré par la Force, j'ai essayé de reproduire le réseau de mon serveur entre mes VM en local sur ma bécanne.

Cela fonctionne en local. J'en déduis que la configuration du FTP en elle-même est bonne, mais que je devrais me pencher sur le firewall. Sur celui de mon frontal et celui du serveur lui-même.

Je vous tiens au courant de mes avancées. Si je trouve j'espère que ça servira à un prochain! ;-)

---edit 1---

J'ai desactivé SELinux (pas "permissive" mais bien "disabled") et iptables. Ca ne fonctionne toujours pas. Je me penche donc à nouveau sur la conf iptables du frontal...

Lien vers le commentaire
Partager sur d’autres sites

Bien... je bloque. Je perds espoir en fait.

Je pense (80% de chances) que mon soucis viens d'iptables (sur mon serveur frontal, car sur le FTP il est déjà éteint). J'aurais pu essayer de le désactiver là aussi, mais -idiot!-, il contient aussi les règles de routage, alors c'est sûr mon serveur "il va marcher beaucoup moins bien, forcément!"...

J'ai jeté un oeil à la conf d'iptables. Je vous avoue que c'est relativement obscur pour moi. J'ai donc été l'examiner via webmin, qui est tellement gentil qu'il trie les instructions par domaine (nat, filter, et mangle). Rien ne me choque dans ce que je peux voir. D'où ma question: qu'est-ce-qui peut empêcher FileZilla de lister les dossiers du repertoire?

FZ se connecte au serveur, arrive à s'y loguer, (dialogue correct et bidirectionnel sur le port 21 OK, donc) Est-ce-que NATer le port 20 n'est pas suffisant? Je veux dire, iptables est descativé sur le serveur FTP, et pourtant, je termine toujours lamentablement, comme une otarie dans un canapé, sur ça:

Commande : PASV
Réponse : 227 Entering Passive Mode (*,*,*,*,45,1).
Commande : LIST
Erreur : Délai d'attente expiré
Erreur : Impossible de récupérer le contenu du dossier

Siouplé, m'sieu! éclairez-ma lanterne :'-(

Lien vers le commentaire
Partager sur d’autres sites

dans iptables, tu devrais des règles dans ce goût là (entendu que je passe par le port 4867 au lieu du port 21, que ma plage de ports pour le passif est 60000-60100 et surtout que mon iptables est bien configuré ;) - ce qui semble être le cas). Je copie/colle mon script de création de règles :

# FTP Outiptables -t filter -A OUTPUT -p tcp --dport 4687 -j ACCEPT# FTP Inmodprobe ip_conntrack_ftpiptables -t filter -A INPUT -p tcp --dport 4687 -j ACCEPTiptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -t filter -A INPUT -m state --state NEW -p tcp --dport 60000:60100 -j ACCEPT
Lien vers le commentaire
Partager sur d’autres sites

Je viens d'essayer tes manips'... Sans effet :-( (merci tout de même d'avoir essayé de ma'aider!)

Précisons: étant donné que iptables est desactivé sur mon serveur FTP, j'ai mis ça dans la conf de mon serveur frontal. Remplaçant les ports par ceux que j'ai NATés, bien sûr.

Le desespoir m'envahit... sniff..

Lien vers le commentaire
Partager sur d’autres sites

Essaie de charger les modules "ip_nat_ftp" et "ip_conntrack_ftp" sur ta passerelle, et force le mode passif pour le FTP. Il se peut que les requêtes soient simplement bloquées par ton firewall

EDIT: il faut aussi bien sûr autoriser les paquets "ESTABLISHED" et "RELATED" pour que ça fonctionne. N'hésite pas à consulter Léa wink.gif

http://forum.hardware.fr/hfr/OSAlternatifs/reseaux-securite/reponse-illegal-port-sujet_51891_1.htm

T'a chargé les deux modules ?

Lien vers le commentaire
Partager sur d’autres sites

Oui sinon, tu peux logger ce que bloque iptables histoire d'être sur que le problème vient de là ? :

# Log the rest of the incoming messages (all of which are dropped)# with a maximum of 5 log entries per minuteiptables -A INPUT -m limit --limit 5/minute -j LOG   --log-level 7 --log-prefix "Dropped by firewall: "iptables -A OUTPUT -m limit --limit 5/minute -j LOG  --log-level 7 --log-prefix "Dropped by firewall: "

Si je dis pas de bêtises (je redirige tout ça dans un log spécifique chez moi), ça log dans /var/log/debug ou /var/log/messages (je sais plus), reste plus qu'à trouver les entrées avec un grep et éventuellement augmenter la fréquence de log (genre 15/min)

Lien vers le commentaire
Partager sur d’autres sites

@Krapace:

Parmi les modules chargés, je trouve un nf_nat_ftp ainsi qu'un nf_conntrack_ftp.

S'agit-il de la même chose? D'après un forum sur G.NT, j'en ai déduis que c'était pareil. Ai-je bon?

Pour les types de paquets j'ai :

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

(je peux balancer le lsmod si ça peut faire avancer le schmilblick ;-)

@John Shaft:

Je vais tenter ma chance dans les logs.

En attendant, j'ai réussi à m'y conntecter, mais uniquement via net2ftp. Là je peux lister les reprtoires, accéder aux fichiers et télécharger. Mais pas "téléverser", bien que j'en aie attribué la possibilité à l'utilisateur anonyme avec lequel je me connecte...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...