Skip to content

SSL TLS Diffie‐Hellman Modulus = 1024 Bits (Logjam)

Fabien edited this page May 22, 2024 · 1 revision

Overview

Using Diffie-Hellman key exchange with a modulus of 1024 bits or less (commonly known as the Logjam vulnerability) exposes SSL/TLS sessions to increased risk of interception by attackers capable of breaking the weaker encryption.

  • Severity: High

Impact

  • Decryption of Secure Traffic: Allows attackers to potentially decrypt past and future SSL/TLS sessions.
  • Man-in-the-Middle Attacks: Facilitates eavesdropping on encrypted communications.
  • Undermined Data Integrity and Confidentiality: Threatens the security guarantees that SSL/TLS protocols are supposed to provide.

Cause

This vulnerability stems from:

  • Legacy Encryption Support: Maintaining compatibility with older systems that use weaker encryption standards.
  • Default Configurations: Systems and software that default to 1024-bit keys without requiring stronger configurations.

Solution

Upgrading to Stronger Key Sizes:

To mitigate this vulnerability and secure SSL/TLS implementations:

  1. Increase Diffie-Hellman Key Size:

    • Configure servers to use a Diffie-Hellman modulus of at least 2048 bits. This adjustment requires changes in the SSL/TLS configuration files on your server.
  2. Update Server Configurations:

    For Apache:

    SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256- 
    GCM-SHA384
    SSLProtocol All -SSLv2 -SSLv3
    SSLHonorCipherOrder On
    # Ensure DH parameters are larger than 2048 bits
    SSLDHParameters /path/to/dhparams.pem

    For Nginx:

    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM- 
    SHA384';
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_dhparam /path/to/dhparams.pem;
  3. Generate Strong DH Parameters:

    • Use OpenSSL to generate a new DH parameters file with a larger key size:

      openssl dhparam -out dhparams.pem 2048

Examples

Verifying the Security of the Configuration:

Test your server’s SSL/TLS configuration using:

openssl s_client -connect yourdomain.com:443 -cipher 'DHE-RSA-AES256-GCM-SHA384'

Ensure that the connection uses the new, stronger parameters.

References

Additional Resources

Microsoft Related Vulnerabilities

SSL/TLS Related

OpenSSL Related Vulnerabilities

Apache Related Vulnerabilities

Java/Oracle Related Vulnerabilities

Miscellaneous Vulnerabilities

Miscellaneous

  • Template -> Use this template for new vulnerabilities
Clone this wiki locally