OVH Cloud OVH Cloud

Mode FTP Passif

20 réponses
Avatar
Den's
Bonsoir !
Suite a de nombreux probleme de FTP, je viens de me rendre compte que le
mode FTP passif, necessite l'ouverture de ports
40000 a 55000 (????).
Ma question est donc : quel sont les ports INDISPENSABLEs à ouvrir ?

Merci
@+
Denis

--
*** Attention adresse anti-spam
*** Warning address modified for SPAM protection
---Pour toute reponse remplacer "youpi" par "yahoo"
---For any answer, replace "youpi" by "yahoo"

10 réponses

1 2
Avatar
Erwan David
"Den's" écrivait :

Bonsoir !
Suite a de nombreux probleme de FTP, je viens de me rendre compte que le
mode FTP passif, necessite l'ouverture de ports
40000 a 55000 (????).
Ma question est donc : quel sont les ports INDISPENSABLEs à ouvrir ?


C'est dynamique...

Avatar
Eric Razny
"Den's" a écrit dans le message de
news:buju6m$bgs$
Bonsoir !
Suite a de nombreux probleme de FTP, je viens de me rendre compte que le
mode FTP passif, necessite l'ouverture de ports
40000 a 55000 (????).
Ma question est donc : quel sont les ports INDISPENSABLEs à ouvrir ?


Désolé de répondre a une question par une autre question mais :

OS+FW? (statefull ou non entre autre)

Tu es du côté serveur ou client?
FTP ou FTP/SSL (auquel cas le fw statefull est un peu emmerdé...)

Eric.

Avatar
Jean-Marc Salis
Bonjour,

Le mode passif est nécessaire lorsqu l'on traverse un FireWall.

Le principe est le suivant avec FTP: le client ouvre une connexion sur
le port 21 du serveur avec un No de port donné dynamiquement pour la
réponse par le portmapper.

Lorsqu'on envoie une commande du style "dir", "ls", "get", etc. le
serveur ouvre une deuxième connexion dans l'autre sens. C'est là que le
bas blesse si la connexion doit traverser un FireWall car ce dernier va
bloquer la communication.

C'est pourquoi on utilise le mode passif, ainsi le serveur donne sa
réponse sur la même connexion qui a été ouverte par le client et peut
ainsi traverser le FireWall.

Il n'est donc pas nécessaire d'ouvrir de ports supplémentaires, sauf si
l'on veut autoriser l'accès à un serveur derrière le FireWall.

Salutations.

--
Jean-Marc
-----------------
Jean-Marc Salis
Ch. du Cèdre 3b
1030 Bussigny

Tel.: +41 21 702 23 46
E-Mail:
Avatar
Leo Wauters
On 21 Jan 2004 14:56:16 GMT, "Den's" wrote:

Bonsoir !
Suite a de nombreux probleme de FTP, je viens de me rendre compte que le
mode FTP passif, necessite l'ouverture de ports
40000 a 55000 (????).
Ma question est donc : quel sont les ports INDISPENSABLEs à ouvrir ?
bah, en théorie, tous les ports supérieurs à 1024 (ou 4096, je sais

plus).
C'est sur quoi comme machine ? desktop ? passerlle ? serveur ? machine
à laver ?
Avec quel OS / marque de lessive ?

Léo.

Avatar
Cedric Blancher
Dans sa prose, Jean-Marc Salis nous ecrivait :
Le principe est le suivant avec FTP: le client ouvre une connexion sur le
port 21 du serveur avec un No de port donné dynamiquement pour la
réponse par le portmapper.


Ça n'a rien à voir avec le portmapper. C'est le fonctionnement classique
des sockets IP.

Lorsqu'on envoie une commande du style "dir", "ls", "get", etc. le
serveur ouvre une deuxième connexion dans l'autre sens. C'est là que
le bas blesse si la connexion doit traverser un FireWall car ce dernier
va bloquer la communication.


Sauf si le firewall implémente un filtrage à états complet, auquel cas,
il est capable d'extraire de la première connexion les paramètres de la
seconde et donc la laisser passer. C'est le cas de tous les pare-feu
modernes, mêmes les Soho à pas cher qu'on trouve chez l'assembleur de
coin.

--
Est-ce que quelqu'un pourrait me dépanner ?
cause j'ai posé ma clope sur mon cd n°1 de ma ditrib suse professionnel
7.0 .... et comme il est non fumeur, il a pas trop supporté.
-+- root in GFA : "Les CD brûlent, se consumment, et SuSE" -+-

Avatar
Jacques Caron
Salut,

On 21 Jan 2004 14:56:16 GMT, Den's wrote:

Suite a de nombreux probleme de FTP, je viens de me rendre compte que le
mode FTP passif, necessite l'ouverture de ports
40000 a 55000 (????).
Ma question est donc : quel sont les ports INDISPENSABLEs à ouvrir ?


Si le filtrage se fait uniquement par numéro de ports, tous: il n'y a à ma
connaissance aucune restriction sur le numéro de port que le serveur peut
utiliser.

Il est donc conseillé, au choix:
- d'utiliser un firewall qui sache interpréter le contenu de la connexion
FTP et ouvrir les ports qui vont bien dynamiquement
- de laisser passer toutes les connexion TCP établies "de l'intérieur"
- de ne pas utiliser FTP mais SFTP ou d'autres protocoles mieux conçus.

Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/

Avatar
Jacques Caron
Salut,

On 21 Jan 2004 16:38:06 GMT, Jean-Marc Salis
wrote:

Le principe est le suivant avec FTP: le client ouvre une connexion sur
le port 21 du serveur avec un No de port donné dynamiquement pour la
réponse par le portmapper.


Portmapper n'a rien à voir là-dedans. Le port source est donné
dynamiquement comme pour n'importe quelle connexion UDP ou TCP non
associée à un port particulier.

C'est pourquoi on utilise le mode passif, ainsi le serveur donne sa
réponse sur la même connexion qui a été ouverte par le client et peut
ainsi traverser le FireWall.


Non. Il y a toujours une deuxième connexion, la différence avec le mode
"actif" (traditionnel), c'est que cette connexion se fait dans le même
sens que la première (du client vers le serveur), sur un port que le
serveur indique au moment de l'envoi de la commande "PASV".

Il n'est donc pas nécessaire d'ouvrir de ports supplémentaires, sauf si
l'on veut autoriser l'accès à un serveur derrière le FireWall.


Si on filtre les ports autorisés en sortie, oui, il faudrait ouvrir des
ports de destination. Mais comme ils sont dynamiques, ce n'est pas
trivial, il faut un firewall qui sache "lire" le contenu de la connexion
FTP pour savoir quel autre port ouvrir.

Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/

Avatar
Zean
bonsoir,

Lorsqu'on envoie une commande du style "dir", "ls", "get", etc. le
serveur ouvre une deuxième connexion dans l'autre sens. C'est là que le
bas blesse si la connexion doit traverser un FireWall car ce dernier va
bloquer la communication.

C'est pourquoi on utilise le mode passif, ainsi le serveur donne sa
réponse sur la même connexion qui a été ouverte par le client et peut
ainsi traverser le FireWall.


C'est pas exactement ça en fait...

en ftp, ton client ouvre une connexion vers le serveur sur le port 21 dans
99,99% des cas. Cette connexion est la connexion pour faire transiter les
commandes et les réponses associées: par exemple le login, le password et le
serveur te répond OK ou pas OK...
Dès lors que tu vas transférer des données suite à dir ou ls ou get, il va
falloir ouvrir une seconde connexion pour faire transiter les données. Et là il
y a deux cas:

1- FTP actif: le client envoie une commande au serveur qui précise qu'il (le
client) se met en écoute sur un port N.
Le serveur va alors se connecter à ton client sur ce port et le transfert
commence...
En général, le port N du client est tiré au hasard supérieur à 1024, mais par
contre le port du serveur est en principe le port 20. Dans ce cas tu dois avoir
les règles suivantes dans ton FW:
pour la connexion commande: Client port>1024 autorisé vers serveur port!
pour la connexion données: serveur port autorisé vers client port>1024

Ce mode est dit actif car c'est le serveur qui ouvre la connection pour les
données.

Ce mode est pas top pour la sécurité car tu autorises des connexions entrantes
sur une grande plage de ports ( tout ce qui est > à 1024)...


2- FTP passif: cette fois la connexion pour le transfert des données sera
ouverte par le client vers le serveur. Le serveur est donc passif.
Lorsque que tu fais un get ou un dir, le client précise au serveur qu'il veut
fonctionner en mode passif, et le serveur lui répond sur quel port le client
doit l'appeler.

Dans ce cas tu dois avoir les règles suivantes dans ton FW:
pour la connexion commande: Client port>1024 autorisé vers serveur port!
pour la connexion données: Client port>1024 autorisé vers serveur port>1024

Dans ce cas tu n'as que des connexions sortantes de ta machine mais vers à peut
près tous les ports du serveur...


Bon courage,
Jean



Il n'est donc pas nécessaire d'ouvrir de ports supplémentaires, sauf si
l'on veut autoriser l'accès à un serveur derrière le FireWall.

Salutations.

--
Jean-Marc
-----------------
Jean-Marc Salis
Ch. du Cèdre 3b
1030 Bussigny

Tel.: +41 21 702 23 46
E-Mail:


Avatar
Cedric Blancher
Dans sa prose, Zean nous ecrivait :
1- FTP actif: le client envoie une commande au serveur qui précise qu'il
(le client) se met en écoute sur un port N. Le serveur va alors se
connecter à ton client sur ce port et le transfert commence...
En général, le port N du client est tiré au hasard supérieur à 1024,


En général, il utilise le port immédiatement supérieur à celui
utilisé pour la connexion de commandes (s'il est libre).

mais par contre le port du serveur est en principe le port 20.


Plus généralement, c'est le port immédiatement inférieur à son port
d'écoute principal.

--
BOFH excuse #86:

Runt packets

Avatar
Cedric Blancher
Dans sa prose, Xavier nous ecrivait :
Oui, ben c'est pas encore le cas d'IPFilter.


Ben c'est con, hein...

Et pf, il fait comment ?


Ben idem, il chiale.

En gros, tu as deux solutions. Soit tu fais un gros trucs bien goret avec
ipnat pour utiliser le proxy FTP intégré, soit tu rediriges le trafic
vers un proxy FTP en userland.

--
Je souhaiterais essayer Internet Explorer 4.0 sous Linux.
Il existe 2 versions: une sous HP/UX et une sous Solaris
Laquelle dois je utiliser?
-+- MJM in Guide du linuxien pervers : "Choisir son environnement" -+-


1 2