Ce que vérifie openssl dhparam -check, et ce qu’il laisse passer
Réussir un contrôle de paramètres n’est pas un audit de sécurité. Voyez ce qu’il prouve sur votre fichier DH, comment lire la taille du groupe et comment éviter une régénération.
Réussir dhparam -check donne l’impression d’un verdict sur la configuration Diffie-Hellman de votre VPN. Ce n’en est pas un. La commande compare un fichier de paramètres à l’arithmétique qu’il prétend satisfaire, et elle ne dit rien sur la conformité de la taille du groupe à votre politique ni sur le fait que le tunnel charge réellement ce fichier. La lire comme un audit de sécurité est l’hypothèse qu’il faut corriger en premier.
Un fichier de paramètres contient un nombre premier et un générateur. La validité est une propriété de ces nombres, tandis que la solidité est un jugement sur votre modèle de menace et vos pairs, et les deux ne sont pas interchangeables.
Ce que le contrôle de validité confirme vraiment
Lancez le contrôle sur le fichier dont vous disposez et lisez la réponse. openssl dhparam -in dh.pem -check -noout effectue les contrôles de paramètres et supprime la sortie encodée. Un message indiquant que les paramètres semblent corrects signifie que les valeurs sont structurellement cohérentes ; il ne signifie pas qu’un groupe court est acceptable dans votre environnement.
La génération sans -dsaparam produit des nombres premiers sûrs, où (p-1)/2 est aussi premier, d’où la durée. La voie de style DSA construit des paramètres plus vite et les convertit en forme DH, et le manuel OpenSSL attache des exigences supplémentaires de clés neuves à leur usage. Aucune des deux constructions n’est un secret de session : le fichier est un matériau de configuration public, ni la clé privée du certificat ni le secret partagé du canal de contrôle.
Lisez la taille et le générateur avant de juger le fichier
Un résultat de validité veut dire davantage quand vous savez ce qui a été validé. Affichez les paramètres avec openssl dhparam -in dh.pem -text -noout, puis notez la longueur du nombre premier et la valeur du générateur.
Comparez cette longueur à une politique écrite plutôt qu’à une habitude. Si votre exigence est un groupe nommé approuvé d’une pile TLS moderne, un fichier généré à la main peut être l’artefact complètement inadapté. Notez les deux nombres dans le journal des changements pour que le prochain relecteur n’ait pas à les redériver.
Ne transformez pas une inspection en régénération
Le mode de défaillance ici est une commande qui ressemble à un contrôle et se comporte comme un générateur. Ajouter une longueur en bits, comme dans openssl dhparam -check 2048, demande de nouveaux paramètres et le fichier d’entrée est ignoré. Une option de générateur peut faire de même. Si vous vouliez seulement inspecter, passez -in et -check et rien qui décrive une taille.
Écrire la sortie par-dessus le chemin d’origine mérite la même méfiance, car le manuel avertit que l’écriture de fichier n’est pas atomique. Un plantage en cours d’écriture laisse un fichier de paramètres tronqué et un service qui ne démarrera pas.
Faites correspondre le groupe au protocole, pas à une mode
La politique de taille est une décision que l’outil ne peut pas lire à votre place. Un groupe de corps fini de 2048 bits est un plancher courant et les groupes plus grands coûtent du temps de poignée de main, alors choisissez le chiffre que nomme votre propre référence et écrivez-le. Les groupes très utilisés ne sont pas faibles parce qu’ils sont publics ; l’obscurité n’ajoute rien ici.
Là où la pile prend en charge des groupes nommés approuvés, suivez cette disposition documentée au lieu de générer des paramètres inhabituels pour les faire paraître uniques. Un groupe nommé est quelque chose qu’un pair peut reconnaître et qu’un relecteur peut rechercher, ce qui vaut plus qu’un fichier sur mesure que personne ne peut classer.
Confirmez que le VPN charge bel et bien le fichier
Un fichier de paramètres correct qu’aucun processus ne lit ne change rien. Dans OpenVPN, la directive serveur est dh avec un chemin, et les déploiements qui s’appuient sur ECDH ou sur l’échange de clés TLS 1.3 peuvent plutôt définir dh none. Vérifiez la configuration en cours plutôt qu’un modèle, puis confirmez que les clients et les pairs négocient la même construction.
Bouclez la boucle avec les preuves dont vous avez réellement besoin : le groupe négocié par le tunnel, la longueur des paramètres dans le fichier et la ligne de politique que cette longueur satisfait. Un contrôle réussi figure dans cette liste comme un seul élément. Le traiter comme la réponse entière, c’est ainsi qu’un groupe court survit à un audit censé l’attraper.