How to set ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY

I have a website, and recently, chrome began to return this error when trying to access it:

ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY

This is a java + jsp website and it runs on apache tomacat. It also uses Verisign certification, but I read that the error is not related to this certificate.

Thanks for any help.

+6
source share
5 answers

I fixed it as follows: http://support.filecatalyst.com/index.php?/Knowledgebase/Article/View/277/0/workaround-for-tomcat-ssl-tls-logjam-vulnerability

To summarize, I edited server.xml.

In the connection protocol, I changed the property

Protocol="TLS" 

for

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

and added property

 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
source

Your server uses weak Diffie-Hellman keys and therefore may be affected by a Logjam attack. Because of this attack, more browser stacks and TLS are increasing the minimum DH key length to 768 or 1024 bits. It is likely that the version of OpenSSL that you use on your server by default uses a 512-bit DH key, which is too small. You need to fix this by explicitly setting a larger DH key in your server settings. How this is done depends on the server, for more details see the Diffie-Hellman Deployment Guide for TLS .

+2
source

If you have a support contract with Oracle, you can download the latest version of Java 6/7, which boosts DHE encryption to 1024 bits in JSSE.

+1
source

There is a workaround ( warning: this creates a security vulnerability! )

Use this option to trigger chrome:

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

Parameter Explanation:

 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

weakdh.org

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

+1
source

I was able to fix this problem by setting the jdk.tls.ephemeralDHKeySize system property to 1024 (or 2048).

0
source

All Articles