Ma compréhension du FTP sur SSL (ftps) est qu'il ne fonctionne pas bien avec les pare-feu et NAT. Dans une session FTP ordinaire, les informations sur les connexions de données sont lues et modifiées pour NAT par le pare-feu afin que le pare-feu ouvre dynamiquement les ports nécessaires. Si ces informations sont sécurisées par SSL, le pare-feu ne peut pas les lire ni les modifier.
L'utilisation de SFTP, ou scp, facilite considérablement le travail de l'administrateur réseau - tout se passe sur le port 22 du serveur et la transaction suit le modèle client / serveur normal.
Une chose non mentionnée est de savoir si votre pare-feu exécute le NAT et s'il s'agit ou non d'un NAT statique ou d'un NAT dynamique. Si votre ordinateur client a une adresse statique ou est NAT statique, vous n'aurez peut-être pas besoin de modifier le pare-feu, en supposant que vous autorisez tout le trafic sortant et que le serveur fonctionne uniquement en mode passif (PASV).
Pour savoir exactement quels ports vous devrez ouvrir, vous devrez soit:
a) parler au fournisseur pour obtenir des détails sur la configuration de leur système.
b) Utilisez un analyseur de protocole, tel que tcpdump ou wirehark, pour examiner le trafic, à la fois de l'extérieur de votre pare-feu et de l'intérieur de votre pare-feu
Vous devez savoir quel port est la connexion de contrôle. Vous en citez 3, ce qui me semble étrange. En supposant que le serveur ne fonctionne qu'en mode PASV (passif), vous devez comprendre comment le serveur est configuré pour les ports DATA alloués. Ont-ils verrouillé le canal DATA sur un seul port entrant? Ont-ils verrouillé le canal DATA sur une petite plage ou des ports?
Avec ces réponses, vous pouvez commencer à configurer votre pare-feu.
Je crois que les ports autour de 990 étaient pour SSL implicite, qui était une ancienne façon non standard de faire FTP / SSL. La "bonne" façon de nos jours est le SSL explicite, ce qui signifie que vous vous connectez toujours sur le port 21, puis négociez SSL avant d'envoyer vos cadeaux. Pour prendre en charge les connexions via un pare-feu, vous devez utiliser le mode PASV et définir les ports de données à utiliser.
Je pense que vous avez besoin d'au moins un port par connexion de données que vous souhaitez prendre en charge. Si c'est juste vous, vous allez probablement bien n'ouvrir que quelques ports supplémentaires. Spécifiquement pour moi, j'utilise 21000-21010.
Dans vsftpd.conf, j'ai ces deux lignes (avec toutes les autres choses pour prendre en charge SSL):
Sur mon pare-feu, j'ai une IP statique publique avec NAT un à un / statique vers l'IP interne et seuls les ports TCP 21, 21000-21010 sont ouverts.
la source
Je sais que c'est un fil extrêmement ancien, cependant ..
Veuillez noter que SFTP est complètement différent de FTPS. (SSH vs SSL)
FTPS fonctionne de 2 manières. Explicite et implicite. Explicit est moins sécurisé car après la prise de contact initiale saute le chiffrement lors des transferts de données [si le chiffrement des données est maintenu est configurable côté serveur avec PROT P], tandis que l'implicite conserve également le chiffrement des données après la prise de contact. Le port FTPS explicite par défaut est 21. Le port implicite par défaut est 990 (après la prise de contact, il passera automatiquement à 989 pour la transmission de données, s'il n'est pas configuré différemment). Alors que le port 21 est généralement accepté comme EXPLICIT FTPS et 990 comme IMPLICIT FTPS, en réalité, quel que soit le port que vous configurerez, à l'exception de 990/989, conduira à EXPLICIT FTPS tandis que SEULEMENT 990/989 sera accepté comme IMPLICIT FTPS.
Donc, pour répondre à votre question: - selon la configuration du serveur FTPS, vous devrez ouvrir le port 21 ou 990/989. Cependant, juste pour être sûr, vous devez contacter l'administrateur du serveur FTPS et demander des instructions. En outre, gardez à l'esprit que pour le mode passif, comme avec tous les autres logiciels FTP, vous devrez ouvrir des ports supplémentaires (TCP / UDP) généralement quelque chose de la plage 64000-65000.
la source
Fondamentalement, ftps est presque inutile, car vous devez faire des demandes embarrassantes aux administrateurs de pare-feu. Le conseil de limiter les ports à 10 est bon. Bien plus, cela devient pathétique.
sftp est beaucoup mieux en théorie. Mais vous avez besoin d'un serveur sftp viable, par exemple un serveur qui restreint les clients à leur propre répertoire personnel.
En fonction de l'application, envisagez HTTPS. Un téléchargement de fichier est vraiment simple, et un téléchargement l'est évidemment aussi. Si vous scriptez le FTP de toute façon, il sera probablement plus facile de scripter un téléchargement de fichier HTTPS.
Le FTP automatisé est le signe d'un problème de conception. Je l'ai remarqué lorsque je faisais affaire avec une douzaine de fournisseurs au total qui `` nécessitaient '' un endroit où je travaillais pour faire du FTP automatisé (pour des choses TRÈS importantes), et lorsque des dizaines de clients le faisaient avec cette même boutique (un échec de conception pendant environ 20 utilisations distinctes dont j'ai été témoin). Il était facile de convaincre la plupart des gars de l'application d'utiliser HTTPS (généralement à la mention, ils ont dit "attendez, il n'y a aucune raison pour laquelle nous ne les faisons pas simplement obtenir HTTPS à partir du serveur Web sur lequel nous leur fournissons déjà des données?" ), à l'exception de quelques-uns qui ont donné des réponses telles que "eh bien, nous avons déjà ces scripts qui semblent fonctionner, et personne dans notre équipe n'est vraiment bon en script, nous ne pouvons donc pas vraiment apporter de modifications" (une équipe de 5 à 10 programmeurs,
la source
Le vendeur peut être en mesure de configurer une plage de ports étroite pour les ports de connexion DATA, s'ils ne l'ont pas déjà fait. Ensuite, vous pouvez ouvrir la même plage de votre côté, pour les hôtes qui ont besoin d'un tel accès. Le mode PASV doit être utilisé.
la source
Le port 22 est standard car le démon SSH sous UNIX possède un module SFTP que vous pouvez activer pour créer un serveur SFTP explicite. Si vous souhaitez exécuter un serveur FTP implicite avec Filezilla, vous pouvez l'exécuter sur n'importe quel port de votre choix, mais il y a un hic: si vous utilisez le client FileZilla, vous devez spécifier l'URL du site ftp comme ftps: //mysite.com: 8086 plutôt que de placer le port dans le champ de port séparé fourni par le client FileZilla.
Pour l'option explicite, vous n'avez besoin que D'UN seul port: 22. Pour l'option implicite, il vous suffit d'ouvrir le pare-feu pour le port de contrôle: 8086 (qui transfère en interne vers le port 21 sur votre serveur Filezilla).
la source
si ftps est identique à sftp , il vous suffit de pouvoir accéder au port 22 sur le site du vendeur.
De votre côté, vous devez configurer votre pare-feu pour autoriser le port 22 sortant et le trafic entrant associé . Cela permettra la communication sur tout port entrant lié à la connexion sortante initiale sur le port 22.
la source