OpenVPN při spuštění vypisuje varování, které doporučuje auth-nocache, a lákavá reakce je volbu přidat a sledovat, jak řádek mizí. Tahle rada předpokládá interaktivní přihlášení. Jakmile uživatelské jméno a heslo žijí v souboru, srovnání se mění: volba přestává chránit trvalou kopii a na klientovi, který se vzdává oprávnění, může později rozbít opětovné vyjednávání. Dva modely ukládání stojí za to držet odděleně, než upravíte profil.

Dva způsoby, jak odpovědět na výzvu k údajům

První model je člověk, který píše údaje do terminálu, nebo správní rozhraní, které je drží pro relaci. OpenVPN si tuto kopii uchovává, aby mohlo odpovědět na další opětovné vyjednávání bez nového dotazu, a přesně o tom varování je. Na disku není nic zapojeno, takže jediné, co je třeba chránit, je proces, který hodnotu drží. Zavřete klienta a kopie zmizí s ním.

Druhý model je auth-user-pass ukazující na soubor, kde je soubor úložištěm a klient jej čte, když je hodnota potřeba. Expozice, na které zde záleží, není paměť procesu, ale oprávnění a vlastnictví toho souboru. Varování při spuštění pochází z direktiv v konfiguraci, ne z kontroly toho, jak heslo dodáváte, takže se objevuje v obou modelech a neukazuje na žádný.

Zbytek tohoto srovnání plyne z tohoto rozdělení: správa paměti pro jeden model, správa souboru a identita procesu pro druhý.

Co auth-nocache skutečně zahazuje

Při interaktivním přihlášení --auth-nocache odstraní uloženou kopii z paměti poté, co byla použita. Cena je nový dotaz při každém intervalu opětovného vyjednávání, protože další kolo nemůže znovu použít to, co bylo zahozeno.

Při přihlášení ze souboru může klient soubor přečíst znovu, takže zahození je většinou neviditelné. Viditelným se stane na jediném místě, kde to lidé nečekají: poté co démon odloží oprávnění, pokud soubor s údaji není čitelný pro účet, pod kterým nyní běží.

Volbu přidejte, protože tomuto obchodu rozumíte, ne protože se objevilo varování. Volba přidaná, aby byl log tišší, je volba, jejíž účinek nikdo neměřil.

Kde se cesta se souborem láme

Klient, který startuje jako root, aby otevřel tunelové zařízení, a pak přejde na user a group , čte soubor s údaji dvakrát: jednou před přechodem, jednou při opětovném vyjednávání, které následuje. Pokud má soubor režim 600 a vlastní ho root, druhé čtení selže a selhání se o hodinu později objeví jako chyba ověření, která vypadá jako problém serveru. Zkontrolujte log klienta kolem intervalu opětovného vyjednávání, pak zkontrolujte účet a soubor společně.

stat -c '%a %U:%G' /etc/openvpn/client.creds
ps -o user:12,args -C openvpn | head

Oba řádky jsou důležité. První říká, kdo může soubor číst, druhý říká, kdo je běžící démon ve skutečnosti, a nesoulad mezi nimi vysvětluje selhání, které žádné přepisování hesla nespraví.

Praktické opravy nejsou efektní: přesuňte soubor do adresáře a k vlastníkovi, který účet démona může číst, nebo zachovejte privilegované čtení a potvrďte, že váš klient čte jen jednou. Neřešte to tím, že soubor zpřístupníte všem.

Případ, který volbu opravdu chce

Přihlášení s jednorázovým kódem chce auth-nocache z jiného důvodu. Jednorázový kód se spotřebuje prvním ověřením, takže uložená kopie je při dalším opětovném vyjednávání k ničemu a zastaralá hodnota by se dokonce mohla přehrát.

To je otázka typu údajů, ne toho, kde jsou uloženy. Statické heslo v chráněném souboru má opačný profil: musí být čitelné při každém opětovném vyjednávání a ochrana, kterou potřebujete, je na souboru.

Držte ty dva důvody oddělené v komentářích profilu, jinak další správce bude předpokládat, že volba je tam z důvodu, který by si vybral on.

Srovnání v jednom rozhodnutí

Zvolte interaktivní model, když je přítomen člověk a záleží na čerstvosti, a přijměte opakovaný dotaz jako jeho cenu. Zvolte model souboru, když klient běží bez dohledu, a věnujte úsilí vlastnictví, režimu a odložení oprávnění.

Ani jeden model sám o sobě nedělá uložené heslo bezpečným a ani jeden nedělá varování při spuštění smysluplným.

Pokud je varování jediným důvodem, proč jste profil otevřeli, zapište rozhodnutí místo nevysvětlené volby: údaje pocházejí ze souboru čitelného pro účet démona, opětovné vyjednávání bylo viděno jako úspěšné a v manuálu OpenVPN 2.6 byla přečtena část o opětovném vyjednávání před změnou jeho intervalu. Tahle poznámka přežije každý jednotlivý přepínač.

Související články