Greška o nevažećoj tajni dolazi iz kontejnera, a ne iz pravila lozinke
Ista lozinka se predaje kroz grafičko polje i kroz datoteku akreditiva, i pada na različitim mjestima. Uporedite kontejnere prije nego što pojednostavite lozinku koja je cijelo vrijeme bila ispravna.
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 provjeravate | Ko je vlasnik popravke |
|---|---|---|---|
| Grafičko polje ili upravljani profil | Poruka validacije prije otvaranja bilo kakve veze | Izabrani način provjere identiteta i da li polje drži tajnu ili korisničko ime | Vlasnik uređaja ili autor profila |
| Privjesak ključeva ili agent za tajne | Zahtjev koji se stalno vraća, ili greška agenta | Da li je agent otključan i ima li unos za ovaj profil | Korisnik koji je vlasnik privjeska ključeva |
| Datoteka akreditiva od dva reda | Zahtjev za lozinku koja je već dostavljena | Broj redova, redoslijed redova i da li postoji završni novi red | Onaj ko je generisao datoteku |
| Argument ljuske ili okruženje | Radi interaktivno ali pada u automatizaciji | Da li je ljuska proširila, obrezala ili zabilježila vrijednost | Onaj 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.