Red Hat Enterprise Linux 8 : dh key too small

Rédigé par Nicolas Sulek Aucun commentaire
Classé dans : Système Mots clés : RHEL, SSL, TLS, CentOS
Avec Red Hat Enterprise Linux 8, on peut rencontrer des erreurs de connexions à des services hébergés sur des serveurs plus anciens.

Par exemple, le cas d'un serveur Apache sur RHEL 8 qui se connecte avec SSL ou TLS à un serveur Lemon LDAP hébergé sur une RHEL7 peut entraîner une erreur de ce type :
error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small
Cette erreur implique que lors de l'échange de la clef Diffie-Hellman la taille minimale proposée par RHEL 7 ne correspond pas à la taille attendue par RHEL 8.

Dans la documentation Red Hat, on peut constater que, par défaut, RHEL 8 n'accepte que des clefs DH de taille minimale de 2048 octets.

Deux solutions sont possibles :
  • basculer la partie cryptographie en version compatibilité avec des version antérieures de RHEL
  • créer une politique personnalisée.

Compatibilité avec des versions antérieures

RHEL 8 propose un outil permettant de changer le niveau cryptographique global du système, update-crypto-policies.

On peut ainsi passer du niveau DEFAULT, le niveau par défaut de RHEL 8, à LEGACY, qui permet d'être compatible avec les versions antérieures de RHEL avec :
update-crypto-policies --set LEGACY
suivi d'un redémarrage potentiel.

L'inconvénient est qu'on ne peut pas choisir ce que l'on veut changer. Le niveau global de sécurité est baissé en passant sur LEGACY.
Si on sait précisément quels paramètres ou algorithmes on souhaite modifier, on peut être plus précis en créant une politique personnalisée.

Création d'une politique personnalisée

Les politiques personnalisées sont à créer dans /etc/crypto-policies/policies/modules. Les fichiers doivent avoir leur nom en majuscule et pour extension .pmod.

Dans le cas de l'erreur de la taille de clef DH, le fichier pourrait s'appeler DH.pmod et contenir :
min_dh_size = 1024
Pour ensuite l'appliquer, on utilise de nouveau l'outil update-crypto-policies. On définit ainsi le niveau souhaité, suivi du nom des fichiers contenant les politiques personnalisés sans l'extension :
update-crypto-policies --set DEFAULT:DH
suivi d'un redémarrage potentiel.

Les commentaires sont fermés.