Вы можаце аддаць публічны ключ VPN партнёру, правайдэру або на форум, і тунель працягвае трымацца. Закрыты ключ вы не можаце аддаць нават службе падтрымкі, не аддаўшы ідэнтычнасць, якую гэты ключ даказвае. Рашэнне рэдка застаецца такім чыстым, бо людзі блытаюць, на якую палову пары яны глядзяць, і бо некаторыя ўкараненні разглядаюць публічнае значэнне як імя. Тры праверкі ўсё вырашаюць: якая палова ў вас, да чаго ўкараненне яе прывязвае, і колькі каштуе замена.

Праверка першая: якая палова пары ў вашым буферы абмену

Асіметрычныя ключы існуюць парамі, і кірунак вываду — гэта ўся сутнасць. У WireGuard закрыты ключ — гэта 32 выпадковыя байты, а публічны ключ вылічваецца з яго; у адваротны бок ісці нельга. wg genkey запісвае закрытае значэнне, wg pubkey выводзіць публічнае, і толькі другое належыць паведамленню партнёру.

wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt

Свет сертыфікатаў выкарыстоўвае тое ж раздзяленне, але з большай колькасцю дэталяў. Серверны сертыфікат змяшчае публічны ключ і імёны, і ён падпісаны закрытым ключом цэнтра сертыфікацыі, які ніколі не пакідае гэты цэнтр. Кліенту, які правярае такі сервер, патрэбны сертыфікат цэнтра, які з’яўляецца публічным, і зусім не патрэбны закрыты ключ подпісу цэнтра.

Калі вы не ўпэўненыя, якое значэнне трымаеце, шукайце маркер, а не імя файла. Блок PEM, які пачынаецца з -----BEGIN PRIVATE KEY-----, або больш стары фармат BEGIN RSA PRIVATE KEY, — гэта тайная палова. Значэнне, якое можна ўставіць без гэтага маркера, з’яўляецца кандыдатам на перадачу, пры ўмове наступных дзвюх праверак.

Праверка другая: да чаго ўкараненне прывязвае гэтае публічнае значэнне

Крыптаграфічная бяспека і ананімнасць — розныя ўласцівасці. Публічны ключ партнёра WireGuard — гэта стабільны ідэнтыфікатар унутры ўкаранення: канфігурацыя сервера ўтрымлівае яго, рукапацісканне называе яго, і адміністратар, чытаючы журналы, бачыць той самы радок кожны раз, калі гэты партнёр падключаецца. Апублікуйце ключ побач з пытаннем пра вашую наладку — і вы звязалі гэты радок з усім астатнім у публікацыі.

Сертыфікаты выдаюць ідэнтычнасць па задуме. Палі Subject і subject alternative name чытальныя, а для публічна давераных TLS-сертыфікатаў сам сертыфікат публікуецца ў журналах Certificate Transparency, якія можна шукаць. Нішто з гэтага не раскрывае закрыты ключ, і ўсё гэта раскрывае сувязь.

Менавіта тут укараненні адрозніваюцца, і гэта вызначае адказ. Тымчасовы тэставы партнёр на лабараторным серверы — іншы аб’ект, чым ключ, які ідэнтыфікуе міжсайтавы канчатковы пункт кампаніі, нават калі байты выглядаюць аднолькава.

Праверка трэцяя: што вы можаце адклікаць і як хутка

Трэцяя праверка цалкам раздзяляе дзве паловы. Апублікаваны публічны ключ можна замяніць па вашым графіку. Апублікаваны закрыты ключ нельга адклікаць: выдаленне вашай копіі не закранае ўжо знятыя копіі, і кожны партнёр, які давяраў яму, цяпер давярае таму, што трымае старонні чалавек.

Адкліканне — гэта дзеянне канфігурацыі, а не крыптаграфічнае дзеянне. WireGuard не пастаўляе спісу адклікання, таму вы выдаляеце партнёра:

wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart

OpenVPN укараненні на аснове сертыфікатаў адклікаюць сертыфікат і публікуюць CRL, які сервер сапраўды правярае праз crl-verify. Без гэтай дырэктывы спіс адклікання — проста ўпрыгожанне. У любым выпадку паслядоўнасць адна: выпусціце замену, размеркуйце яе праз падтрымліваемы канал, потым выведзіце старую ідэнтычнасць.

Памылкі, якія ўзнікаюць ад зліцця трох праверак

Большасць рэальных уцечак — гэта не чалавек, які вырашыў апублікаваць закрыты ключ. Гэта цэлы профіль, устаўлены на форум: WireGuard .conf з радком PrivateKey, або пакет .ovpn з убудаваным блокам ключа, або здымак экрана акна кліента, дзе выпадкова трапіла поле ключа. Публічнае значэнне, верагодна, было ў парадку; яно паехала разам з той часткай, якая не была ў парадку.

Працэсы падтрымкі — другая крыніца. Ні адзін законны крок праверкі не патрабуе вашага закрытага ключа, бо другі бок выводзіць патрэбнае з публічнай паловы. Калі форма або чалавек просіць закрытае значэнне, правільны адказ — публічнае значэнне плюс лакальная каманда, якая яго стварае.

Журналы і здымкі экрана належаць да той жа катэгорыі. Дыягнастычны вывад можа несці матэрыял ключоў, ідэнтыфікатары сеансаў і ўнутраныя адрасы, і публікацыя ўсяго гэтага дзеля адказу на адно пытанне абменьвае маленькую зручнасць на большае ўздзеянне.

Пасля ўцечкі закрытага значэння выведзіце ідэнтычнасць

Калі закрытае значэнне ўсё ж выйшла вонкі, лічыце гэтую ідэнтычнасць выведзенай. Стварыце новую пару, усталюйце публічную палову там, дзе партнёры яе чакаюць, выдаліце старога партнёра або адклічце стары сертыфікат і праверце месцы, дзе вы яго публікавалі. Вы не можаце выдаліць копіі, якімі не кіруеце, таму выдаленне тычыцца будучыні, а не мінулага.

Затым запішыце размеркаванне: які ключ належыць якой прыладзе, хто трымае копію, як дастаўляецца замена і хто выдаляе выведзенага партнёра. Менавіта гэтыя часткі людзі забываюць, і менавіта яны вызначаюць, як доўга ўцечка застаецца карыснай.

Падобныя артыкулы