Једна грешка, три тајне: који VPN акредитив је отказао?
Клијент приказује једну грешку за сваку фазу. Прочитајте асоцијацију, корисничку размену и метод пре него што ресетујете лозинку коју нико није проверио.
„Аутентификација није успела” може указивати на сертификат сервера, унапред дељени кључ машине или корисничку лозинку. На коју се односи, зависи од протокола, јер сваки протокол дефинише другачији скуп тајни. Ресетујете погрешну и грешка остаје непромењена. Излаз је да утврдите колико доказа протокол захтева пре него што било шта измените.
Два доказа која показују у супротним смеровима
Тунел мора да одговори да ли је стигао до правог гејтвеја и, одвојено, ко је корисник. Доказ гејтвеја је на нивоу машине: сертификат сервера, унапред дељени кључ или статични јавни кључ. Доказ корисника је на нивоу особе: лозинка, токен, клијентски сертификат или ништа. То су супротни смерови поверења и троше различит материјал.
IKEv2 обавља доказ гејтвеја унутар IKE_AUTH и, када се користи EAP, покреће доказ корисника у одвојеној размени после тога. спецификација IKEv2 држи их као засебне одељке, што је снажан наговештај где тражити када једна порука покрива оба круга.
Читајте фазу, не поруку
Клијент приказује исти низ грешке без обзира на то која фаза је пала, па сам низ готово да не носи информацију. Информацију носи стање које можете прегледати у свакој фази: постоји ли асоцијација, да ли је корисничка размена почела и да ли је клијент понудио метод који је гејтвеј желео. Табела сортира фазе тако, а не по имену протокола.
| Stage that failed | Evidence you can inspect | What a password change cannot fix |
|---|---|---|
| The machine proof | no security association in the state list | a mismatched pre-shared key or an untrusted chain |
| The user proof | an association is up while PPP or EAP reports failure | an expired token, a locked account, a missing client key |
| The client's method support | the client offers no method the gateway accepts | a client without the required EAP or key material |
| The server's policy | the gateway rejects before any user exchange starts | a policy that requires a certificate the profile lacks |
Само други ред се односи на акредитив који корисник може поново да откуца. Остала три су чињенице конфигурације, и тај несклад је разлог зашто се многи овакви извештаји завршавају ресетовањем лозинке које ништа не мења. Прочитајте ред који одговара вашим доказима пре него што додирнете поље.
Протокол са две тајне показује своје карте
L2TP преко IPsec-а чини број видљивим, јер се две провере дешавају у различитим процесима. IPsec слој мора прво да се подигне са унапред дељеним кључем или сертификатом, и тек онда PPP унутар њега покушава корисничку пријаву.
Када је тајна машине погрешна, никаква асоцијација се не формира и кориснички акредитив се никада не покушава. Када је тајна машине исправна а корисничка тајна погрешна, асоцијација постоји и PPP одбија пријаву након што је тунел већ подигнут. Оба дају исту поруку на екрану из два различита догађаја.
sudo swanctl --list-sas
sudo ip xfrm state list
sudo journalctl -u xl2tpd -n 50 --no-pagerПразна листа асоцијација одмах искључује кориснички слој, па је проверите пре лозинке. Успостављена асоцијација са поновљеним PPP грешкама указује на другу страну, на кориснички слој или на протокол аутентификације унутар њега. Ниједан од тих закључака није доступан из текста грешке клијента.
Од чега заправо зависи приступ само лозинком
Приступ само лозинком уобичајен је за L2TP, PPTP, SSTP и IKEv2 са EAP-ом. WireGuard уопште нема такву опцију, јер су његови партнери кључеви, а не корисници. За OpenVPN одговор долази из захтева сервера за клијентским сертификатом: гејтвеј који тражи и сертификат и лозинку одбијаће клијента са само лозинком, шта год да се откуца у поље.
Која компонента вам треба следи из истог одговора. Пријава лозинком под IKEv2 захтева клијента који говори EAP, док пријава сертификатом тражи клијентов приватни кључ и ланац сервера. Инсталирајте погрешну и грешка се чита као грешка акредитива, иако недостаје сам метод аутентификације.
Промените једну ствар, па поново тестирајте
Најпре утврдите три чињенице: који протокол ради, колико тајни дефинише и које од њих припадају машини а не кориснику. Машине падају на првој фази а људи на другој, и мешање тих двеју је цео овај проблем.
Затим промените тачно једну ствар и поново тестирајте са истог клијента. Та дисциплина претвара збуњујући неуспех у исправку коју можете описати следећој особи, што је корисније од везе која ради а коју нико не уме да објасни.