Wat openssl dhparam -check verifieert, en wat het mist
Een geslaagde parametercontrole is geen beveiligingsreview. Zie wat het over je DH-bestand bewijst, hoe je de groepsgrootte leest en hoe je regenereren voorkomt.
Slagen voor dhparam -check voelt als een oordeel over de Diffie-Hellman-instelling van je VPN. Dat is het niet. De opdracht vergelijkt één parameterbestand met de rekenkunde waaraan het naar eigen zeggen voldoet, en zegt niets over of de groepsgrootte bij je beleid past of of de tunnel dat bestand überhaupt laadt. Het als beveiligingsreview lezen is de aanname die je het eerst moet corrigeren.
Een parameterbestand bevat een priemgetal en een generator. Geldigheid is een eigenschap van die getallen, terwijl sterkte een oordeel is over je dreigingsmodel en je peers, en die twee zijn niet uitwisselbaar.
Wat de geldigheidscontrole werkelijk bevestigt
Voer de controle uit op het bestand dat je hebt en lees het antwoord. openssl dhparam -in dh.pem -check -noout voert de parametercontroles uit en onderdrukt de gecodeerde uitvoer. Een melding dat de parameters er goed uitzien betekent dat de waarden structureel consistent zijn; het betekent niet dat een korte groep in jouw omgeving acceptabel is.
Genereren zonder -dsaparam levert veilige priemgetallen op, waarbij (p-1)/2 ook priem is, en daarom duurt het zo lang. Het DSA-pad bouwt parameters sneller en zet ze om naar DH-vorm, en de OpenSSL-handleiding verbindt extra eisen voor verse sleutels aan het gebruik ervan. Geen van beide constructies is een sessiegeheim: het bestand is openbaar configuratiemateriaal, niet de privésleutel van het certificaat en niet het gedeelde geheim van het besturingskanaal.
Lees grootte en generator voordat je het bestand beoordeelt
Een geldigheidsresultaat betekent meer als je weet wat er is gevalideerd. Druk de parameters af met openssl dhparam -in dh.pem -text -noout en noteer daarna de priemlengte en de generatorwaarde.
Vergelijk die lengte met een geschreven beleid in plaats van met een gewoonte. Als je eis een goedgekeurde benoemde groep uit een moderne TLS-stack is, kan een handmatig gegenereerd bestand het volledig verkeerde artefact zijn. Noteer beide getallen in het wijzigingslog zodat de volgende beoordelaar ze niet opnieuw hoeft af te leiden.
Maak van een inspectie geen nieuwe generatie
De faalmodus hier is een opdracht die op een controle lijkt en zich als een generator gedraagt. Een bitlengte toevoegen, zoals in openssl dhparam -check 2048, vraagt om nieuwe parameters en het invoerbestand wordt genegeerd. Een generatoroptie kan hetzelfde doen. Als je alleen wilde inspecteren, geef -in en -check en niets dat een grootte beschrijft.
Uitvoer over het oorspronkelijke pad schrijven verdient hetzelfde wantrouwen, want de handleiding waarschuwt dat bestandsuitvoer niet atomair is. Een crash midden in het schrijven laat een afgekapt parameterbestand en een dienst achter die niet start.
Laat de groep bij het protocol passen, niet bij een trend
Groottebeleid is een beslissing die het gereedschap niet voor je kan lezen. Een eindig-veldgroep van 2048 bit is een gangbare ondergrens en grotere groepen kosten handshake-tijd, dus kies het getal dat je eigen basislijn noemt en schrijf het op. Veelgebruikte groepen zijn niet zwak omdat ze openbaar zijn; onbekendheid voegt hier niets toe.
Waar de stack goedgekeurde benoemde groepen ondersteunt, volg die gedocumenteerde regeling in plaats van ongebruikelijke parameters te genereren om ze uniek te laten lijken. Een benoemde groep is iets wat een peer kan herkennen en een beoordelaar kan opzoeken, wat meer waard is dan een maatwerkbestand dat niemand kan classificeren.
Bevestig dat de VPN het bestand überhaupt laadt
Een correct parameterbestand dat geen enkel proces leest, verandert niets. In OpenVPN is de serverrichtlijn dh met een pad, en implementaties die op ECDH of TLS 1.3-sleuteluitwisseling vertrouwen kunnen in plaats daarvan dh none instellen. Controleer de draaiende configuratie in plaats van een sjabloon en bevestig daarna dat clients en peers dezelfde constructie onderhandelen.
Sluit de cirkel met het bewijs dat je echt nodig hebt: de groep die de tunnel heeft onderhandeld, de parameterlengte in het bestand en de beleidsregel waaraan die lengte voldoet. Een geslaagde controle hoort als één item op die lijst. Het als het hele antwoord behandelen is hoe een korte groep een audit overleeft die hem had moeten vangen.