Én fejl, tre hemmeligheder: hvilken VPN-legitimationsoplysning fejlede?
Klienten viser én fejl for hvert trin. Læs associationen, brugerudvekslingen og metoden, før du nulstiller en adgangskode, som ingen har kontrolleret.
»Godkendelse mislykkedes« kan pege på et servercertifikat, en forudelt maskinnøgle eller en brugeradgangskode. Hvilken af dem det betyder, afhænger af protokollen, fordi hver protokol definerer et forskelligt sæt hemmeligheder. Nulstiller du den forkerte, overlever fejlen uændret. Vejen ud er at fastslå, hvor mange beviser protokollen kræver, før du redigerer noget.
To beviser, der peger i modsatte retninger
En tunnel skal svare på, om den nåede den rigtige gateway, og separat hvem brugeren er. Gateway-beviset er på maskinniveau: et servercertifikat, en forudelt nøgle eller en statisk offentlig nøgle. Brugerbeviset er på personniveau: en adgangskode, et token, et klientcertifikat eller slet intet. Det er modsatte retninger af tillid, og de bruger forskelligt materiale.
IKEv2 udfører gateway-beviset inde i IKE_AUTH og kører, når EAP bruges, bagefter brugerbeviset i en separat udveksling. IKEv2-specifikationen holder dem som adskilte afsnit, og det er et stærkt vink om, hvor man skal kigge, når én meddelelse dækker begge runder.
Læs trinnet, ikke meddelelsen
Klienten viser én fejlstreng, uanset hvilket trin der fejlede, så strengen selv bærer næsten ingen information. Det, der bærer information, er den tilstand, du kan undersøge på hvert trin: om der findes en association, om en brugerudveksling er begyndt, og om klienten tilbød den metode, som gatewayen ville have. Tabellen sorterer trinnene på den måde i stedet for efter protokolnavn.
| 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 |
Kun den anden række handler om en legitimationsoplysning, som en bruger kan skrive igen. De tre andre er konfigurationsfakta, og netop den uoverensstemmelse er grunden til, at så mange af disse rapporter ender med en nulstilling af adgangskoden, der ikke ændrer noget. Læs den række, der passer til dit bevis, før du rører et felt.
En protokol med to hemmeligheder viser sine kort
L2TP over IPsec gør antallet synligt, fordi de to kontroller sker i forskellige processer. IPsec-laget skal først komme op med en forudelt nøgle eller et certifikat, og først derefter forsøger PPP indeni et brugerlogin.
Når maskinhemmeligheden er forkert, dannes der ingen association, og brugeroplysningerne prøves aldrig. Når maskinhemmeligheden er rigtig, og brugerhemmeligheden er forkert, findes associationen, og PPP afviser login, efter at tunnelen allerede er oppe. Begge giver den samme meddelelse på skærmen fra to forskellige hændelser.
sudo swanctl --list-sas
sudo ip xfrm state list
sudo journalctl -u xl2tpd -n 50 --no-pagerEn tom associationsliste udelukker straks brugerlaget, så kontroller den før adgangskoden. En etableret association med gentagne PPP-fejl peger den anden vej, mod brugerlaget eller mod godkendelsesprotokollen indeni. Ingen af de to konklusioner kan hentes fra klientens fejltekst.
Hvad adgang med kun adgangskode egentlig afhænger af
Adgang med kun adgangskode er almindelig for L2TP, PPTP, SSTP og IKEv2 med EAP. WireGuard har slet ikke den mulighed, fordi dets parter er nøgler og ikke brugere. For OpenVPN kommer svaret fra serverens krav om klientcertifikat: en gateway, der kræver både certifikat og adgangskode, vil blive ved med at afvise en klient med kun adgangskode, uanset hvad der tastes i feltet.
Hvilken komponent du har brug for, følger af det samme svar. Et adgangskodelogin under IKEv2 kræver en klient, der taler EAP, mens et certifikatlogin kræver klientens private nøgle og serverens kæde. Installerer du den forkerte, læses fejlen som en legitimationsfejl, selv om det er godkendelsesmetoden selv, der mangler.
Ændr én ting, og test igen
Fastslå først tre fakta: hvilken protokol der kører, hvor mange hemmeligheder den definerer, og hvilke af dem der tilhører maskinen og ikke brugeren. Maskiner fejler på første trin, og mennesker fejler på andet, og at forveksle de to er hele dette problem.
Ændr derefter præcis én ting, og test igen fra den samme klient. Den disciplin gør en forvirrende fejl til en rettelse, du kan beskrive for den næste person, og det er mere nyttigt end en fungerende forbindelse, som ingen kan forklare.