¨Proftpd+SSL attirent les vers de sable - Linux et OS Alternatifs
MarshPosté le 22-10-2005 à 00:30:26
Bonsoir, me revoici avec encore un problème (ça n'arrête pas). Alors voici, ne sachant pas quoi foutre, je me suis dis tiens, pourquoi pas implémenter SSL/TLS sur mon serveur Proftpd qui marche très bien sinon. Je fais ceci :
Je crée donc un joli certificat x509 et une jolie clé privée RSA 1024bits. Puis ensuite je retouche "proftpd.conf" pour prendre en charge SSL/TLS, je rajoute ceci dans la server config :
<IfModule mod_tls.c> TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key.pem TLSEngine on TLSLog /var/log/proftpd-tls.log # Requiert SSL/TLS sur les deux canaux (ctrl et data) TLSRequired on TLSVerifyClient off #TLSOptions NoCertRequest </IfModule>
Après je lance Filezilla sur mon poste WinXP pour faire un test, je précise que le serveur est de type "FTP sur TLS (Chiffrement explicite)" puis j'active aussi le traçage des messages dans le serveur ftp. J'accepte mon joli certificat, et j'arrive parfois à me connecter, souvent au bout de quelques tentatives..Mais pourquoi est-ce aléatoire? Filezilla m'affiche ceci en output lorsque ça bloque :
Etat : Connexion à 192.168.0.1 ... Trace : FtpControlSocket.cpp(5047): m_pSslLayer changed state from 0 to 1 caller=0x003eea64 Trace : FtpControlSocket.cpp(5047): m_pSslLayer changed state from 1 to 2 caller=0x003eea64 Trace : FtpControlSocket.cpp(5047): m_pSslLayer changed state from 2 to 4 caller=0x003eea64 Trace : FtpControlSocket.cpp(921): OnConnect(0) OpMode=1 OpState=-8 caller=0x003eea64 Etat : Connecté avec 192.168.0.1, négotiation de la connexion SSL... Trace : FtpControlSocket.cpp(744): OnReceive(0) OpMode=1 OpState=-8 caller=0x003eea64 Réponse : 220 ProFTPD 1.2.10 Server (Serveur ProFTPD Amber) [192.168.0.1] Commande : AUTH TLS Trace : FtpControlSocket.cpp(744): OnReceive(0) OpMode=1 OpState=-9 caller=0x003eea64 Réponse : 234 AUTH TLS successful Trace : FtpControlSocket.cpp(744): OnReceive(0) OpMode=1 OpState=-10 caller=0x003eea64 Trace : SSL_connect: SSLv3 read server hello A Trace : SSL_connect: SSLv3 read server certificate A Trace : SSL_connect: SSLv3 read server key exchange A Trace : SSL_connect: SSLv3 read server certificate request A Trace : SSL_connect: SSLv3 read server done A Trace : SSL_connect: SSLv3 write client certificate A Trace : SSL_connect: SSLv3 write client key exchange A Trace : SSL_connect: SSLv3 write change cipher spec A Trace : SSL_connect: SSLv3 write finished A Trace : SSL_connect: SSLv3 flush data Trace : SSL_connect: SSLv3 read finished A Trace : Using TLSv1, cipher TLSv1/SSLv3: DHE-RSA-AES256-SHA, 1024 bit RSA Etat : Connexion SSL établie. Attente du message d'accueil... Commande : USER adminftp
Puis ça bloque souvent là (je précise que mon pare-feu laisse tout passer sur mon réseau local).
Sur le serveur l'outil ssldump me renvoit en output pour la même bloquage : (ps : je sais c'est long..)
Voila, ce qui est bizarre c'est que parfois j'arrive à passer ce cap et ça marche nickel, c'est vraiment étrange le fait que cela soit aléatoire.
Sinon il y a aussi des choses étranges, par exemple la directive TLSRequired, lorsque je la passe à "ctrl" pour sécuriser seulement l'authentification sur le canal de contrôle, et bien mes transferts de fichiers continuent d'utiliser SSL..Si parmi vous il existe une sorte de Bene Gesserit ou de prophète pour me montrer la voie(x?)..
Marsh Posté le 22-10-2005 à 00:30:26
Bonsoir, me revoici avec encore un problème (ça n'arrête pas).
Alors voici, ne sachant pas quoi foutre, je me suis dis tiens, pourquoi pas implémenter SSL/TLS sur mon serveur Proftpd qui marche très bien sinon.
Je fais ceci :
openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/proftpd.cert.pem -keyout /etc/ssl/private/proftpd.key.pem
Je crée donc un joli certificat x509 et une jolie clé privée RSA 1024bits.
Puis ensuite je retouche "proftpd.conf" pour prendre en charge SSL/TLS, je rajoute ceci dans la server config :
<IfModule mod_tls.c>
TLSProtocol SSLv23
TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key.pem
TLSEngine on
TLSLog /var/log/proftpd-tls.log
# Requiert SSL/TLS sur les deux canaux (ctrl et data)
TLSRequired on
TLSVerifyClient off
#TLSOptions NoCertRequest
</IfModule>
Après je lance Filezilla sur mon poste WinXP pour faire un test, je précise que le serveur est de type "FTP sur TLS (Chiffrement explicite)" puis j'active aussi le traçage des messages dans le serveur ftp.
J'accepte mon joli certificat, et j'arrive parfois à me connecter, souvent au bout de quelques tentatives..Mais pourquoi est-ce aléatoire?
Filezilla m'affiche ceci en output lorsque ça bloque :
Etat : Connexion à 192.168.0.1 ...
Trace : FtpControlSocket.cpp(5047): m_pSslLayer changed state from 0 to 1 caller=0x003eea64
Trace : FtpControlSocket.cpp(5047): m_pSslLayer changed state from 1 to 2 caller=0x003eea64
Trace : FtpControlSocket.cpp(5047): m_pSslLayer changed state from 2 to 4 caller=0x003eea64
Trace : FtpControlSocket.cpp(921): OnConnect(0) OpMode=1 OpState=-8 caller=0x003eea64
Etat : Connecté avec 192.168.0.1, négotiation de la connexion SSL...
Trace : FtpControlSocket.cpp(744): OnReceive(0) OpMode=1 OpState=-8 caller=0x003eea64
Réponse : 220 ProFTPD 1.2.10 Server (Serveur ProFTPD Amber) [192.168.0.1]
Commande : AUTH TLS
Trace : FtpControlSocket.cpp(744): OnReceive(0) OpMode=1 OpState=-9 caller=0x003eea64
Réponse : 234 AUTH TLS successful
Trace : FtpControlSocket.cpp(744): OnReceive(0) OpMode=1 OpState=-10 caller=0x003eea64
Trace : SSL_connect: SSLv3 read server hello A
Trace : SSL_connect: SSLv3 read server certificate A
Trace : SSL_connect: SSLv3 read server key exchange A
Trace : SSL_connect: SSLv3 read server certificate request A
Trace : SSL_connect: SSLv3 read server done A
Trace : SSL_connect: SSLv3 write client certificate A
Trace : SSL_connect: SSLv3 write client key exchange A
Trace : SSL_connect: SSLv3 write change cipher spec A
Trace : SSL_connect: SSLv3 write finished A
Trace : SSL_connect: SSLv3 flush data
Trace : SSL_connect: SSLv3 read finished A
Trace : Using TLSv1, cipher TLSv1/SSLv3: DHE-RSA-AES256-SHA, 1024 bit RSA
Etat : Connexion SSL établie. Attente du message d'accueil...
Commande : USER adminftp
Puis ça bloque souvent là (je précise que mon pare-feu laisse tout passer sur mon réseau local).
Sur le serveur l'outil ssldump me renvoit en output pour la même bloquage : (ps : je sais c'est long..)
# ssldump
New TCP connection #1: benedict(1840) <-> oberon(21)
1 1 0.1602 (0.1602) C>S SSLv2 compatible client hello
Version 3.1
cipher suites
Unknown value 0x39
Unknown value 0x38
Unknown value 0x35
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
SSL2_CK_3DES
Unknown value 0x33
Unknown value 0x32
Unknown value 0x2f
TLS_RSA_WITH_IDEA_CBC_SHA
SSL2_CK_IDEA
SSL2_CK_RC2
TLS_DHE_DSS_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
SSL2_CK_RC4
SSL2_CK_RC464
TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5
TLS_DHE_RSA_WITH_DES_CBC_SHA
TLS_DHE_DSS_WITH_DES_CBC_SHA
TLS_RSA_WITH_DES_CBC_SHA
SSL2_CK_DES
TLS_DHE_DSS_WITH_RC2_56_CBC_SHA
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA
TLS_RSA_EXPORT1024_WITH_RC4_56_MD5
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
SSL2_CK_RC2_EXPORT40
TLS_RSA_EXPORT_WITH_RC4_40_MD5
SSL2_CK_RC4_EXPORT40
1 2 0.1901 (0.0298) S>C Handshake
ServerHello
Version 3.1
session_id[32]=
f9 80 bd 46 42 99 c6 70 2c e8 0f a4 de 6e e0 1e
81 17 d4 c7 88 ee 8e 49 86 2e 64 b1 47 32 49 cb
cipherSuite Unknown value 0x39
compressionMethod NULL
1 3 0.1901 (0.0000) S>C Handshake
Certificate
1 4 0.1901 (0.0000) S>C Handshake
ServerKeyExchange
1 5 0.1901 (0.0000) S>C Handshake
CertificateRequest
certificate_types rsa_fixed_dh
certificate_types dss_fixed_dh
certificate_types rsa_sign
certificate_types dss_sign
ServerHelloDone
1 6 0.2432 (0.0531) C>S Handshake
Certificate
1 7 0.2432 (0.0000) C>S Handshake
ClientKeyExchange
1 8 0.2432 (0.0000) C>S ChangeCipherSpec
1 9 0.2432 (0.0000) C>S Handshake
1 10 0.2649 (0.0216) S>C ChangeCipherSpec
1 11 0.2649 (0.0000) S>C Handshake
1 12 0.2678 (0.0028) C>S application_data
Voila, ce qui est bizarre c'est que parfois j'arrive à passer ce cap et ça marche nickel, c'est vraiment étrange le fait que cela soit aléatoire.
Sinon il y a aussi des choses étranges, par exemple la directive TLSRequired, lorsque je la passe à "ctrl" pour sécuriser seulement l'authentification sur le canal de contrôle, et bien mes transferts de fichiers continuent d'utiliser SSL..Si parmi vous il existe une sorte de Bene Gesserit ou de prophète pour me montrer la voie(x?)..