ca md too weak: перавыпусціць сертыфікат ці знізіць узровень?
Памылка называе дайджэст подпісу, які кліент цяпер адхіляе, а не слабы пароль. Выберыце паміж перапыпускам ланцуга, запытам да ўладальніка і зніжэннем палітыкі.
OpenVPN-кліент, які працаваў у мінулым месяцы, цяпер падае пры запуску з ca md too weak, а профіль на дыску байт у байт той самы, што працаваў. Паведамленне тычыцца подпісу на сертыфікаце цэнтра сертыфікацыі, а не шыфра даных, дайджэста auth ці пароля ўліковага запісу. Тры ўмовы вызначаюць, ці рашэнне — гэта новыя ідэнтыфікацыйныя матэрыялы, новы ланцуг ці свядомае змяненне палітыкі. Прайдзіце іх па парадку, і вы пазбегнеце звычайнага выніку, калі тунель вяртаецца за кошт аслаблення кожнага TLS-злучэння на хосце.
Што насамрэч называе памылка
OpenSSL уздымае гэтую памылку праверкі, калі будуе ланцуг, калі сертыфікат, які дзейнічае як CA, мае дайджэст подпісу, які ўзровень бяспекі бібліятэкі больш не прымае. MD5 адхіляецца на прадвызначаным узроўні, а SHA-1 адхіляецца, як толькі ўзровень падвышаны. Дайджэст канцавога сертыфіката тут важнейшы за дайджэст эмітэнта, які яго падпісвае. Тая ж палітыка можа адхіліць корань, які ў дзень выдання быў цалкам звычайным.
Вось чаму рэдагаванне auth ці data-ciphers нічога не дае для гэтай памылкі. Гэтыя налады кіруюць тым, як абараняюцца пакеты пасля рукапаціску, а адхілены аб'ект — гэта дакумент ідэнтычнасці, які правяраецца да з'яўлення тунелю. Сертыфікат можа спакойна знаходзіцца ўнутры свайго тэрміну дзеяння і ўсё ж несці подпіс, які бібліятэка не прыме.
Трымайце праверкі асобна ў галаве, і памылка перастане выглядаць загадкавай. Даты дзеяння, выкарыстанне ключа і дайджэст подпісу — незалежныя тэсты, і роўна адзін з іх толькі што праваліўся.
Умова першая: адхілены аб'ект — гэта корань?
Раздрукуйце кожны сертыфікат у профілі і прачытайце палі subject і issuer. Самаподпісаны корань паказвае адно і тое ж значэнне ў абодвух, і яго алгарытм подпісу — той, на якім трымаецца ўвесь ланцуг. Калі слабы дайджэст знаходзіцца там, кожны ліст пад ім наследуе праблему. Запішыце алгарытм побач з subject, каб наступнае параўнанне было механічным, а не па памяці.
Аб'яднаныя файлы CA часта ўтрымліваюць некалькі блокаў, таму вызначце блок, які фактычна загружаны, замест таго каб меркаваць, што вінаваты першы. Каманда openssl x509 -in ca.pem -noout -subject -issuer -text апісвае адзін сертыфікат за раз, гэта значыць спачатку трэба падзяліць набор, калі ў ім больш. Параўнайце надрукаваны алгарытм подпісу з дайджэстам, які можна чакаць ад эпохі стварэння кораня.
Ліст, падпісаны SHA-256 пад слабым коранем, усё роўна правальваецца, бо праверка ланцуга ідзе да самага верху. Менавіта гэты парадак робіць наступную ўмову важнай.
Умова другая: ці кантралюеце вы эмітэнта?
Калі корань належыць вашай арганізацыі, трывалае рашэнне — новы корань з сучасным дайджэстам плюс перавыдадзеныя лісты, пададзеныя як адно абнаўленне профілю. Гэта каштуе акно абслугоўвання і план для прылад, якія не могуць атрымаць абнаўленне ў той жа дзень.
Калі ланцуг выдала трэцяя старана, рашэнне — запыт да гэтага аператара, і адзінае карыснае лакальнае дзеянне — перастаць спадзявацца на старыя матэрыялы. Рэдагаванне тэксту PEM або перазахаванне файла не змяняе нічога, што пакрывае подпіс.
Адзін прамежкавы выпадак варта назваць: унутраны корань, які старэйшы за бягучыя прадвызначэнні, але ўсё яшчэ падпісвае матэрыялы, якім давяраюць іншыя сістэмы. Замяніць яго — значыць правесці аўдыт кожнага спажыўца, уключаючы прылады, якія замацоўваюць стары сертыфікат па адбітку. Падлічыце гэтых спажыўцоў перад планаваннем змены, бо замена кораня, якая прапусціць аднаго, абмяняе памылку запуску на прастой.
Умова трэцяя: што яшчэ прымае зніжэнне ўзроўню
Зніжэнне ўзроўню бяспекі або выбар старога профілю сертыфікатаў OpenVPN зноў прымушае кліент прымаць стары дайджэст. Гэта таксама аслабляе іншыя праверкі ў той жа бібліятэцы, для кожнага злучэння, якое робіць гэты працэс.
Гэта можа быць апраўдана ў лабараторыі або як кароткі мост, пакуль гатуюцца матэрыялы замены, пры ўмове, што выключэнне абмежавана адным профілем і мае дату заканчэння. Як пастаянная налада на агульным хосце яно ціха пашырае тое, чаму будзе давяраць кожны TLS-кліент там.
Запішыце выключэнне з уладальнікам і крокам выдалення. Незадакументаванае змяненне ўзроўню праз паўгода немагчыма адрозніць ад памылкі, і наступны інжынер не даведаецца, што гэта калісьці было рашэннем.
Рашэнне, запісанае як правіла
Замяняйце ланцуг, калі кантралюеце эмітэнта і можаце пералічыць яго спажыўцоў. Эскалюйце да эмітэнта, калі не. Зніжайце ўзровень толькі як датаванае, абмежаванае выключэнне з ужо запланаванай заменай. Усё астатняе пакідае той самы сертыфікат на месцы і пераносіць рызыку туды, дзе яе менш бачна.
Пасля гэтага ператэстуйце профіль з чыстага кліента, пацвердзіце завяршэнне рукапаціску і захавайце дакладны тэкст адмовы, калі ён усё яшчэ падае. Дакладнае паведамленне пра памылку — самае таннае, што можна перадаць таму, хто валодае наступным узроўнем.