Red Hat Enterprise Linux 8 : dh key too small
Rédigé par Nicolas Sulek
Aucun commentaire
Classé dans : Système
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 smallCette 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 LEGACYsuivi 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 = 1024Pour 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:DHsuivi d'un redémarrage potentiel.