Précédent   Forum des professionnels en informatique > Systèmes > Linux > Sécurité
Sécurité Vos questions sur la sécurité sous Linux/Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2006, 15h36   #1
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 79
Points : 15
Points : 15
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 :
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.
kippix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2006, 04h25   #2
Membre émérite
 
Inscription : août 2003
Messages : 878
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 878
Points : 935
Points : 935
Citation:
Envoyé par kippix
Code :
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é.
__________________
Un problème bien exposé
est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.
David.Schris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2006, 17h03   #3
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 79
Points : 15
Points : 15
Effectivement, cependant j'utilise ip_conntrack

Je récapitule, mes regles

Code :
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
kippix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 11h51   #4
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 79
Points : 15
Points : 15
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
kippix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 15h07   #5
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 79
Points : 15
Points : 15
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
kippix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2007, 18h10   #6
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 79
Points : 15
Points : 15
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

Citation:
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 :
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 :
MasqueradeAddress $IfaceNet
Et non pas MasqueradeAddress $IfaceWAN comme je faisai avant

Erreur Filezilla
Code :
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 ????
kippix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 20h17   #7
Membre émérite
 
Inscription : août 2003
Messages : 878
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 878
Points : 935
Points : 935
Citation:
Envoyé par kippix
Code :
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).
__________________
Un problème bien exposé
est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.
David.Schris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 21h55   #8
Invité de passage
 
Inscription : avril 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 6
Points : 3
Points : 3
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...
picolino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2007, 14h26   #9
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 79
Points : 15
Points : 15
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
kippix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2007, 14h01   #10
Futur Membre du Club
 
Inscription : octobre 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 79
Points : 15
Points : 15
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.
kippix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h20.


 
 
 
 
Partenaires

Hébergement Web