Service client Facturation :

Du lundi au vendredi :
9:00 - 18:00 Heure CET

Assistance technique :

Du lundi au vendredi :
9:00 - 18:00 Heure CET

Système de commande/émission de certificats :

24/7

Actualités

SSL a reçu une clé Diffie-Hellman éphémère faible : comment résoudre ce problème ?

SSL received a weak ephemeral Diffie Hellman key  how to solve this problem

Dans certains cas, par exemple lorsque le certificat SSL n’est pas correctement installé sur le serveur, le message d’avertissement suivant apparaît dans le navigateur : une erreur s’est produite lors de la connexion à www.site.com. SSL a reçu une clé Diffie-Hellman éphémère faible dans le message d’établissement de liaison « Exchange keys server ». (Code d’erreur : ssl_error_weak_server_ephemeral_dh_key).

  • La page que vous essayez d’ouvrir ne peut pas être affichée car l’authenticité des données reçues n’a pas pu être vérifiée.
  • Veuillez contacter le propriétaire du site web pour l’informer de ce problème.

Ce problème est dû au fait que le serveur essaie d’établir une connexion sécurisée en utilisant une clé de chiffrement faible (moins de 1024 bits). La taille recommandée de la clé de chiffrement est de 2048 bits. Le moyen le plus simple de générer ce type de clé de chiffrement améliorée consiste à utiliser OpenSSL :

Openssl dhparam -out dhparams.pem 2048

Pour résoudre le problème avec différents serveurs, suivez les étapes ci-dessous :

  1. Spécifiez des jeux de chiffrement sécurisés
  2. Définissez les paramètres appropriés pour l’algorithme Diffie-Hellman

Solution pour Apache :

Les paramètres SSL peuvent être définis globalement dans le fichier httpd.conf ou dans des hôtes virtuels spécifiques.

Jeux de chiffrement

Désactivez la prise en charge de SSLv2 et SSLv3 et activez la prise en charge de TLS en autorisant/désactivant explicitement certains chiffrements dans l’ordre indiqué :

SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

SSLHonorCipherOrder   on

Paramètres Diffie-Hellman :

Dans les versions récentes d’Apache (2.4.8 et supérieures), ainsi qu’OpenSSL 1.0.2 et supérieures, vous pouvez spécifier directement un fichier avec les paramètres Diffie-Hellman :

SSLOpenSSLConfCmd DHParameters "{path to dhparams.pem}"

Si vous utilisez Apache avec LibreSSL ou travaillez avec des versions d’Apache 2.4.7 ou OpenSSL 0.9.8a ou supérieures, vous pouvez ajouter les paramètres Diffie-Hellman générés précédemment à la fin de votre fichier de certificat.

Réinitialisez la configuration :

Sudo service apache2 reload

La solution pour Nginx

Dans le bloc serveur de la configuration du site (/etc/nginx/sites-enabled/default), ajoutez ce qui suit :

Jeux de chiffrement :

ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';

ssl_prefer_server_ciphers on;

Paramètres Diffie-Hellman

Ssl_dhparam {path to dhparams.pem}

Rechargez la configuration :

Sudo nginx -s reload

Microsoft IIS

1. Ouvrez l’éditeur d’objets de stratégie de groupe (exécutez gpedit.msc dans la ligne de commande).

2. Accédez à « Configuration ordinateur », « Modèles d’administration », « Réseau », puis cliquez sur « Paramètres de configuration SSL ».

3. Dans la section « Paramètres de configuration SSL », ouvrez le paramètre « Ordre des suites de chiffrement SSL ».

4. Définissez des chiffrements stables. La liste des chiffrements peut être consultée sur le site web de Microsoft ou sur la page Mozilla.

Lighttpd

Des modifications sont apportées à /etc/lighttpd/lighttpd.conf.

Jeux de chiffrement :

ssl.cipher-list = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA "

Paramètres Diffie-Hellman

Ssl.dh-file = "{path to dhparams.pem}"

Réinitialisez la configuration :

Sudo service lighttpd restart

Apache Tomcat

Dans le fichier server.xml (pour JSSE)

Jeux de chiffrement :

<Connector

ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_SHA256,TLS_ECDHE_RSA_WITH_AES_128_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_SHA,TLS_ECDHE_RSA_WITH_AES_256_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_SHA384,TLS_ECDHE_RSA_WITH_AES_256_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_SHA,TLS_DHE_RSA_WITH_AES_128_SHA256,TLS_DHE_RSA_WITH_AES_128_SHA,TLS_DHE_DSS_WITH_AES_128_SHA256,TLS_DHE_RSA_WITH_AES_256_SHA256,TLS_DHE_DSS_WITH_AES_256_SHA,TLS_DHE_RSA_WITH_AES_256_SHA"

/>

Remarque : pour utiliser les chiffrements AES 256 bits, vous devez installer JCE Unlimited Strength Jurisdiction Policy Files. Vous pouvez le trouver en cliquant sur le lien suivant.

Postfix SMTP

Les deux paramètres doivent être spécifiés dans /etc/postfix/main.cf.

Jeux de chiffrement :

smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CBC3-SHA, KRB5-DES, CBC3-SHA

Paramètres Diffie-Hellman

smtpd_tls_dh1024_param_file = ${config_directory}/dhparams.pem

Réinitialisez la configuration :

sudo postfix reload

Sendmail

Des modifications peuvent être apportées dans la section LOCAL_CONFIG du fichier /etc/mail/sendmail.mc

Jeux de chiffrement :

O CipherList=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

Paramètres Diffie-Hellman

O DHParameters={path to dhparams.pem}

Réinitialisez la configuration :

sudo service sendmail restart

Dovecot

Des modifications peuvent être apportées à /etc/dovecot.conf

Jeux de chiffrement :

ssl_cipher_list=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

ssl_prefer_server_ciphers = yes (Dovecot 2.2.6 ou supérieur)

Paramètres Diffie-Hellman :

#regenerates every week

ssl_dh_parameters_length = 2048

Réinitialisez la configuration :

sudo doveadm reload

HAProxy

Des modifications sont apportées à la section globale du fichier config.

Jeux de chiffrement :

ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

Paramètres Diffie-Hellman :

Ajouter au bas du fichier .crt avec le paramètre Diffie-Hellman généré avec OpenSSL.

Remarque : malgré l’option tune.ssl.default-dh-param, qui vous permet de spécifier la taille maximale des nombres premiers utilisés pour DHE, placer des paramètres arbitraires dans votre fichier de certificat écrasera ces valeurs.

Réinitialisez la configuration :

sudo haproxy -f haproxy.cfg -p $(</var/run/haproxy-private.pid) -st $(</var/run/haproxy-private.pid)

Amazon Elastic Load Balancing

Le dernier ensemble de paramètres SSL prédéfinis (2015-05) utilise des chiffrements ECDHE, et non DHE, qui résistent à l’attaque LogJam. Les détails peuvent être trouvés dans la documentation.

OpenSSH

Le protocole SSH est protégé des attaques LogJam, lorsqu’un attaquant peut faire basculer une connexion vers un chiffrement plus faible. Cependant, de nombreuses implémentations SSH, y compris OpenSSH, utilisent des nombres premiers, par exemple Oakley Group 2 1024 bits. Il existe toutefois plusieurs façons de résoudre ce problème. La première méthode, et la plus simple, consiste à amener les clients à utiliser l’algorithme Diffie-Hellman sur des courbes elliptiques. En particulier, la courbe 25519. Vous pouvez le faire en définissant des algorithmes d’échange de clés :

KexAlgorithms curve25519-sha256@libssh.org

Si vous souhaitez continuer à prendre en charge l’algorithme Diffie-Hellman non elliptique, vous devez désactiver la prise en charge du Groupe 1 en supprimant diffie-hellman-group1-sha1. Vous pouvez laisser diffie-hellman-group14-sha1, qui utilise des nombres premiers de 2038 bits.

Vous pouvez également générer de nouveaux groupes Diffie-Hellman :

ssh-keygen -G moduli-2048.candidates -b 2048

ssh-keygen -T moduli-2048 -f moduli-2048.candidates

Vous devrez ensuite installer le moduli-2048 dans votre fichier système moduli. Dans Debian/Ubuntu, il se trouve dans /etc/ssh/moduli. SSH sélectionne (de manière aléatoire) les groupes de ce fichier. Vous devez donc ajouter les nouveaux groupes générés au fichier moduli en supprimant les anciens.

Si vous avez des questions ou des préoccupations à ce sujet, n’hésitez pas à contacter l’équipe d’assistance de LeaderTelecom en utilisant les coordonnées indiquées sur ce site web.


Êtes-vous prêt pour un essai ?


Oui ! Faisons-le gratuitement !

Vous avez des questions ?
Appelez-nous maintenant au +31 20 7640722