Шта проверава openssl dhparam -check и шта пропушта
Успешна провера параметара није безбедносни преглед. Погледајте шта доказује о вашој DH датотеци, како да читате величину групе и како да избегнете поновно генерисање.
Пролаз кроз dhparam -check осећа се као пресуда о подешавању Diffie-Hellman вашег VPN-а. Није. Наредба пореди једну датотеку параметара са аритметиком коју наводно задовољава, и не говори ништа о томе да ли величина групе одговара вашој политици или да ли тунел уопште учитава ту датотеку. Читати је као безбедносни преглед је претпоставка коју прво треба исправити.
Датотека параметара садржи прост број и генератор. Валидност је особина тих бројева, док је снага процена о вашем моделу претњи и вашим партнерима, и то двоје није заменљиво.
Шта провера валидности заиста потврђује
Покрените проверу на датотеци коју имате и прочитајте одговор. openssl dhparam -in dh.pem -check -noout извршава провере параметара и потискује кодирани излаз. Порука да параметри изгледају исправно значи да су вредности структурно доследне; то не значи да је кратка група прихватљива у вашем окружењу.
Генерисање без -dsaparam даје безбедне просте бројеве, где је и (p-1)/2 прост, због чега то траје тако дуго. Пут у стилу DSA гради параметре брже и претвара их у DH облик, а OpenSSL приручник на њихово коришћење везује додатне захтеве за свеже кључеве. Ниједна од две конструкције није сесијска тајна: датотека је јавни конфигурациони материјал, не приватни кључ сертификата и не заједничка тајна контролног канала.
Прочитајте величину и генератор пре него што процените датотеку
Резултат валидности значи више када знате шта је проверено. Испишите параметре помоћу openssl dhparam -in dh.pem -text -noout, а затим забележите дужину простог броја и вредност генератора.
Упоредите ту дужину са писаном политиком, а не са навиком. Ако је ваш захтев одобрена именована група из модерног TLS стека, ручно генерисана датотека може бити потпуно погрешан артефакт. Запишите оба броја у запис промена, да следећи рецензент не мора поново да их изводи.
Не претварајте проверу у поновно генерисање
Режим отказа овде је наредба која изгледа као провера, а понаша се као генератор. Додавање битне дужине, као у openssl dhparam -check 2048, тражи нове параметре и улазна датотека се игнорише. Опција генератора може да учини исто. Ако сте само хтели да погледате, проследите -in и -check и ништа што описује величину.
Писање излаза преко оригиналне путање заслужује исту сумњу, јер приручник упозорава да излаз у датотеку није атомски. Пад током писања оставља скраћену датотеку параметара и сервис који се неће покренути.
Усагласите групу са протоколом, а не са трендом
Политика величине је одлука коју алат не може да прочита уместо вас. Група коначног поља од 2048 бита је уобичајен доњи праг, а веће групе коштају време руковања, зато изаберите број који наводи ваша сопствена основна линија и запишите га. Широко коришћене групе нису слабе зато што су јавне; незнање овде ништа не додаје.
Где стек подржава одобрене именоване групе, следите тај документовани распоред уместо да генеришете необичне параметре да би изгледали јединствено. Именована група је нешто што партнер може да препозна и рецензент да потражи, што вреди више од датотеке по мери коју нико не може да класификује.
Потврдите да VPN уопште учитава датотеку
Исправна датотека параметара коју ниједан процес не чита не мења ништа. У OpenVPN-у серверска директива је dh са путањом, а поставке које се ослањају на ECDH или TLS 1.3 размену кључева могу уместо тога да поставе dh none. Проверите конфигурацију која ради, а не шаблон, затим потврдите да клијенти и партнери преговарају исту конструкцију.
Затворите круг доказима који вам заиста требају: група о којој је тунел преговарао, дужина параметара у датотеци и линија политике коју та дужина задовољава. Успешна провера је једна ставка на том списку. Третирати је као цео одговор је начин на који кратка група преживи ревизију која је требало да је ухвати.