web-dev-qa-db-fra.com

Comment réparer SSL_ERROR_WEAK_SERVER_EPHEMERAL_DH_KEY

J'ai un site Web et récemment chrome a commencé à renvoyer cette erreur en essayant d'y accéder:

ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY

C'est un site Web Java + jsp fonctionnant sur Apache Tomacat. Il utilise également la certification Verisign, mais j'ai lu que l'erreur n'était pas liée à ce certificat. 

Merci pour toute aide.

6
Kal

Je l'ai corrigé comme suit: http://support.filecatalyst.com/index.php?/Knowledgebase/Article/View/277/0/workaround-for-Tomcat-ssl-tls-logjam-vulnerability

Pour résumer, j'ai édité server.xml.

Sur le protocole du connecteur, j'ai changé la propriété

Protocol="TLS"

for

sslEnabledProtocols="TLSv1, TLSv1.1, TLSv1.2" 

et ajouté la propriété

ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, 
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA, 
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256, 
TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
3
Kal

Votre serveur utilise des clés Diffie-Hellman faibles et pourrait donc être affecté par l'attaque Logjam . En raison de cette attaque, de plus en plus de piles de navigateur et TLS augmentent la longueur minimale de la clé DH à 768 ou 1024 bits. La version OpenSSL que vous utilisez sur votre serveur utilise probablement une clé DH de 512 bits par défaut, ce qui est trop petit. Vous devez résoudre ce problème en définissant explicitement une clé DH plus grande dans la configuration de votre serveur. La procédure à suivre dépend du serveur. Voir Guide de déploiement de Diffie-Hellman pour TLS pour plus de détails.

2
Steffen Ullrich

Il existe une solution de contournement (warning: cela crée une vulnérabilité de sécurité!)

Utilisez ce paramètre lors du lancement de chrome:

--cipher-suite-blacklist=0x0088,0x0087,0x0039,0x0038,0x0044,0x0045,0x0066,0x0032,0x0033,0x0016,0x0013

Explication des paramètres:

0x0088 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
0x0087 TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
0x0039 TLS_DHE_RSA_WITH_AES_256_CBC_SHA
0x0038 TLS_DHE_DSS_WITH_AES_256_CBC_SHA
0x0044 TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
0x0045 TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
0x0066 TLS_DHE_DSS_WITH_RC4_128_SHA
0x0032 TLS_DHE_DSS_WITH_AES_128_CBC_SHA
0x0033 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
0x0016 TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
0x0013 SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

Sources: 

learncisco.net

productforums.google.com

faih.org

chromium.googlesource.com/.../sslproto.h

1
Paweł Prażak

Si vous avez un contrat de support avec Oracle, vous pouvez télécharger la dernière version de Java 6/7, qui élève le cryptage DHE à 1024 bits dans JSSE.

1
Yuhong Bao

J'ai pu résoudre ce problème en définissant la propriété système jdk.tls.ephemeralDHKeySize sur 1024 (ou 2048).

0
Tom Hennen