Ein bestandenes dhparam -check fühlt sich wie ein Urteil über das Diffie-Hellman-Setup Ihres VPN an. Das ist es nicht. Der Befehl vergleicht eine Parameterdatei mit der Arithmetik, die sie angeblich erfüllt, und sagt nichts darüber, ob die Gruppengröße zu Ihrer Richtlinie passt oder ob der Tunnel diese Datei überhaupt lädt. Ihn als Sicherheitsprüfung zu lesen, ist die Annahme, die zuerst korrigiert werden sollte.

Eine Parameterdatei enthält eine Primzahl und einen Generator. Gültigkeit ist eine Eigenschaft dieser Zahlen, während Stärke ein Urteil über Ihr Bedrohungsmodell und Ihre Gegenstellen ist, und beides ist nicht austauschbar.

Was die Gültigkeitsprüfung tatsächlich bestätigt

Führen Sie die Prüfung auf der vorhandenen Datei aus und lesen Sie die Antwort. openssl dhparam -in dh.pem -check -noout führt die Parameterprüfungen aus und unterdrückt die codierte Ausgabe. Eine Meldung, die Parameter sähen in Ordnung aus, bedeutet, dass die Werte strukturell stimmig sind; sie bedeutet nicht, dass eine kurze Gruppe in Ihrer Umgebung akzeptabel ist.

Die Erzeugung ohne -dsaparam liefert sichere Primzahlen, bei denen (p-1)/2 ebenfalls prim ist, weshalb es so lange dauert. Der Weg im DSA-Stil baut Parameter schneller auf und wandelt sie in DH-Form um, und das OpenSSL-Handbuch knüpft an deren Verwendung zusätzliche Anforderungen an frische Schlüssel. Keine der beiden Konstruktionen ist ein Sitzungsgeheimnis: Die Datei ist öffentliches Konfigurationsmaterial, nicht der private Schlüssel des Zertifikats und nicht das gemeinsame Geheimnis des Steuerkanals.

Lesen Sie Größe und Generator, bevor Sie die Datei beurteilen

Ein Gültigkeitsergebnis bedeutet mehr, wenn Sie wissen, was geprüft wurde. Geben Sie die Parameter mit openssl dhparam -in dh.pem -text -noout aus und notieren Sie dann die Primzahllänge und den Generatorwert.

Vergleichen Sie diese Länge mit einer schriftlichen Richtlinie statt mit einer Gewohnheit. Wenn Ihre Anforderung eine zugelassene benannte Gruppe aus einem modernen TLS-Stack ist, kann eine von Hand erzeugte Datei das völlig falsche Artefakt sein. Halten Sie beide Zahlen im Änderungsprotokoll fest, damit die nächste Prüfung sie nicht erneut herleiten muss.

Machen Sie aus einer Prüfung keine Neuerzeugung

Der Fehlermodus ist hier ein Befehl, der wie eine Prüfung aussieht und sich wie ein Generator verhält. Das Anhängen einer Bitlänge, wie in openssl dhparam -check 2048, fordert neue Parameter an, und die Eingabedatei wird ignoriert. Eine Generatoroption kann dasselbe bewirken. Wenn Sie nur prüfen wollten, übergeben Sie -in und -check und nichts, was eine Größe beschreibt.

Die Ausgabe über den ursprünglichen Pfad zu schreiben, verdient dasselbe Misstrauen, denn das Handbuch warnt, dass Dateiausgabe nicht atomar ist. Ein Absturz mitten im Schreiben hinterlässt eine abgeschnittene Parameterdatei und einen Dienst, der nicht startet.

Passen Sie die Gruppe an das Protokoll an, nicht an einen Trend

Größenrichtlinie ist eine Entscheidung, die das Werkzeug nicht für Sie lesen kann. Eine Gruppe über einem endlichen Feld mit 2048 Bit ist eine übliche Untergrenze, und größere Gruppen kosten Handshake-Zeit, also wählen Sie die Zahl, die Ihre eigene Baseline nennt, und schreiben Sie sie auf. Weit verbreitete Gruppen sind nicht schwach, weil sie öffentlich sind; Unbekanntheit fügt hier nichts hinzu.

Wo der Stack zugelassene benannte Gruppen unterstützt, folgen Sie dieser dokumentierten Anordnung, statt ungewöhnliche Parameter zu erzeugen, damit sie einzigartig aussehen. Eine benannte Gruppe ist etwas, das eine Gegenstelle erkennen und eine Prüfung nachschlagen kann, was mehr wert ist als eine maßgeschneiderte Datei, die niemand einordnen kann.

Bestätigen Sie, dass das VPN die Datei überhaupt lädt

Eine korrekte Parameterdatei, die kein Prozess liest, ändert nichts. In OpenVPN ist die Serverdirektive dh mit einem Pfad, und Bereitstellungen, die auf ECDH oder TLS 1.3-Schlüsselaustausch setzen, können stattdessen dh none setzen. Prüfen Sie die laufende Konfiguration statt einer Vorlage und bestätigen Sie dann, dass Clients und Gegenstellen dieselbe Konstruktion aushandeln.

Schließen Sie den Kreis mit den Belegen, die Sie wirklich brauchen: die Gruppe, die der Tunnel ausgehandelt hat, die Parameterlänge in der Datei und die Richtlinienzeile, die diese Länge erfüllt. Ein bestandener Test gehört als einzelner Punkt auf diese Liste. Ihn als die ganze Antwort zu behandeln, ist der Weg, auf dem eine kurze Gruppe eine Prüfung übersteht, die sie hätte fangen sollen.

Ähnliche Artikel