auth-nocache s datotekom vjerodajnica: pomaže ili šteti?
auth-nocache odbacuje tražene vjerodajnice iz memorije. Kada lozinka stoji u datoteci, upozorenje manje znači, a opcija može slomiti ponovno pregovaranje.
OpenVPN pri pokretanju ispisuje upozorenje koje predlaže auth-nocache, a primamljiv odgovor je dodati opciju i gledati kako red nestaje. Taj savjet pretpostavlja interaktivnu prijavu. Kada korisničko ime i lozinka žive u datoteci, poređenje se mijenja: opcija prestaje štititi trajnu kopiju, a na klijentu koji se odriče privilegija može kasnije slomiti ponovno pregovaranje. Dva modela pohrane vrijedi držati odvojeno prije nego uredite profil.
Dva načina da odgovorite na zahtjev za vjerodajnicama
Prvi model je čovjek koji upisuje vjerodajnice u terminal ili upravljačko sučelje koje ih drži za sesiju. OpenVPN čuva tu kopiju kako bi odgovorio na sljedeće ponovno pregovaranje bez ponovnog pitanja, i upravo o tome govori upozorenje. Ništa na disku nije uključeno, pa je jedino što treba štititi proces koji drži vrijednost. Zatvorite klijenta i kopija nestaje s njim.
Drugi model je auth-user-pass koji pokazuje na datoteku, gdje je datoteka spremište i klijent je čita kada je vrijednost potrebna. Izloženost koja je ovdje važna nije memorija procesa nego dozvole i vlasništvo te datoteke. Upozorenje pri pokretanju dolazi iz direktiva u konfiguraciji, ne iz provjere kako dostavljate lozinku, pa se pojavljuje u oba modela i ne pokazuje ni na jedan.
Ostatak ovog poređenja slijedi iz te podjele: upravljanje memorijom za jedan model, upravljanje datotekom i identitet procesa za drugi.
Šta auth-nocache zapravo odbacuje
Uz interaktivnu prijavu --auth-nocache uklanja pohranjenu kopiju iz memorije nakon što je iskorištena. Cijena je novi upit na svakom intervalu ponovnog pregovaranja, jer sljedeći krug ne može ponovno upotrijebiti ono što je odbačeno.
Uz prijavu temeljenu na datoteci klijent može ponovno pročitati datoteku, pa je odbacivanje uglavnom nevidljivo. Postaje vidljivo na jednom mjestu gdje ga ljudi ne očekuju: nakon što daemon odbaci privilegije, ako datoteku vjerodajnica ne može čitati račun pod kojim sada radi.
Dodajte opciju jer razumijete tu razmjenu, ne zato što se pojavilo upozorenje. Opcija dodana da dnevnik bude tiši jest opcija čiji efekat niko nije izmjerio.
Gdje se put temeljen na datoteci lomi
Klijent koji počinje kao root da otvori tunelski uređaj i zatim prelazi na user i group čita datoteku vjerodajnica dvaput: jednom prije prelaska, jednom pri ponovnom pregovaranju koje slijedi. Ako datoteka ima mod 600 i vlasnik je root, drugo čitanje ne uspijeva, a neuspjeh se pojavljuje sat kasnije kao greška provjere identiteta koja izgleda kao problem poslužitelja. Provjerite dnevnik klijenta oko intervala ponovnog pregovaranja, zatim provjerite račun i datoteku zajedno.
stat -c '%a %U:%G' /etc/openvpn/client.creds
ps -o user:12,args -C openvpn | headOba reda su važna. Prvi vam kaže ko može čitati datoteku, drugi kaže ko je pokrenuti daemon u stvarnosti, a nesklad između njih objašnjava neuspjeh koji nikakvo prepisivanje lozinke neće popraviti.
Praktične popravke nisu blistave: premjestite datoteku u direktorij i kod vlasnika koje račun daemona može čitati, ili zadržite privilegovano čitanje i potvrdite da vaš klijent čita samo jednom. Ne rješavajte to time što ćete datoteku učiniti čitljivom svima.
Slučaj koji opciju zaista želi
Prijava s jednokratnim kodom želi auth-nocache iz drugog razloga. Jednokratni kod se troši prvom provjerom identiteta, pa je keširana kopija beskorisna pri sljedećem ponovnom pregovaranju, a zastarjela vrijednost mogla bi se čak i ponovno odigrati.
To je pitanje o vrsti vjerodajnica, ne o tome gdje se čuvaju. Statična lozinka u zaštićenoj datoteci ima suprotan profil: mora biti čitljiva pri svakom ponovnom pregovaranju, a zaštita koja vam treba je na datoteci.
Držite ta dva razloga odvojeno u komentarima profila, jer će sljedeći administrator inače pretpostaviti da je opcija tu zbog razloga koji bi on odabrao.
Poređenje u jednoj odluci
Odaberite interaktivni model kada je osoba prisutna i svježina je važna, i prihvatite ponovljeni upit kao njegovu cijenu. Odaberite model datoteke kada klijent radi bez nadzora, i uložite trud u vlasništvo, mod i odricanje privilegija.
Nijedan model sam po sebi ne čini pohranjenu lozinku sigurnom, niti ijedan čini upozorenje pri pokretanju smislenim.
Ako je upozorenje jedini razlog zašto ste otvorili profil, zapišite odluku umjesto neobjašnjene opcije: vjerodajnice dolaze iz datoteke koju račun daemona može čitati, ponovno pregovaranje je viđeno uspješnim, i priručnika OpenVPN 2.6 odjeljak o ponovnom pregovaranju pročitan je prije promjene intervala. Ta bilješka nadživljava svaku pojedinačnu zastavicu.