Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1821 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Sécurité

  Certificat avec serveur FTP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Certificat avec serveur FTP

n°93231
brandtance
Posté le 15-03-2012 à 09:29:47  profilanswer
 

Bonjour,
 
J'ai mis en place sur une Debian un serveur FTP (ProFTPd) avec le module TLS.
 
J'aimerais que la connexion soit le plus sécurisé possible. Et donc mettre en place un système de clé privé / clé publique. Lorsque ma directive TLSVerifyClient est à Off, la connexion avec mon Filezilla fonctionne (paramétré en FTPS). Mais lorsque je passe la directive TLSVerifyClient à On, la connexion avec mon Filezilla échoue.
 
Dans Filezilla j'ai ça :

Code :
  1. Statut : Connexion à x.x.x.x:21...
  2. Statut : Connexion établie, attente du message d'accueil...
  3. Réponse : 220 ProFTPD 1.3.3a Server ready.
  4. Commande : AUTH TLS
  5. Réponse : 234 AUTH TLS exécuté avec succès
  6. Statut : Initialisation de TLS...
  7. Erreur : GnuTLS error -53: Error in the push function.
  8. Erreur : Impossible d'établir une connexion au serveur


 
Et dans le proftpd/tls.log :

Code :
  1. mars 14 16:22:12 mod_tls/2.4.2[4896]: TLSOption EnableDiags enabled, setting diagnostics callback
  2. mars 14 16:22:12 mod_tls/2.4.2[4896]: TLS/TLS-C requested, starting TLS handshake
  3. mars 14 16:22:12 mod_tls/2.4.2[4896]: [info] accepting: before/accept initialization
  4. mars 14 16:22:12 mod_tls/2.4.2[4896]: [info] accepting: SSLv2/v3 read client hello A
  5. mars 14 16:22:13 mod_tls/2.4.2[4896]: [msg] received TLSv1 'ClientHello' Handshake message (106 bytes)
  6. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] accepting: SSLv3 read client hello A
  7. mars 14 16:22:13 mod_tls/2.4.2[4896]: [msg] sent TLSv1 'ServerHello' Handshake message (81 bytes)
  8. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] accepting: SSLv3 write server hello A
  9. mars 14 16:22:13 mod_tls/2.4.2[4896]: [msg] sent TLSv1 'Certificate' Handshake message (881 bytes)
  10. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] accepting: SSLv3 write certificate A
  11. mars 14 16:22:13 mod_tls/2.4.2[4896]: [msg] sent TLSv1 'ServerKeyExchange' Handshake message (397 bytes)
  12. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] accepting: SSLv3 write key exchange A
  13. mars 14 16:22:13 mod_tls/2.4.2[4896]: [msg] sent TLSv1 'CertificateRequest' Handshake message (138 bytes)
  14. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] accepting: SSLv3 write certificate request A
  15. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] accepting: SSLv3 flush data
  16. mars 14 16:22:13 mod_tls/2.4.2[4896]: [msg] received TLSv1 'Certificate' Handshake message (7 bytes)
  17. mars 14 16:22:13 mod_tls/2.4.2[4896]: [msg] sent TLSv1 fatal 'handshake_failure' Alert message (2 bytes)
  18. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] writing: SSL/TLS alert fatal: handshake failure
  19. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] accepting: SSLv3 read client certificate B
  20. mars 14 16:22:13 mod_tls/2.4.2[4896]: [info] accepting: SSLv3 read client certificate B
  21. mars 14 16:22:13 mod_tls/2.4.2[4896]: unable to accept TLS connection: protocol error:
  22. (1) error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate
  23. mars 14 16:22:13 mod_tls/2.4.2[4896]: TLS/TLS-C negotiation failed on control channel
  24. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL sessions attempted: 1
  25. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL sessions established: 0
  26. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL sessions renegotiated: 0
  27. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL sessions resumed: 0
  28. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL sessions in cache: 0
  29. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL session cache hits: 0
  30. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL session cache misses: 0
  31. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL session cache timeouts: 0
  32. mars 14 16:22:13 mod_tls/2.4.2[4896]: [stat]: SSL session cache size exceeded: 0


 
Mon fichier proftpd/tls.conf

Code :
  1. <IfModule mod_tls.c>
  2. TLSEngine on
  3. TLSLog /var/log/proftpd/tls.log
  4. TLSProtocol SSLv23
  5. TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
  6. TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
  7. TLSCACertificateFile /etc/ssl/certs/ca.pem
  8. TLSOptions EnableDiags
  9. TLSVerifyClient off
  10. TLSRequired on
  11. #TLSRenegotiate required off
  12. </IfModule>


 
J'ai importé la clé privé dans Filezilla, mais apparemment cela ne marche pas :/
 
D'avance merci pour les réponses,

mood
Publicité
Posté le 15-03-2012 à 09:29:47  profilanswer
 

n°93239
Je@nb
Modérateur
Kindly give dime
Posté le 15-03-2012 à 11:03:03  profilanswer
 

C'est surtout qu'il te faut un certificat sur ton client là.
Tu fais de l'authentification mutuelle (le client identifie le serveur et le serveur identifie le client)

n°93242
brandtance
Posté le 15-03-2012 à 11:15:13  profilanswer
 

Bonjour Jen@b,
 
Merci pour ta réponse! On est d'accord le problème vient du client... Seulement la je bug sur le fonctionnement...
 
Dans Filezilla, j'importe une clé privée que je génère avec PuttyGen...j'avais oublié de le préciser, mais j'ai tout de même l'erreur :/

n°93243
Je@nb
Modérateur
Kindly give dime
Posté le 15-03-2012 à 11:18:01  profilanswer
 

Faut que tu génères un certificat sur ton client qui soit trusté par ton serveur, pas une clé privée. (même si le certificat at été signé par une clé privée sur ton poste)


Message édité par Je@nb le 15-03-2012 à 11:18:19
n°93246
brandtance
Posté le 15-03-2012 à 11:27:26  profilanswer
 

Je vais faire mon lourd... désolé :/
Sur le serveur Proftpd j'ai généré les clés avec Openssh.
Côté client, qu'est-ce qu'il me reste à faire ? Quand tu dis que je dois générer un certificat qui soit trusté par ton serveur... Comment réalisé cette étape ?
 
Désolé des questions, je bug un peu :/

n°93247
Je@nb
Modérateur
Kindly give dime
Posté le 15-03-2012 à 11:45:24  profilanswer
 

Pourquoi tu génères des clés avec openssh ? C'est quoi le rapport ?
 
Tu as généré un certificat sur ton serveur /etc/proftpd/ssl/proftpd.cert.pem suffit d'en générer un pour client.
Comment générer un certificat bah selon la même méthode que tu as utilisé sur ton serveur

n°93258
brandtance
Posté le 15-03-2012 à 13:06:18  profilanswer
 

Openssl autant pour moi...
Je vais essayer d'être plus clair sur mon problème. Sur mon serveur j'ai fait ça :

Code :
  1. openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/openssl/proftpd.cert.pem -keyout /etc/proftpd/openssl/proftpd.key.pem


 
Est-ce qu'il faut que je récupère un de ces fichiers là ? Ou que j'en génère un nouveau ? J'ai du mal à faire la différence entre ces deux fichiers en fait. J'ai déjà essayer de récuperer les fichiers générés par openssl dans filezilla, il les convertit mais la connexion ne fonctionne toujours pas :/
 
Merci et vraiment désolé de faire le boulet.

n°93259
Je@nb
Modérateur
Kindly give dime
Posté le 15-03-2012 à 13:19:13  profilanswer
 

Ca c'est le certificat du serveur ainsi que sa clé privée.
Il faut que tu regénères un certificat pour ton client. (Filezilla doit aussi avoir une option pour créer un certificat je suppose, mais je connais mal ce client)
 
Tout a l'heure tu parlais de Puttygen, qui est encore du SSH, il y a pas de rapport encore.

n°93260
brandtance
Posté le 15-03-2012 à 13:23:06  profilanswer
 

Ok ok! Bon je vais lire quelque tuto sur Openssl je crois ça m'évitera de poser 50 000 questions car je n'ai pas tout bien compris apparemment.
Mais concrètement est-ce que le certificat pour mon client FTP peut être généré depuis le serveur FTP avec openssl ?

n°93261
Je@nb
Modérateur
Kindly give dime
Posté le 15-03-2012 à 13:24:05  profilanswer
 

Quoi que en fait j'ai pas l'impression que le client filezilla gère les certificats clients en FTPS. Donc non tu ne dois pas pouvoir utiliser filezilla pour te connecter en FTPS avec utilisation des certificats clients.

mood
Publicité
Posté le 15-03-2012 à 13:24:05  profilanswer
 

n°93262
Je@nb
Modérateur
Kindly give dime
Posté le 15-03-2012 à 13:24:58  profilanswer
 

Oui le certificat pour ton client peut être généré depuis le serveur ftp avec openssl (seulement si ton serveur ftp est aussi la CA, chose qui est bof recommandée qd même)

n°93263
brandtance
Posté le 15-03-2012 à 13:27:37  profilanswer
 

Et tu connais la commande a faire avec openssl ? Car je suis un peu perdu entre les genrsa gendsa... :/

n°93265
Je@nb
Modérateur
Kindly give dime
Posté le 15-03-2012 à 13:54:26  profilanswer
 

Là de tête non, faut créer une clé, créer une demande de certificat avec la clé, faire signer le certificat par la CA.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Sécurité

  Certificat avec serveur FTP

 

Sujets relatifs
Installation Serveur MDT 2010Serveur Dell ajout de disque dur et RAID
Réorganisation infrastructure salle serveurBureau à distance sur serveur 2008 R2 Std
Serveur DNSRéseau d'entreprise avec serveur tse
Montage d'un serveur de stockageServeur Nexentastor CE
Plus de sujets relatifs à : Certificat avec serveur FTP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR