Vidjeti «nevažeću tajnu» obično vodi jednom zaključku: VPN ne voli interpunkciju. Taj zaključak je obično pogrešan, jer poruka često dolazi iz lokalne obrade prije nego što je bilo koji gateway pogledao račun. Dva dizajna predaju istu lozinku, grafičko polje i datoteka akreditiva, i padaju na različitim mjestima. Uporedite kontejnere prije nego što pojednostavite lozinku koja je cijelo vrijeme bila ispravna.

Greška nastaje prije gatewaya

Lokalna validacija, zaključano spremište tajni, nedostajući agent i neispravna datoteka akreditiva svi proizvode greške koje korisnik doživljava kao jedno odbijanje. Nijedna od njih ne uključuje server za provjeru identiteta. Odbijanje samog gatewaya je poseban događaj i obično dolazi s drugom porukom i drugim vremenom. Ono se dešava nakon što tunel postoji i akreditivi su preneseni.

Dakle prvo pitanje nije koji su znakovi dozvoljeni, nego gdje se pokušaj zaustavio. Klijent koji nikada nije otvorio vezu nije odbijen ni od koga. Zapišite fazu koju ste vidjeli, jer svaki sljedeći korak zavisi od te klasifikacije.

Razlika mijenja i to ko to popravlja. Problem kontejnera pripada uređaju i njegovom vlasniku, dok odbijanje računa pripada onome ko vodi backend za provjeru identiteta.

Uporedite kontejnere, a ne znakove

Grafičko polje za lozinku, unos u privjesku ključeva, datoteka akreditiva od dva reda i tajna automatizacije nose istu vrijednost u različitom omotaču. Omotač ima svoja pravila, i ta pravila se obično lome. Vrijednost je rijetko problem; prijenos vrijednosti jeste. Držite te dvije ideje odvojeno i dijagnoza postaje kraća.

Gdje se vrijednost zaustavljaŠta viditeŠta provjeravateKo je vlasnik popravke
Grafičko polje ili upravljani profilPoruka validacije prije otvaranja bilo kakve vezeIzabrani način provjere identiteta i da li polje drži tajnu ili korisničko imeVlasnik uređaja ili autor profila
Privjesak ključeva ili agent za tajneZahtjev koji se stalno vraća, ili greška agentaDa li je agent otključan i ima li unos za ovaj profilKorisnik koji je vlasnik privjeska ključeva
Datoteka akreditiva od dva redaZahtjev za lozinku koja je već dostavljenaBroj redova, redoslijed redova i da li postoji završni novi redOnaj ko je generisao datoteku
Argument ljuske ili okruženjeRadi interaktivno ali pada u automatizacijiDa li je ljuska proširila, obrezala ili zabilježila vrijednostOnaj ko je napisao automatizaciju

Opcije klijenta Community OpenVPN 2.6 opisuju tu datoteku od dva reda za auth-user-pass, uključujući ponašanje kada red s lozinkom nedostaje: klijent tada traži. Taj jedan detalj objašnjava klasu izvještaja «traži lozinku koju sam već dostavio». Takođe vam kaže da je prazan drugi red značajno stanje, a ne bezopasan izbor formatiranja.

Navođenje pod navodnicima je opet poseban sloj: navodnici unutar obične datoteke akreditiva čuvaju se kao podaci, dok ih ljuska uklanja prije nego što program bilo šta vidi. Isti znak je bezopasan na jednom mjestu i strukturalan na drugom. Tabela vam ne može reći koji je kontejner klijent koristio, pa pročitajte vlastitu konfiguraciju klijenta prije nego što izaberete red.

Prijelomi redova su takođe strukturalni. Datoteka s poljima razdvojenim redovima ne može nositi vrijednost koja sadrži novi red, i to je ograničenje formata, a ne procjena o jačini lozinke. Koristite mehanizam dostave koji implementacija podržava umjesto da obrezujete tajnu da stane u improvizovanu datoteku.

Napravite datoteku akreditiva bez štete od ljuske

Najsigurnija lokalna ruta drži tajnu izvan historije ljuske i izvan liste argumenata procesa. Pročitajte oba polja interaktivno, pa zapišite dva reda koja klijent očekuje. Sve ostalo može ostati u konfiguracijskoj datoteci koju je lako pregledati.

read -r VPN_USER
read -rs VPN_PASS
printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS" > /etc/openvpn/client/creds
chmod 600 /etc/openvpn/client/creds
openvpn --config /etc/openvpn/client/office.conf --auth-user-pass /etc/openvpn/client/creds

Prve dvije komande čitaju korisničko ime pa lozinku bez njenog prikazivanja, treća ispisuje oba reda, četvrta ograničava datoteku, a posljednja pokreće klijent s tom datotekom. Obratite pažnju da read -r čuva obrnute kose crte, što je upravo vrsta detalja koja radnu lozinku pretvara u neispravnu kada se izostavi.

Izbjegavajte pravljenje datoteke s nekvitovanom varijablom ili here-dokumentom punim proširenja ljuske. Oba mogu transformisati znakove prije nego što dođu u datoteku, a rezultirajuća greška izgleda kao odbijanje VPN-a jer se lozinka na disku zaista razlikuje od lozinke koju znate. Ako to sumnjate, uporedite dužinu datoteke u bajtovima s očekivanom vrijednošću, bez ispisivanja same tajne. Razlika od jednog ili dva bajta potpis je nezgode s navodnicima.

Pročitajte fazu iz prve greške

Sačuvajte prvu konkretnu poruku jednog pokušaja, pa je klasifikujte. Lokalna greška validacije, nedostajući privatni ključ, nedostupan agent za tajne i greška provjere identiteta na gatewayu su četiri različita rezultata s četiri različita vlasnika. Samo jedan od njih je o računu.

Ako gateway zaista odbija ispravno dostavljene akreditive, provjerite račun, backend za provjeru identiteta i svaki potrebni izazov s administratorom. Opšta greška provjere identiteta ne imenuje zabranjeni znak.

Vratite odobrenu vrijednost ispravnim mehanizmom umjesto da je svedete na slova i cifre. Politika lozinki pripada operateru, a zaobilazno rješenje koje je tiho pobjeđuje nije popravka. Ono i skriva pravi defekt od sljedeće osobe, koja će sresti istu grešku sa slabijom lozinkom i bez bolje ideje.

Povezani članci