Problem:
We have difficulty trying to connect to our server using a browser. Google Chrome can connect, but Mozilla Firefox cannot. This problem is related to the "Weak Diffie-Hellman and the Logjam Attack" (https://weakdh.org/)
Activity log, sequence of actions we have conducted to try and fix the problem, and things we already know:
- Everything was fine
- Firefox complained about the Weak Diffie-Hellman ephemeral key
- Firefox can no longer access our server
- But, Google Chrome CAN STILL access
- Found out about "Weak Diffie-Hellman and the Logjam Attack" (https://weakdh.org/)
- Tested Firefox using their website, and responded "Good News! Your browser is safe against the Logjam attack."
- Tested Chrome using their website, and it responded that Chrome was vulnerable.
- This explained why we could still access our server using Chrome
- Updated Chrome to the latest version.
- Tested Chrome using weakdh.org, and responded "Good News! Your browser is safe against the Logjam attack."
- Tried accessing our site using Chrome, and it has the same error with Firefox.
- Both Chrome and Firefox can no longer access the site at this point.
- We followed the instruction located at https://weakdh.org/sysadmin.html for Apache Tomcat servers.
- Fix did not work both for Chrome and Firefox, still the same error.
- We followed the instruction at Diffie-Hellman public key error with Tomcat 7
- Fix WORKED for Chrome BUT NOT for Firefox.
- Firefox has error code: ssl_error_bad_cert_alert
- We experimented on lesser number of ciphers but none worked
- Same error for Firefox, still OK for Chrome.
TECHNICAL DETAILS
Certificate:
Signature algorithm: sha256RSA
Signature hash algorithm: sha256
Public key: RSA (2048 Bits)
Thumbprint algorithm: sha1
Environment:
Apache Tomcat 6.0
Java 1.6.0_34
Current server configuration:
<Connector port="443" SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="true" sslProtocol="TLS"
keystoreFile="********.pfx"
keystoreType="PKCS12"
keystorePass="********"
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA"/>