Je li --key-password u OpenConnectu lozinka vašeg VPN računa?
--key-password u OpenConnectu otključava lokalni privatni ključ. Lozinka računa se autentificira na pristupniku i jedna nikad ne zamjenjuje drugu.
Pročitajte naziv opcije bukvalno. Ona imenuje ključ, a zabuna počinje kada se datoteka koja se otključava pobrka sa računom koji se autentificira. Nalepite lozinku računa u tu opciju i klijent će njome pokušati da otvori datoteku ključa, što ne uspeva iz razloga koji nemaju veze sa prijavom na VPN.
Zbunjujuće je to što jedna veza može legitimno da zahteva oba tajna podatka. Autentifikacija klijentskim sertifikatom može da zahteva šifrovani ključ, a isti pristupnik može i posle prihvatanja sertifikata da sprovede razmenu autentifikacije korisnika. Nijedan tajni podatak ne zadovoljava drugu fazu, a neuspeh u jednom spolja izgleda vrlo slično neuspehu u drugom.
Dva tajna podatka, dva različita posla
Čitajte uloge kao pristup datoteci nasuprot dozvoli pristupa mreži. Lozinka ključa dešifruje PEM privatni ključ naveden u --sslkey kako bi mogao da se predstavi TLS klijentski sertifikat. To dešifrovanje se odvija lokalno, unutar procesa klijenta, i sama lozinka nikada ne putuje do pristupnika. Pristupnik vidi sertifikat i potpis napravljen ključem. OpenConnect priručnik drži --key-password uz --certificate i --sslkey, a u verzijama koje mogu da koriste ključ u TPM-u ista opcija umesto toga nosi lozinku korenskog ključa skladištenja.
Lozinka računa je drugačija po vrsti. Ona ulazi u razmenu autentifikacije: obrazac sa korisničkim imenom i lozinkom, token, SAML krug ili neku kombinaciju koju pristupnik oglašava. Neke instalacije je uopšte ne traže kada je sertifikat jedini faktor, a neke je traže i posle sertifikata, jer sertifikat dokazuje uređaj, a račun dokazuje osobu.
Mešanje dvaju stvara zavaravajuće greške. Pristupnik koji odbija prijavu obično javlja neuspeh autentifikacije, dok pogrešna lozinka ključa obično pada ranije, kada TLS sloj ne može da pročita datoteku ključa. To su različite faze sa različitim ispravkama, a nazivi su dovoljno slični da ih ljudi zamene i zatim love pogrešan zapisnik. Zabeležite koji se upit pojavio pre nego što promenite bilo koju postavku, jer je tekst upita najjeftinija dijagnostika koju imate.
Kada je lozinka ključa zaista potrebna
Opcija ima smisla samo kada postoji šifrovani ključ koji treba otključati. Ako se povezujete korisničkim imenom i lozinkom i bez klijentskog sertifikata, --key-password nema na šta da deluje i njegovo uključivanje ništa ne menja. Ako se povezujete sa --certificate i --sslkey, sopstveni format datoteke ključa odlučuje da li će se lozinka uopšte tražiti.
Oba tajna podatka u jednoj naredbi uobičajena su u upravljanim okruženjima: sertifikat uređaja u šifrovanom ključu plus prijava za svakog korisnika. Ispravan sled je pustiti klijent da lokalno zatraži lozinku ključa, dovršiti rukovanje sertifikatom i zatim odvojeno obraditi upit pristupnika za račun. Pokušaj da se oba unapred popune jednom ponovo korišćenom skriptom mesto je gde zbrka obično počinje.
Korisna dijagnostika je pogledati kada se kvar događa. Ako se klijent zaustavi pre nego što počne ikakva mrežna autentifikacija, posumnjajte u datoteku ključa, njen format ili lozinku. Ako je TLS sesija uspostavljena i pristupnik zatim odbije korisnika, ključ je odradio svoj posao i problem je u razmeni za račun.
Držite oba tajna podatka izvan istorije ljuske
Argumente naredbene linije drugi lokalni korisnici mogu da čitaju kroz tabelu procesa i često se hvataju u istoriju ljuske, skripte i transkripte podrške. OpenConnect može da čita lozinku računa sa standardnog ulaza pomoću --passwd-on-stdin, a lozinka ključa može da dođe iz interaktivnog upita ili agenta umesto iz argumenta. Nijedan mehanizam sam po sebi ne čini tajni podatak sigurnim, ali oba ga drže izvan najizloženijih mesta.
Datoteke zaslužuju istu pažnju. Skripta koja lozinku zapisuje u privremenu datoteku trebalo bi da je stvori sa ograničenim ovlašćenjima, izbriše je pri izlasku i izbegava direktorijume čitljive svima. Lozinka koja preživi sesiju u privremenom direktorijumu kopija je koju ste zaboravili da napravite. Promenljive okruženja vidljive su podređenim procesima i često ih ispisuju alati za otklanjanje grešaka, pa nisu besplatna nadogradnja u odnosu na argumente.
Dijagnostički izlaz je tiho curenje. Zapisnici klijenta pri većoj razini detalja mogu da prikažu tela zahteva ili vrednosti opcija, a kopirani transkript terminala lako se zalepi u tiket, pa pročitajte izlaz pre nego što ga podelite.
Mrtva tipka na radnoj površini druga je vrsta kvara
Unos VPN-a na radnoj površini koji pokaže vrtnju i zatim ništa obično uopšte nije problem autentifikacije. Tipka pripada mrežnom upravljaču, programčetu proizvođača ili dodatku koji pokreće OpenConnect u vaše ime, a komponenta koja nedostaje ili nečitljiv profil mogu da proizvedu upravo taj simptom. Pronađite koji proces tipka pokreće i pročitajte njegovu grešku pre nego što dirate akreditive.
Primamljivo je olabaviti proveru sertifikata ili isključiti proveru kada GUI odbija povezivanje. To pretvara kvar integracije klijenta u sniženje bezbednosti i retko popravlja problem pokretanja. Sačuvajte proveru servera netaknutom, potvrdite da profil pokazuje na nameravani pristupnik i proverite da li je pomoćnik koji GUI očekuje zaista instaliran.
Kratak spisak provera razdvaja slučajeve. Lokalni kvar pre nego što izađe bilo koji paket upućuje na ključ ili instalaciju klijenta. Odbijanje pristupnika posle TLS sesije upućuje na razmenu za račun. Tipka koja nikada ne pokrene klijent upućuje na integraciju sa radnom površinom. Tri različita kvara, od kojih je jedan lozinka koju ste upravo hteli da zalepite u pogrešno polje.