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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Certificat SSL foireux

n°1107906
Gavrinis
Open your mind
Posté le 27-01-2009 à 16:30:32  profilanswer
 

Bonjour,
 
Je suis en train de mettre en place un serveur Apache 1.3 avec le module SSL, seulement il m'est impossible de me connecter à la page protégée, le problème viendrait du certificat. Je l'ai généré avec l'utilitaire "mod-ssl-makecert". Ceci est une phase de test donc pas la peine de se tracasser d'un point de vue attaque (Man in the middle, ...).

Voici le log :

Code :
  1. [Tue Jan 27 16:07:01 2009] [error] mod_ssl: SSL handshake failed (server admin.domaine.tld:443, client 10.1.1.2) (OpenSSL library error follows)
  2. [Tue Jan 27 16:07:01 2009] [error] OpenSSL: error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate [Hint: No CAs known to server for verification?]


Firefox :

Code :
  1. Ce site essaie de s'identifier lui-même avec des informations invalides.
  2. Mauvais site
  3. Le certificat appartient à un site différent, ce qui pourrait indiquer un vol d'identité.
  4. Identité inconnue
  5. Le certificat n'est pas sûr car il n'a pas été vérifié par une autorié reconnue.


httpd.conf :

Code :
  1. <IfModule mod_ssl.c>
  2. Listen 443
  3. #
  4. # Pass Phrase Dialog : configure the pass phrase gathering process.
  5. #
  6. SSLPassPhraseDialog builtin
  7. #
  8. # Chemin du cache SSL.
  9. #
  10. SSLSessionCache dbm:/var/run/ssl_scache
  11. SSLSessionCacheTimeout 300
  12. #
  13. # Configure le moteur SSL du semaphore employé pour l'exclusion mutuelle des opérations.
  14. #
  15. SSLMutex file:/var/run/ssl_mutex
  16. #
  17. # Configure une ou plusieurs sources pour semer le générateur de nombre pseudo aléatoire (PRNG)
  18. # dans OpenSSL au moment du démarrage et/ou juste avant qu'une nouvelle connexion SSL soit établie.
  19. #
  20. SSLRandomSeed startup builtin
  21. SSLRandomSeed connect builtin
  22. #
  23. # Logging : none, error, warn, info, trace, debug.
  24. #
  25. #SSLLog      /var/log/apache/ssl_engine_log
  26. #SSLLogLevel info
  27. </IfModule>
  28. ### Section 4: Virtual Hosts
  29. #
  30. NameVirtualHost 10.1.1.100:80
  31. <VirtualHost _default_:*>
  32. <Directory />
  33. Order allow,deny
  34. Allow from all
  35. </Directory>
  36. </VirtualHost>
  37. #### admin ####
  38. <VirtualHost 10.1.1.100:443>
  39. ServerName admin.domaine.tld
  40. DocumentRoot /var/www/domaine.tld/admin
  41. SSLEngine on
  42. SSLRequire %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
  43. SSLVerifyClient require
  44. SSLProtocol all
  45. SSLCertificateFile /etc/apache/ssl.crt/server.crt
  46. SSLCertificateKeyFile /etc/apache/ssl.key/server.key
  47. SSLCACertificatePath /etc/apache/ssl.crt
  48. SSLCACertificateFile /etc/apache/ssl.crt/ca.crt
  49. SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
  50. RewriteEngine on
  51. RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
  52. RewriteRule .* - [F]
  53. ErrorLog /var/www/domaine.tld/log/error.log
  54. CustomLog /var/www/domaine.tld/log/access.log combined
  55. </VirtualHost>


Merci :jap:

mood
Publicité
Posté le 27-01-2009 à 16:30:32  profilanswer
 

n°1107986
Profil sup​primé
Posté le 27-01-2009 à 19:38:44  answer
 

Pour que Firefox voit un certificat "sûr" il faut qu'il soit signé par un organisme autorisé (thawte, verisign etc...)
Sinon tu peux l'auto-signer puis dire à Firefox de l'accepter et ça passera, par contre tu as du te tromper en rentrant les infos de la structure du certificat pour avoir "mauvais site" et "identité inconnue".


Message édité par Profil supprimé le 27-01-2009 à 19:39:40
n°1107988
Gavrinis
Open your mind
Posté le 27-01-2009 à 19:48:52  profilanswer
 

Je n'ai fait que suivre l'utilitaire et ce tuto :??:


Message édité par Gavrinis le 27-01-2009 à 19:51:40
n°1108022
Profil sup​primé
Posté le 27-01-2009 à 20:53:28  answer
 

Je n'ai pas dit que la méthode était mauvaise  :non: , j'ai dit que les infos pour le certificat sont probablement pas bonnes. Car si Firefox t'indique "Ce site essaie de s'identifier lui-même avec des informations invalides" ça ressemble à une tentative de connexion sur http://www.truc.com alors que dans le champ Common name tu as rentré www.bidule.com.

n°1108025
Gavrinis
Open your mind
Posté le 27-01-2009 à 20:59:31  profilanswer
 

non pourtant :(, j'ai un nom de domaine fictif qui tourne sur un Bind9 et c'est ce nom de domaine que j'ai mis à Common name. Ce domaine me sert pour le développement.

n°1108027
Profil sup​primé
Posté le 27-01-2009 à 20:59:47  answer
 

Citation :


httpd.conf :

Code :
  1. <IfModule mod_ssl.c>
  2. Listen 443
  3. #
  4. # Pass Phrase Dialog : configure the pass phrase gathering process.
  5. #
  6. SSLPassPhraseDialog builtin
  7. #
  8. # Chemin du cache SSL.
  9. #
  10. SSLSessionCache dbm:/var/run/ssl_scache
  11. SSLSessionCacheTimeout 300
  12. #
  13. # Configure le moteur SSL du semaphore employé pour l'exclusion mutuelle des opérations.
  14. #
  15. SSLMutex file:/var/run/ssl_mutex
  16. #
  17. # Configure une ou plusieurs sources pour semer le générateur de nombre pseudo aléatoire (PRNG)
  18. # dans OpenSSL au moment du démarrage et/ou juste avant qu'une nouvelle connexion SSL soit établie.
  19. #
  20. SSLRandomSeed startup builtin
  21. SSLRandomSeed connect builtin
  22. #
  23. # Logging : none, error, warn, info, trace, debug.
  24. #
  25. #SSLLog      /var/log/apache/ssl_engine_log
  26. #SSLLogLevel info
  27. </IfModule>
  28. ### Section 4: Virtual Hosts
  29. #
  30. NameVirtualHost 10.1.1.100:80
  31. <VirtualHost _default_:*>
  32. <Directory />
  33. Order allow,deny
  34. Allow from all
  35. </Directory>
  36. </VirtualHost>
  37. #### admin ####
  38. <VirtualHost 10.1.1.100:443>
  39. ServerName admin.domaine.tld
  40. DocumentRoot /var/www/domaine.tld/admin
  41. SSLEngine on
  42. SSLRequire %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
  43. SSLVerifyClient require
  44. SSLProtocol all
  45. SSLCertificateFile /etc/apache/ssl.crt/server.crt
  46. SSLCertificateKeyFile /etc/apache/ssl.key/server.key
  47. SSLCACertificatePath /etc/apache/ssl.crt
  48. SSLCACertificateFile /etc/apache/ssl.crt/ca.crt
  49. SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
  50. RewriteEngine on
  51. RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
  52. RewriteRule .* - [F]
  53. ErrorLog /var/www/domaine.tld/log/error.log
  54. CustomLog /var/www/domaine.tld/log/access.log combined
  55. </VirtualHost>


 

:sarcastic:


Message édité par Profil supprimé le 27-01-2009 à 21:47:01
n°1108029
Gavrinis
Open your mind
Posté le 27-01-2009 à 21:03:42  profilanswer
 

Oui c'est mon nom de domaine fictif avec son sous domaine d'administration, je l'ai déjà essayé en Common name mais cela ne change rien.

n°1108040
Profil sup​primé
Posté le 27-01-2009 à 21:46:21  answer
 

Citation :


httpd.conf :

Code :
  1. <IfModule mod_ssl.c>
  2. Listen 443
  3. #
  4. # Pass Phrase Dialog : configure the pass phrase gathering process.
  5. #
  6. SSLPassPhraseDialog builtin
  7. #
  8. # Chemin du cache SSL.
  9. #
  10. SSLSessionCache dbm:/var/run/ssl_scache
  11. SSLSessionCacheTimeout 300
  12. #
  13. # Configure le moteur SSL du semaphore employé pour l'exclusion mutuelle des opérations.
  14. #
  15. SSLMutex file:/var/run/ssl_mutex
  16. #
  17. # Configure une ou plusieurs sources pour semer le générateur de nombre pseudo aléatoire (PRNG)
  18. # dans OpenSSL au moment du démarrage et/ou juste avant qu'une nouvelle connexion SSL soit établie.
  19. #
  20. SSLRandomSeed startup builtin
  21. SSLRandomSeed connect builtin
  22. #
  23. # Logging : none, error, warn, info, trace, debug.
  24. #
  25. #SSLLog      /var/log/apache/ssl_engine_log
  26. #SSLLogLevel info
  27. </IfModule>
  28. ### Section 4: Virtual Hosts
  29. #
  30. NameVirtualHost 10.1.1.100:80
  31. <VirtualHost _default_:*>
  32. <Directory />
  33. Order allow,deny
  34. Allow from all
  35. </Directory>
  36. </VirtualHost>
  37. #### admin ####
  38. <VirtualHost 10.1.1.100:443>
  39. ServerName admin.domaine.tld
  40. DocumentRoot /var/www/domaine.tld/admin
  41. SSLEngine on
  42. SSLRequire %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
  43. SSLVerifyClient require
  44. SSLProtocol all
  45. SSLCertificateFile /etc/apache/ssl.crt/server.crt
  46. SSLCertificateKeyFile /etc/apache/ssl.key/server.key
  47. SSLCACertificatePath /etc/apache/ssl.crt
  48. SSLCACertificateFile /etc/apache/ssl.crt/ca.crt
  49. SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
  50. RewriteEngine on
  51. RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
  52. RewriteRule .* - [F]
  53. ErrorLog /var/www/domaine.tld/log/error.log
  54. CustomLog /var/www/domaine.tld/log/access.log combined
  55. </VirtualHost>




 
=> http://www.modssl.org/docs/2.1/ssl_reference.html
 
SSLVerifyClient
Name:  SSLVerifyClient
Description:  Type of Client Certificate verification
Syntax:  SSLVerifyClient level
Default:  SSLVerifyClient none
Context:  server config, virtual host
Override:  Not applicable
Status:  Extension
Module:  mod_ssl
Compatibility:  mod_ssl 2.0
 
This directive sets the Certificate verification level for the Client Authentication. The following levels are available for level:
 
    * none: no client Certificate is required at all
    * optional: the client may present a valid Certificate
    * require: the client has to present a valid Certificate
    * optional_no_ca: the client may present a valid Certificate
      but has not to be (successfully) verifyable.  
 
In practice only levels none and require are really interesting. Because level optional doesn't work with all browsers and level optional_no_ca is actually against the idea of authentication (but can be used to establish SSL test pages, etc.)

n°1108050
Gavrinis
Open your mind
Posté le 27-01-2009 à 22:24:06  profilanswer
 

J'ai passé "SSLVerifyClient" en none (pour test), j'ai regénéré un nouveau certificat car apparemment y avait un problème avec l'existant.

 

Log :

Code :
  1. [Tue Jan 27 22:16:03 2009] [error] mod_ssl: SSL handshake failed (server admin.domaine.tld:443, client 10.1.1.2) (OpenSSL library error follows)
  2. [Tue Jan 27 22:16:03 2009] [error] OpenSSL: error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate [Hint: Subject CN in certificate not server name or identical to CA!?]


Firefox :

Code :
  1. Vous avez reçu un certificat invalide. Veuillez contacter l'administrateur du serveur ou votre correspondant de messagerie et fournissez-lui les informations suivantes :
  2. Votre certificat contient le même numéro de série qu'un autre certificat émis par l'autorité de certification. Veuillez vous procurer un nouveau certificat avec un numéro de série unique.
  3. (Code d'erreur : sec_error_reused_issuer_and_serial)


Pourtant le ServerName est bien identique au CN du certificat.


Message édité par Gavrinis le 27-01-2009 à 22:24:45
n°1108051
Gavrinis
Open your mind
Posté le 27-01-2009 à 22:37:20  profilanswer
 

J'ai beau faire un certificat Custom en précisant le CN et CA, cela ne change rien :sweat:

mood
Publicité
Posté le 27-01-2009 à 22:37:20  profilanswer
 

n°1108076
Profil sup​primé
Posté le 28-01-2009 à 00:31:38  answer
 

On est d'accord que tu as mis le même CN (common name) que le servername de Apache ?
Tu as bien redémarré Apache après  avoir créé ton nouveau certif ? on sais jamais  :)  
 
Si oui tu peux essayer autrement, tu vires ces certifs et essaye d'en recréer un sans utiliser mod-ssl-makecert mais comme ça =>
 
openssl genrsa -out server.key 1024 # cré une nouvelle clé RSA
 
openssl req -new -x509 -days 365 -key server.key -out server.crt # certificat auto-signé valable 365 jours
 
Et tu les ranges dans ton /etc/apache/ssl.crt/ et /etc/apache/ssl.key/
Et puis montre le contenu du certificat
 
openssl x509 -in server.crt -text -noout

n°1108162
Gavrinis
Open your mind
Posté le 28-01-2009 à 11:27:44  profilanswer
 


Ok je vais essayer :jap:

n°1108174
Gavrinis
Open your mind
Posté le 28-01-2009 à 12:03:37  profilanswer
 

Certificat :

Code :
  1. Certificate:
  2.     Data:
  3.         Version: 3 (0x2)
  4.         Serial Number:
  5.             9e:26:eb:a4:47:20:58:b8
  6.         Signature Algorithm: sha1WithRSAEncryption
  7.         Issuer: C=BE, ST=Namur, L=Gembloux, O=toto, OU=Webmaster, CN=admin.domaine.tld/emailAddress=toto@gmail.com
  8.         Validity
  9.             Not Before: Jan 28 10:50:19 2009 GMT
  10.             Not After : Jan 28 10:50:19 2010 GMT
  11.         Subject: C=BE, ST=Namur, L=Gembloux, O=toto, OU=Webmaster, CN=admin.domaine.tld/emailAddress=toto@gmail.com
  12.         Subject Public Key Info:
  13.             Public Key Algorithm: rsaEncryption
  14.             RSA Public Key: (1024 bit)
  15.                 Modulus (1024 bit):
  16.                     00:db:61:6c:da:37:92:24:df:1d:c6:0d:38:96:5a:
  17.                     fa:1c:36:0f:c6:78:73:0c:90:af:ef:23:80:c8:7b:
  18.                     e1:51:a3:1c:e7:30:ce:11:0c:78:75:07:53:78:bc:
  19.                     2b:28:99:61:54:0e:83:7a:ff:12:a0:a0:13:57:9e:
  20.                     c8:2d:50:13:08:c1:71:52:da:a0:1b:ed:6a:60:ce:
  21.                     ea:61:38:fb:f1:cf:ab:71:08:03:43:bc:b6:2b:15:
  22.                     ba:39:1d:26:77:e3:76:c8:f1:e5:9b:27:69:3f:02:
  23.                     60:3a:fd:47:19:d9:0f:2e:bc:8d:99:2c:7e:6e:92:
  24.                     50:3f:ba:57:18:10:c9:6c:25
  25.                 Exponent: 65537 (0x10001)
  26.         X509v3 extensions:
  27.             X509v3 Subject Key Identifier:
  28.                 7F:41:A6:2A:63:98:F0:19:F9:7E:B2:F0:9D:4B:4E:B3:AC:4E:BE:E0
  29.             X509v3 Authority Key Identifier:
  30.                 keyid:7F:41:A6:2A:63:98:F0:19:F9:7E:B2:F0:9D:4B:4E:B3:AC:4E:BE:E0
  31.                 DirName:/C=BE/ST=Namur/L=Gembloux/O=toto/OU=Webmaster/CN=admin.domaine.tld/emailAddress=toto@gmail.com
  32.                 serial:9E:26:EB:A4:47:20:58:B8
  33.             X509v3 Basic Constraints:
  34.                 CA:TRUE
  35.     Signature Algorithm: sha1WithRSAEncryption
  36.         0b:2e:d7:b6:9e:6d:43:b2:a3:59:c9:6d:80:d4:3f:cd:a4:f7:
  37.         1b:6a:e7:e4:ad:6d:30:94:d7:5a:0b:eb:a2:8e:49:5a:56:6e:
  38.         69:8e:45:ac:08:91:ce:b5:85:4a:36:e5:22:4f:2c:55:af:4a:
  39.         d7:da:72:1c:c1:98:c7:1d:36:bd:72:77:67:34:a4:59:ff:4a:
  40.         62:9c:3b:7b:c5:89:cd:93:e2:1a:6a:a5:d2:8d:a2:a1:80:b3:
  41.         43:5e:be:34:5a:e2:d4:a4:dd:b8:9c:bc:d5:cb:91:40:31:16:
  42.         f4:c0:20:a1:ad:1b:b6:da:b7:6c:fe:5c:f2:5f:be:47:e2:bd:
  43.         72:ba


Firefox :

Code :
  1. Le certificat n'est pas sûr car l'autorité délivrant le certificat n'est pas éprouvée.
  2. Le certificat n'est valide pour aucun nom de serveur.
  3. (Code d'erreur : sec_error_untrusted_issuer)


log :

Code :
  1. [Wed Jan 28 11:52:58 2009] [error] mod_ssl: SSL handshake failed (server admin.domaine.tld:443, client 10.1.1.2) (OpenSSL library error follows)
  2. [Wed Jan 28 11:52:58 2009] [error] OpenSSL: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
  3. [Wed Jan 28 11:53:07 2009] [error] mod_ssl: SSL handshake failed (server admin.domaine.tld:443, client 10.1.1.2) (OpenSSL library error follows)
  4. [Wed Jan 28 11:53:07 2009] [error] OpenSSL: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca

n°1108402
Profil sup​primé
Posté le 28-01-2009 à 21:37:44  answer
 

Citation :


(Code d'erreur : sec_error_untrusted_issuer)[/cpp]
log :

Code :
  1. [Wed Jan 28 11:52:58 2009] [error] mod_ssl: SSL handshake failed (server admin.domaine.tld:443, client 10.1.1.2) (OpenSSL library error follows)
  2. [Wed Jan 28 11:52:58 2009] [error] OpenSSL: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
  3. [Wed Jan 28 11:53:07 2009] [error] mod_ssl: SSL handshake failed (server admin.domaine.tld:443, client 10.1.1.2) (OpenSSL library error follows)
  4. [Wed Jan 28 11:53:07 2009] [error] OpenSSL: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca



Tu es ta propre autorité de certification, donc ton propre CA et dans ton httpd.conf tu as activé la liste des autorités de certification acceptées (et je suppose que tu ne fais pas partie de la liste)

Citation :


#### admin ####
<VirtualHost 10.1.1.100:443>
ServerName admin.domaine.tld
DocumentRoot /var/www/domaine.tld/admin
SSLEngine on
SSLRequire %{SSL_CIPHER_USEKEYSIZE} &gt;= 128
SSLVerifyClient require
SSLProtocol all
SSLCertificateFile /etc/apache/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache/ssl.key/server.key
SSLCACertificatePath /etc/apache/ssl.crt
SSLCACertificateFile /etc/apache/ssl.crt/ca.crt

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
ErrorLog /var/www/domaine.tld/log/error.log
CustomLog /var/www/domaine.tld/log/access.log combined
</VirtualHost>


Regarde si ça viendrais pas de ça.

n°1108550
Gavrinis
Open your mind
Posté le 29-01-2009 à 13:10:32  profilanswer
 

Je ne vois pas trop où se trouve cette liste, le contenu de "ca.crt" se résume à une clef.

n°1108557
Mjules
Modérateur
Parle dans le vide
Posté le 29-01-2009 à 13:29:08  profilanswer
 

si c'est un certificat autosigné, c'est un peu normal le message de firefox vu qu'il ne peut effectivement pas en vérifier la provenance en remontant la chaîne de confiance.

 

colle une exception et tu pourras continuer.


Message édité par Mjules le 29-01-2009 à 13:29:30

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1108630
Gavrinis
Open your mind
Posté le 29-01-2009 à 15:48:42  profilanswer
 

Mais il doit bien y avoir moyen car quand j'utilisais le package Apache-ssl, je n'avais pas de problème.
J'ai essayé avec ce tuto pour me faire passer pour une CA mais cela ne change rien, toujours la même erreur.

n°1108723
Gavrinis
Open your mind
Posté le 29-01-2009 à 17:45:50  profilanswer
 

Nouvelle erreur :

Code :
  1. [Thu Jan 29 17:43:52 2009] [error] [client 10.1.1.2] Invalid method in request \\x800\\x01\\x03

n°1110687
Gavrinis
Open your mind
Posté le 05-02-2009 à 22:55:45  profilanswer
 

[:undertaker666]

n°1111511
Gavrinis
Open your mind
Posté le 09-02-2009 à 17:58:48  profilanswer
 

J'ai essayé avec un certificat Verisign Trial de 14 jours et ça fonctionne, donc ma conf est bonne :) le problème vient donc de mes certificats générés.
Cependant même avec le certif Verisign, il me dit qu'il ne connait pas le CA :??:

n°1111524
Gavrinis
Open your mind
Posté le 09-02-2009 à 19:08:16  profilanswer
 

Cette fois c'est bon avec Verisign :), je vais réessayer en me faisant un CA [:zigg]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
 

Sujets relatifs
Disque foireux, contenu visible que sous linuxLdap + TSL SSL ne fonctionne pas [OPen susE 10.2]
Apache, certificatCertificat SSL FreeBSD/Linux
Probleme SSL-Generation de certificatsFTP sécurisé SSL
Certificat obsolèteGentoo, plan de partitionnement foireux de ma part ?? [résolu]
certificat sous openvpn 
Plus de sujets relatifs à : Certificat SSL foireux


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)