ProFTPD derrière PfSense
Résolu
IndiaSkeunk
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
brupala Messages postés 112025 Date d'inscription Statut Membre Dernière intervention -
brupala Messages postés 112025 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je viens vers vous aujourd'hui car cela fait maintenant plus d'une semaine que je Try hard sur quelque chose qui devrait être simple ...
Je loue un serveur OVH sous VMware Esxi 6.0. Afin de créer un LAN ayant la possibilité d'accéder à Internet, j'ai fait un petit montage avec un PfSense (dernière version) pour que celui-ci fasse du Nat, tout est OK mon LAN accède à Internet sans problème.
J'ai créé une VM sous Debian 9 pour mettre en place serveur FTP avec ProFTPD, sauf que, IMPOSSIBLE d'y accéder depuis chez moi...
LAN domestique --> Ma box --> INTERNET --> IP publique (WAN PfSense) --> Serveur FTP
CONFIGURATION Serveur :
UseIPv6 off
IdentLookups off
ServerType standalone
etc. pour les configs de base....
DefaultRoot /home/user (celui est bien créé sur mon serveur)
Port 21
PassivePorts 60000 61000
MasqueradeAddress IP WAN de mon PfSense
Toute la partie Anonymous FTP est commentée, je ne m'en sers pas, et j'ai fait le nécessaire sur le serveur pour établir une connexion TLS (clé - certificat).
Sur mon Pfsense, j'ai fait une redirection de port FTP (21) sur l'interface WAN, vers mon serveur FTP, comme vu sur le screenshot 1. La règle de filtrage associé à bien été créé.

Règle associée :

Maintenant depuis FileZilla, j'utilise l'addresse ftpes://x.x.x.x pour initier la connexion TLS, ça passe, j'arrive à me connecter au serveur, sauf que je n'arrive pas à récupérer le contenu du dossier, en l'occurrence /home/user, j'ai l'erreur suivante :

Alors je sais que les données ne sont pas échangées sur le même port que celui qui initie la connexion, le port 21 en l’occurrence. Si je me trompe pas, en mode actif, l'OS utilise le port 20 par défaut. Sauf que, j'ai configuré les "PassivePorts" pour être compris entre 60000 et 61000 sur mon FTP. Déjà ça, est-ce que ça force le mode passif, je ne sais pas ...
En tout cas FileZilla à l'air de tenter le mode passif car dans les paramètres FileZilla j'ai bien choisi le mode de transfert passif.
Vous allez me dire, il suffit de nater les ports 60000-61000 sur le PfSense et c'est OK.. J'ai bien sûr essayé, en vain. Pourquoi ? Déjà on peut voir sur le screenshot de l'erreur filezilla, que le dernier message, "277 entering passive Mode (x.x.x.x, 237, 179)" n'est pas cohérent... Calcul du port : 237*179 = 42423, ce qui est n'est pas compris entre 60000-61000 ... Pourquoi ? :(
Voilà où j'en suis aujourd'hui .. Désolé pour le pâté mais je préfère être précis même si c'est en théorie pas sorcier de mettre en place un FTP naté...
Merci pour votre aide ! Si j'ai oublié un détail faites le moi savoir ! Merci :)
Je viens vers vous aujourd'hui car cela fait maintenant plus d'une semaine que je Try hard sur quelque chose qui devrait être simple ...
Je loue un serveur OVH sous VMware Esxi 6.0. Afin de créer un LAN ayant la possibilité d'accéder à Internet, j'ai fait un petit montage avec un PfSense (dernière version) pour que celui-ci fasse du Nat, tout est OK mon LAN accède à Internet sans problème.
J'ai créé une VM sous Debian 9 pour mettre en place serveur FTP avec ProFTPD, sauf que, IMPOSSIBLE d'y accéder depuis chez moi...
LAN domestique --> Ma box --> INTERNET --> IP publique (WAN PfSense) --> Serveur FTP
CONFIGURATION Serveur :
UseIPv6 off
IdentLookups off
ServerType standalone
etc. pour les configs de base....
DefaultRoot /home/user (celui est bien créé sur mon serveur)
Port 21
PassivePorts 60000 61000
MasqueradeAddress IP WAN de mon PfSense
Toute la partie Anonymous FTP est commentée, je ne m'en sers pas, et j'ai fait le nécessaire sur le serveur pour établir une connexion TLS (clé - certificat).
Sur mon Pfsense, j'ai fait une redirection de port FTP (21) sur l'interface WAN, vers mon serveur FTP, comme vu sur le screenshot 1. La règle de filtrage associé à bien été créé.

Règle associée :

Maintenant depuis FileZilla, j'utilise l'addresse ftpes://x.x.x.x pour initier la connexion TLS, ça passe, j'arrive à me connecter au serveur, sauf que je n'arrive pas à récupérer le contenu du dossier, en l'occurrence /home/user, j'ai l'erreur suivante :

Alors je sais que les données ne sont pas échangées sur le même port que celui qui initie la connexion, le port 21 en l’occurrence. Si je me trompe pas, en mode actif, l'OS utilise le port 20 par défaut. Sauf que, j'ai configuré les "PassivePorts" pour être compris entre 60000 et 61000 sur mon FTP. Déjà ça, est-ce que ça force le mode passif, je ne sais pas ...
En tout cas FileZilla à l'air de tenter le mode passif car dans les paramètres FileZilla j'ai bien choisi le mode de transfert passif.
Vous allez me dire, il suffit de nater les ports 60000-61000 sur le PfSense et c'est OK.. J'ai bien sûr essayé, en vain. Pourquoi ? Déjà on peut voir sur le screenshot de l'erreur filezilla, que le dernier message, "277 entering passive Mode (x.x.x.x, 237, 179)" n'est pas cohérent... Calcul du port : 237*179 = 42423, ce qui est n'est pas compris entre 60000-61000 ... Pourquoi ? :(
Voilà où j'en suis aujourd'hui .. Désolé pour le pâté mais je préfère être précis même si c'est en théorie pas sorcier de mettre en place un FTP naté...
Merci pour votre aide ! Si j'ai oublié un détail faites le moi savoir ! Merci :)
A voir également:
- Pfsense ftp proxy
- Core ftp - Télécharger - Téléchargement & Transfert
- Typsoft ftp server - Télécharger - Téléchargement & Transfert
- Le proxy necessite un nom d'utilisateur et un mot de passe ✓ - Forum Google Chrome
- Le proxy http est utilisé par le navigateur mais ne peut pas l'être par les autres applications ✓ - Forum Réseaux sociaux
- Proxy google 8.8.8.8 port - Guide
5 réponses
Salut,
le calcul du port ça n'est pas 237*179,
c'est (237*256)+179, ce qui donne 60851 donc bien dans la plage.
Je pense que le souci c'est de commencer par du ftps (TLS) qui est un casse tête à forwarder.
Commence tes tests par du ftp simple.
Le souci est que le routeur nat (pfsense) ne sait pas interpréter le contenu de la réponse à PASSV pour la bonne raison qu'elle est cryptée.
il faudrait configurer dans le nat le forwarding statique de la plage 60000 61000 vers ton serveur.
C'est toujours sorcier de mettre en place un ftp derrière un nat, surtout en ftps.
Si tu veux la jouer tranquille, tu fais du sftp (sur ssh) c'est facile comme tout sur du linux où le serveur ssh est naturel.
Par contre, il faut les comptes utilisateur.
le calcul du port ça n'est pas 237*179,
c'est (237*256)+179, ce qui donne 60851 donc bien dans la plage.
Je pense que le souci c'est de commencer par du ftps (TLS) qui est un casse tête à forwarder.
Commence tes tests par du ftp simple.
Le souci est que le routeur nat (pfsense) ne sait pas interpréter le contenu de la réponse à PASSV pour la bonne raison qu'elle est cryptée.
il faudrait configurer dans le nat le forwarding statique de la plage 60000 61000 vers ton serveur.
C'est toujours sorcier de mettre en place un ftp derrière un nat, surtout en ftps.
Si tu veux la jouer tranquille, tu fais du sftp (sur ssh) c'est facile comme tout sur du linux où le serveur ssh est naturel.
Par contre, il faut les comptes utilisateur.
[UP] Petit test : j'ai refait toute l'installation en créant une nouvelle VM sous Debian avec ProFTPD configuré de manière très basique. J'ai juste changé le nom du serveur je crois et dé-commenter le champs "DefaultRoot" (valeur = ~). En FTP local cela fonctionne.
J'ai bien entendu changé mes règles NAT pour rediriger vers la bonne IP (nouveau FTP de test), mais toujours rien en FTP ... Voici le screen :

Il y a décidement quelque chose qui m'échappe ...
J'ai bien entendu changé mes règles NAT pour rediriger vers la bonne IP (nouveau FTP de test), mais toujours rien en FTP ... Voici le screen :

Il y a décidement quelque chose qui m'échappe ...
Ah d'accord ! J'utilisais uniquement le mode de connexion rapide..
J'ai testé plus de paramètres avec le gestionnaire de site :




ça marche ! Ce n'est pas sécurisé mais ça marche !!! Wtf je suis persuadé que c'est l'encodage, je cherchais justement a forcer en UTF-8 ... Parce qu'il me semble que la connexion rapide utilise ASCII ... Tu me diras j'ai rien forcé du tout avec cette configuration .. Mais ça marche.
C'était peut-être l'histoire du Proxy ?
Je vais tenter de remettre tout ça en liaison TLS :)
J'ai testé plus de paramètres avec le gestionnaire de site :




ça marche ! Ce n'est pas sécurisé mais ça marche !!! Wtf je suis persuadé que c'est l'encodage, je cherchais justement a forcer en UTF-8 ... Parce qu'il me semble que la connexion rapide utilise ASCII ... Tu me diras j'ai rien forcé du tout avec cette configuration .. Mais ça marche.
C'était peut-être l'histoire du Proxy ?
Je vais tenter de remettre tout ça en liaison TLS :)
Screenshot 2 : "Ignorer le proxy"... Alors je sais pas ce que ça implique ...
Bon par contre j'ai reconfiguré TLS sur ma Debian et ça ne passe pas, pour les mêmes raisons que la dernière fois, la commande MLSD ne passe pas (avec le port 60416).. Alors que j'ai forward les ports 60000-61000 ...
Je suis juste passé en "Connexion FTP sur TLS explicite si disponible"..
[UP] Pour info, j'ai suivi le tuto suivant :
https://memo-linux.com/comment-installer-un-serveur-ftp-securise-sous-debian-squeeze/
Bon par contre j'ai reconfiguré TLS sur ma Debian et ça ne passe pas, pour les mêmes raisons que la dernière fois, la commande MLSD ne passe pas (avec le port 60416).. Alors que j'ai forward les ports 60000-61000 ...
Je suis juste passé en "Connexion FTP sur TLS explicite si disponible"..
[UP] Pour info, j'ai suivi le tuto suivant :
https://memo-linux.com/comment-installer-un-serveur-ftp-securise-sous-debian-squeeze/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
[UP] J'ai rien touché à ma configuration, j'ai suivi un tuto :
http://arobaseinformatique.eklablog.com/mise-en-place-d-un-serveur-ftp-avec-proftpd-a105781016
Très bien expliqué. Toute la configuration je l'avait déjà mise en place .. J'ai simplement changé le mode de connexion en "FTP sur TLS explicite".. Et ça marche.
On est d'accord que dans ce cas la connexion TSL est établie via le port 21 et qu'ensuite, vu que je suis en mode passif, je passe par les ports passifs ? (je n'ai pas d'infos vu que ça marche j'ai pas de logs).
Peut-on les afficher quand même dans FileZilla ?
http://arobaseinformatique.eklablog.com/mise-en-place-d-un-serveur-ftp-avec-proftpd-a105781016
Très bien expliqué. Toute la configuration je l'avait déjà mise en place .. J'ai simplement changé le mode de connexion en "FTP sur TLS explicite".. Et ça marche.
On est d'accord que dans ce cas la connexion TSL est établie via le port 21 et qu'ensuite, vu que je suis en mode passif, je passe par les ports passifs ? (je n'ai pas d'infos vu que ça marche j'ai pas de logs).
Peut-on les afficher quand même dans FileZilla ?
Merci pour la correction du calcul de port ! Je calculais n'importe quoi en effet.. C'est mieux comme ça !
Bon j'ai fait plusieurs test en suivant la ligne de ta réponse.
J'ai tout d'abord nater les ports 60000-61000 sur la WAN du PfSense vers le FTP, bon comme j'avais déjà essayé j'avais peu d'espoir. J'ai également ajouté le port 20, donc actuellement les ports 20-21 et la plage 60000-61000 sont natés vers le FTP (les règles associées ont bien été créé).
J'ai ensuite tenté de désactiver le TLS via le fichier /etc/proftpd/tls.cons en passant le champs "TLSRequired" à OFF. Fichier enregistré et service FTP redémarré. Sauf que ça n'a pas bougé .. Filezilla ouvre une liaison TLS même en ftp://x.x.x.x ....
Et petit bonus, je me suis dit je vais quand même retester en local, et là, exactement la même erreur que d'habitude (screenshot erreur filezilla).. Ouverture de la liaison TLS (alors que je suis en FTP basic) et impossible de récupérer le contenu du dossier ...
J'avoue que là je commence a ne plus savoir où chercher ... Est-ce qu'un problème d'encodage est envisageable ? FileZilla est en ASCII, j'ai pas trouvé pour forcer en UTF-8 ...
Des idées ?
[UP] J'ai désactiver le moteur TLS dans /etc/proftpd/tls.conf, j'ai enlevé les paramètres TLS dans /etc/proftpd/proftp.conf ... Mais toujours une ouverture de TLS....