Альтэрнатыўныя імёны суб'екта: як ідэнтыфікуецца сервер VPN
Давераны сертыфікат можа быць няправільным для вашага імя хоста VPN. SAN павінен змяшчаць форму ідэнтычнасці, якую правярае кліент, — DNS-імя або IP-адрас.
Ваш кліент адхіляе сертыфікат, ланцуг якога ўдала правяраецца, а памылка паведамляе, што імя не супадае. Гэта паведамленне не пра тое, хто падпісаў сертыфікат. Яно пра пашырэнне альтэрнатыўных імён суб'екта, якое змяшчае ідэнтычнасці, што сертыфікат мае права прадстаўляць, і пра тое, ці з'яўляецца там наладжаная вамі ідэнтычнасць у правільнай форме. Давер адказвае, хто падпісаў, а праверка імя адказвае, якому хосту ён належыць.
Што кліент фактычна параўноўвае
Кліент ператварае вашу канфігурацыю ў эталонную ідэнтычнасць: імя хоста, адрас або ідэнтыфікатар, спецыфічны для пратакола. Затым ён шукае ў сертыфікаце гэтую ідэнтычнасць, ужываючы правілы супастаўлення пратакола, які выкарыстоўваецца. Улічваюцца толькі запісы аднаго тыпу, таму DNS-запіс не можа задаволіць адрас, і параўнанне адбываецца незалежна ад таго, ці глядзіць чалавек на сертыфікат.
Калі эталоннай ідэнтычнасці няма ў гэтым пашырэнні, праверка не праходзіць, нават калі старое агульнае імя супадае. Сертыфікат можа быць законна выдадзены кампаніі і ўсё ж быць няправільным для vpn.example.com, калі імя ніколі не ўключалася. Гэта няўдача — несупадзенне імён, нават калі сертыфікат сапраўдны.
DNS-імёны і IP-адрасы — асобныя запісы
Профіль, які ўказвае на 203.0.113.10, а сертыфікат змяшчае толькі vpn.example.com, адхіляецца, бо пакеты прыходзяць, але ідэнтычнасць не супадае. DNS-імёны і літаральныя адрасы захоўваюцца як розныя тыпы запісаў, і адзін ніколі не замяняе іншы. Таму сэрвіс можа быць дасягальны па адрасе і ўсё ж непрыдатны праз профіль, які выкарыстоўвае гэты адрас.
Сячэнні таксама падпарадкоўваюцца сваім правілам: сячэнне ахоплівае адзін цэтлік, а не кожнае імя пад даменам. Параўнанне DNS не адрознівае рэгістр, а іншыя тыпы ідэнтыфікатараў адрозніваюць, таму значэнне, якое выглядае аднолькава на экране, можа не прайсці строгае параўнанне. Правярайце правілы супастаўлення для тыпу ідэнтычнасці, які выкарыстоўваецца, а не параўноўвайце радкі на вока. Даданне імя ў пашырэнне — гэта рашэнне аб выпуску, а не тое, што можа забяспечыць налада кліента.
Праверце сертыфікат, які злучэнне фактычна выкарыстала
Чытайце матэрыял, які прадстаўляе жывы канцавы пункт, а не файл, скапіяваны са старонкі адміністравання. Балансіроўшчык нагрузкі або заменная інстанцыя могуць прадставіць нешта іншае, чым сертыфікат, загружаны месяцы таму, і гэтая розніца нябачная ў кансолі.
openssl s_client -connect vpn.example.com:443 -showcerts </dev/null | openssl x509 -noout -text
Блок альтэрнатыўных імён суб'екта, ланцуг выпуску і тэрмін дзейнасці належаць да аднаго чытання, бо несупадзенне імя і заканчэнне тэрміну даюць розныя памылкі. Параўнайце кожнае імя ў гэтым блоку з ідэнтычнасцю, наладжанай у профілі, пасімвальна, і адзначце яго тып. Паўтарэнне каманды для адраснай формы канцавога пункта паказвае, ці ахоплівае сертыфікат абедзве ідэнтычнасці ці толькі адну. Прыязны паказ суб'екта ў кансолі кіравання не з'яўляецца вынікам праверкі і нічога не кажа пра тое, якія імёны змяшчае пашырэнне.
Агульнае імя не з'яўляецца сучаснай крыніцай праўды
Браўзеры і большасць бібліятэк TLS цяпер ігнаруюць агульнае імя для супастаўлення імя хоста і звяртаюцца да пашырэння. Некаторыя кліенты VPN па-ранейшаму спачатку параўноўваюць агульнае імя або вяртаюцца да яго, калі пашырэнне адсутнічае, і таму адзін сертыфікат можа прайсці ў браўзеры і не прайсці ў кліенце. Адна і тая ж праверка імя можа прайсці на адной платформе і не прайсці на іншай, нават калі сертыфікат зусім не змяняецца.
Высветліце, якое поле чытае ваш кліент, перш чым вырашаць, што сертыфікат няправільны. Два кліенты на адным канцавым пункце могуць разыходзіцца, і гэтае разыходжанне — інфармацыя пра кліент, а не пра сертыфікат.
Выпраўце выпуск або профіль, а не праверку
Калі профіль быў пабудаваны вакол псеўданіма, альбо перанакіруйце яго на дакументаванае імя хоста, альбо перавыпусціце сертыфікат для псеўданіма і разгарніце яго ў запланаваным акне. Заглушэнне папярэджання — не трэці варыянт, бо праверка — адзіны крок, які прывязвае падпісаны сертыфікат да менавіта гэтага хоста. Яго выдаленне азначае, што любы сертыфікат ад таго ж органа можа заняць месца сервера, да якога вы хацелі далучыцца.
Падаўжэнне павінна захоўваць прызначаныя імёны і мэту, а не проста пераносіць дату заканчэння наперад. Падаўжэнне, якое губляе імя, — гэта новы збой, запланаваны на наступны перазапуск, і ён звычайна прыходзіць без папярэджання, бо стары сертыфікат яшчэ быў дзейным, калі рабілася змена.
Запішыце чаканую ідэнтычнасць, прадстаўленыя імёны і ланцуг, які іх падпісаў. Гэты запіс ператварае наступнае падаўжэнне ў параўнанне, а не ў расследаванне. Азначэнне пашырэння ёсць у RFC 5280, калі трэба праверыць канкрэтны выпуск.