IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

ProFTPD over TLS/SSL | ListError


Sujet :

Sécurité

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut ProFTPD over TLS/SSL | ListError
    Bonjour à tous,

    Je viens de mettre en place un serveur ftp avec proftpd et ce qui me mène à vous est un probleme lié a l'activation de TLS/SSL.

    En effet, je voudrai encapsuler mes données mais cela ne fonctionne pas. Sans l'encapsulation, mon ftp marche bien (traverse bien mon firewall), mais si j'active le <mod_tls.c> dans proftpd.conf, il me fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    [L]  AUTH TLS
    [L]  PBSZ
    [L]  PROT
    [L] 211 End
    [L] PWD
    [L] 257 "/" is current directory.
    [L] TYPE A
    [L] 200 Type set to A
    [L] PROT P
    [L] 200 Protection set to Private
    [L] PASV
    [L] 227 Entering Passive Mode (xxx,x,xx,xx,x,xxx).
    [L] Opening data connection IP: xxx.x.xx.xx PORT: 2480
    [L] Data Socket Error: Connection timed out
    [L] List Error
    Après multiple test a différents point de mon réseau, j'en ai conclu que cela venais de mon filtrage avec iptables.

    Pour info, apres reflexion, j'ai laissé passer les ports suivant 21, 20 + 113 en entrée vers mon serveur.

    Aussi, je n'ai pas activé le ip_conntrack_ftp parce que je n'utilise pas d'ftp actif et que de toute façon mon ftp marche sans ce module et sans TLS donc j'en ai conclu que le probleme ne venais pas de là . Ai-je eu tord?

    Merci.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par kippix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    [...]
    [L] 227 Entering Passive Mode (xxx,x,xx,xx,x,xxx).
    [L] Opening data connection IP: xxx.x.xx.xx PORT: 2480
    [...]
    Après multiple test a différents point de mon réseau, j'en ai conclu que cela venais de mon filtrage avec iptables.

    Pour info, apres reflexion, j'ai laissé passer les ports suivant 21, 20 + 113 en entrée vers mon serveur.
    En mode passif, le serveur écoute sur un port aléatoire supérieur à 1023 (pour les données). Si tu n'acceptes que 21, 20 et 113......(je te laisse terminer)

    Voir : http://slacksite.com/other/ftp.html (ou http://3psilon.info/FTP-Actif-ou-Passif.html pour ce qui semble être un plagiat partiel en français)


    PS : l'intervalle de ports utilisés par le serveur devrait pouvoir être limité.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Effectivement, cependant j'utilise ip_conntrack

    Je récapitule, mes regles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    //IpDmz = Addr Réseau
    //IfaceDmz & IfaceNet = Interface réseau
    //IpServFtp & INetIp = Hote
     
    # conntrack
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    #Autorisation en FORWARD
    iptables -A FORWARD -m state --state NEW -s $IpDmz -p tcp --dport 21 -i $IfaceDmz -o $IfaceNet -j LogAccepT
    iptables -A FORWARD -m state --state NEW -s $IpDmz -p tcp --dport 113 -i $IfaceDmz -o $IfaceNet -j LogAccepT
     
    iptables -A FORWARD -i $IfaceNet -o $IfaceDmz -d $IpServFtp -j LogAccepT
     
    #Redirection en PREROUTING
    iptables -t nat -A PREROUTING -i $IfaceNet  -p tcp --dport 21 -j DNAT --to-desti\
    nation $IpServFtp
     
    #Récriture des paquets en sortie
    iptables -t nat -A POSTROUTING -s $IpDmz -o $IfaceNet -j SNAT --to $INetIp
    Voila j'espere que vous vous ferez une meilleur idée de mon probleme

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    J'ai trouvéééé !!!!!!
    c'est cette regle la qui etait pas bien configuré. En effet, cette regle accept tous les ports vers mon servftp (pas très sécu d'ailleur si je ne m'abuse).

    iptables -A FORWARD -i $IfaceNet -o $IfaceDmz -d $IpServFtp -j LogAccepT

    Et la mais c'est bien sur ! le suivit des connections avec conntrack il est où la hein

    Donc j'ai remplacer par :
    iptables -A FORWARD -i $IfaceNet -o $IfaceDmz -m state --state NEW -p tcp --dport 21 -d $IpServFtp -j LogAccepT

    Ce qui m'a indui en erreur, je pense que c'est la règle si dessous, car je pensai que c'étais à ce niveau que j'autorisait ou non l'accès a mon ftp . Or , j'autorise simplement mon serveurftp a initié les connexions vers l'extérieur et non pas l'inverse !
    iptables -A FORWARD -m state --state NEW -s $IpDmz -p tcp --dport 21 -i $IfaceDmz -o $IfaceNet -j LogAccepT

    Et meme si j'utilisait cette regle:
    iptables -A FORWARD -i $IfaceNet -o $IfaceDmz -d $IpServFtp -j LogAccepT
    Le conntrack n'étais pas activé pour l'initialisation des connexion depuis l'extérieur.

    Voila merci de votre aide

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Fausse joie .

    Ca a fonctionner pour une connexion seulement. Alors comme je fait des test dans tous les sens, je pense que le conntrack a due foiré.
    Enfin bon bizard comme conclusion me direz vous

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Je reviens avec ce probleme parcque le listage des repertoires fonctionne mais celle depend du client ftp.

    FlashFxp Ok
    FilleZilla PasOk


    Alors en vu de mes log et analyse, fillezilla ne passe pas en passif lors de la connection alors que flash oui

    je récapitule mon installation

    Internet ------- livebox avec firewall --------- routeur+iptables --------- serveurFTP
    .................$IfaceWAN................. ........$IfaceNet............$IfaceFtp
    Sur la livebox :

    les passiveports sont bien open et redirigé vers le routeur ainsi que le port 21.

    Sur le routeur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    iptables -t nat -A PREROUTING -i $IfaceNet -p tcp --dport 21 -j DNAT --to-destination $IpServFtp
    iptables -t nat -A PREROUTING -i $IfaceNet -p tcp --dport 65000:65500 -j DNAT --to-destination $IpServFtp
     
    iptables -A FORWARD -i $IfaceNet -o $IfaceFtp -p tcp --dport 21 -d $IpServFtp -j LogAccepT
    iptables -A FORWARD -i $IfaceNet -o $IfaceFtp -p tcp --dport 65000:65500 -d $IpServFtp -j LogAccepT
    Sur le servFtp:

    Proftpd.conf -->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MasqueradeAddress $IfaceNet
    Et non pas MasqueradeAddress $IfaceWAN comme je faisai avant

    Erreur Filezilla
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Etat :    Connecté à www.gtot:21. Attente du message d'accueil...
    Réponse :    220 Gtot.fr
    Commande :    USER olivierb
    Réponse :    331 Password required for olivierb.
    Commande :    PASS ********
    Réponse :    230 Connexion aux FtpFiles Autorise pour olivierb
    Commande :    FEAT
    Réponse :    211-Features:
    Réponse :     MDTM
    Réponse :     REST STREAM
    Réponse :     SIZE
    Réponse :    211 End
    Commande :    SYST
    Réponse :    215 UNIX Type: L8
    Etat :    Connecté
    Etat :    Récupération de la liste de répertoires...
    Commande :    PWD
    Réponse :    257 "/" is current directory.
    Commande :    TYPE A
    Réponse :    200 Type set to A
    Commande :    PORT 192,168,0,27,4,27
    Réponse :    200 PORT command successful
    Commande :    LIST
    Erreur :    Inactivité détectée !
    Erreur :    N'a pas pu récupérer la liste du répertoire
    Voila vous avez ma conf réseau maintenant je pense que vous tomber d'accord sur le fait que le probleme viens du mode passiveport....

    Alors FileZilla a t-il un bug ????

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par kippix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Commande :    PORT 192,168,0,27,4,27
    Je n'ai pas regardé le reste, mais ça c'est du mode actif (en passif, la commande utilisée est PASV).
    Pour ce qui est de savoir si FZ a un bug : à ma connaissance, pas à ce niveau. Je l'utilise en étant derrière des fw/routeurs sans pb (en mode passif).

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Salut,
    Si je ne m'abuse, pour le ftp iptable lit les commandes ftp qui passent pour connaitre les ports utilisée par le serveur quand tu es en mode passif.
    si tu utilise TLS/SSL les paquets sont cryptés donc les commandes ftp ne sont pas lisible par iptable ... donc il ne peut pas savoir vers quel port redirigé les connexions entrante...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    C'est exactement ca le problème ^^

    J'ai donc ouvert une plage de ports sur mon firewall, et dans porftpd j'ai utilisé la directive PassivePort pour configurer mes ports passif !

    Cela fonctionne nikel pour le TLS

    Merci à vous

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    J'ai fait un récapitulatif de mon problème je pense que ca pourrai servir à d'autre





    En effet, le Firewall utilise la translation d’adresse (NAT) et comme nous effectuons un chiffrement des données par TLS sur les connexions FTP, celui-ci est dans l’impossibilité de réécrire les adresses. Pour fonctionner, j’ai donc utilisé la directive MasqueradeAdress qui permet au serveur FTP d’être joignable depuis l’extérieur.

    Mais un autre problème surviens, le Firewall utilise aussi le mode statefull qui permet de filtrer dynamiquement les flux le traversant or comme nous utilisons le chiffrement par TLS, il ne peut donc pas lire les ports utiliser pour les connexion de données. Nous avons donc deux solutions :
    1.Laisser les high ports ouvert, mais cela reviens au même qu’utilisé le mode actif du FTP. Ce qui n’est pas sécurisé car tous ces ports sont ouverts.
    2.Utiliser le mode stateless et configurer le serveur FTP pour qu’il écoute seulement sur une plage de ports définit.

    Nous utiliserons donc la deuxième solution et ajouterons la directive PassivePorts 40000-40100.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Proftpd / FTP over TLS/SSL pour un user/domaine spécifique ?
    Par thibotus01 dans le forum Administration système
    Réponses: 0
    Dernier message: 02/08/2009, 16h30
  2. [C#/ASP.net] FTP over TLS/SSl sous windows
    Par nicO1077 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 20/11/2008, 10h52
  3. connexion a un server mail via TLS/SSL
    Par salim81 dans le forum Sécurité
    Réponses: 1
    Dernier message: 27/08/2007, 01h55
  4. ProFTPD - mode TLS/SSL
    Par Charly94 dans le forum Réseau
    Réponses: 1
    Dernier message: 03/02/2007, 16h19
  5. Site avec espace public & privé & TLS(SSL)
    Par flow38 dans le forum Langage
    Réponses: 1
    Dernier message: 07/08/2006, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo