Olivier Allard-Jacquin wrote:
> Bonsoir,
>
>Nico a écrit :
>
>
>>Bonjour tout le monde.
>>
>>Voilà, j'ai un serveur ftp qui est lancé sur le port 21000. Afin de
>>faire des tests, je me suis connecté en ssh sur la machine d'un copain
>>et j'ai lancé la commande "ftp mon_IP 21000". Là pas de problèmes, je me
>>connecte, je met mes identifiants et c'est bon.
>>Par contre c'est lorsque je tape la commande "ls" que là ça passe pas =>
>>"500 Illegal PORT command". Je lance mon serveur avec le port 21, et là
>>avec un "ls" pas de problèmes.
>>Donc apparement il associe le port 21 avec cette commande mais je ne
>>comprend pas pourquoi car j'ai pourtant précisé que je voulais me
>>connecter sur le port 21000 ce qu'il semble avoir compris puisque je
>>peux le faire alors qu'en précisant le port 21 ça ne marche pas.
>>
>>Alors par contre quand je passe en mode passif là pas de problème à
>>condition que je désactive le firewall du serveur ... donc le mode
>>passif ne me sert pas à grand chose.
>>
>>Quelq'un a-t-il une explication ?
>>
>>
>
> Oui, beaucoup... ;)
>
>Première chose, tu vas lire cette très bonne doc qui explique le
>protocole FTP : http://christian.caleca.free.fr/ftp.html . C'est en
>Français, et c'est très bien écrit. Tu comprendras ce que sont les modes
>passifs et actifs.
>
>
>
>
>>et j'ai lancé la commande "ftp mon_IP 21000". Là pas de problèmes, je me
>>connecte, je met mes identifiants et c'est bon.
>>
>>
>
> Jusque là, c'est normal, car toutes ces informations ne passent QUE par
>le port 21000 (ou le "21" lorsque tu utilises la configuration standard).
>
>
>
>
>>Par contre c'est lorsque je tape la commande "ls" que là ça passe pas =>
>>"500 Illegal PORT command".
>>
>>
>
>Je dirais que c'est peut-être ton serveur FTP qui a été configuré afin
>de refuser les transmissions en mode ACTIF.
>
>
>
>
>>Je lance mon serveur avec le port 21, et là
>>avec un "ls" pas de problèmes.
>>
>>
>
> Est-ce que ton ami à un firewall ? Si c'est le cas, c'est ce FW qui
>refuse les connexions ("actives") ayant les 3 caractéristiques suivantes :
> - connexions lancées par le serveur FTP
> - depuis le port 20999 du serveur FTP
> - à destination du port, indiqué par la commande "PORT", du client
>
> Si ton ami est sous Linux et qu'il utilise "netfilter" pour se
>protéger, dit-lui :
>- de décharger le module "ip_conntrack_ftp" ("rmmod ip_conntrack_ftp" en
>temps que root)
>- de recharger ce module avec le paramètre ports=21,21000 ("modprobe
>ip_conntrack_ftp ports=21,21000")
>- et là, cela devrait marcher.
>
>
>
>>Donc apparemment il associe le port 21 avec cette commande mais je ne
>>comprend pas pourquoi car j'ai pourtant précisé que je voulais me
>>connecter sur le port 21000 ce qu'il semble avoir compris puisque je
>>peux le faire alors qu'en précisant le port 21 ça ne marche pas.
>>
>>
>
> Les firewall connaissent le protocole FTP. Ceux un peu moderne sont
>capable d'analyser ce qui passe sur le port 21, et ouvrent, coté client,
>les ports à la demande (ceux indiqués par la commande "PORT"). Par
>contre, les moins évolués acceptent tout ce qui arrive depuis le port 20
>(20 = 21 - 1)
>
>
>
>>Alors par contre quand je passe en mode passif là pas de problème à
>>condition que je désactive le firewall du serveur ... donc le mode
>>passif ne me sert pas à grand chose.
>>
>>
>
> Ouaou.... C'est impressionnant comme déduction !!! Bon, je ne vais pas
>me lancer dans une grande explication sur l'intérêt du mode passif (si
>tu étais derrière un routeur qui fait du NAT, tu comprendrais l'intérêt
>! :)), surtout que je j'ai déjà écrit une explication : En attachement,
>tu trouveras 2 extraits d'une doc que j'ai écrit sur la configuration
>de ProFTPD en mode SSL/TLS. Ce n'est que le premier jet de cette doc
>(elle fait 70 pages...), donc il y a quelques corrections à faire. Mais
>si tu lis tout, tu comprendras à quoi sert le mode passif.
>
> A plus,
>
> Olivier
>
>
Ok merci pour les infos :)
Je le lirai dès que j'aurais le temps.
Bon week-end à tous
Nico