Zapněte auth-nocache a varování o kešování hesla zmizí spolu s kopií údajů, kterou OpenVPN držel pro příští renegociaci. Zda se z toho stane výzva, tichý pokus nebo spadlý tunel, závisí na tom, odkud údaje přijdou podruhé. Proto je to srovnání podob nasazení, nikoli verdikt o volbě. Přečtěte si podobu, kterou skutečně provozujete, než upravíte jakýkoli profil.

Odkud musí přijít druhá sada údajů

OpenVPN uplatňuje auth-nocache na tajnosti shromážděné auth-user-pass a askpass: jakmile se použijí, proces je zahodí, místo aby je držel pro příští handshake. Renegociace přichází podle časovače, ve výchozím nastavení jednou za hodinu, takže druhý požadavek dorazí dlouho poté, co člověk, který heslo zadal, odešel. Ta mezera je celý příběh. Když keš zůstane zapnutá, klient přehraje uloženou kopii, aniž by se někoho ptal; když je vypnutá, musí tajnost najít jinde, nebo selhat.

Proto vypište každé místo, odkud by tajnost v tu chvíli mohla přijít, a buďte upřímní ohledně toho, která z nich na hostiteli existují. Člověk u terminálu, soubor, který auth-user-pass nebo askpass umí přečíst, nebo serverem vydaný token relace jsou tři, na kterých tu záleží. Pokud není k dispozici žádné z nich, renegociace selže hodinu po změně, nikoli v okamžiku, kdy jste ji provedli.

Tři podoby, tři místa selhání

Desktopový klient s člověkem před sebou je mírný případ: výzva se vrátí, někdo znovu zadá heslo a cenou je pozornost. Služba, kontejner nebo router provozující OpenVPN bez terminálu je tvrdý případ, protože není kdo by odpověděl a spojení, které bývalo tiché, nyní tunel ukončí. Hybrid stojí mezi nimi a chová se jako desktopový případ, dokud nezmizí relace, která by na výzvu mohla odpovědět. Neodděluje je to, zda je nainstalováno GUI, ale to, zda v době renegociace existuje zdroj údajů.

Přiřaďte své nasazení k jedné z těch tří podob, než cokoli změníte, protože rada, kterou najdete online, je téměř vždy psaná pro první. Použití desktopové odpovědi na službu bez terminálu je způsob, jak tunel, který měsíce fungoval, začne každou hodinu padat.

Direktiva, nebo přepínač: vyberte si jeden a vězte, který jste použili

Uvnitř profilu je auth-nocache samostatný řádek; při volání, které profil výslovně pojmenovává, je to přepínač na tomto příkazovém řádku a příručka OpenVPN uvádí obě podoby. Obě dělají totéž se zadržováním údajů a ani jedna nezasahuje do typu rozhraní ani neopravuje nesouvisející varování ve stejném logu. Rozdíl je v trvalosti: přepínač platí jen pro toto spuštění, takže služba restartovaná z unit souboru nebo obalového skriptu ho mít nebude, pokud ho obal také nepředá.

auth-nocache
openvpn --config /path/client.ovpn --auth-nocache

Rozhodněte, který artefakt nastavení vlastní, změňte ho tam a nikde jinde. Profil upravený na notebooku plus systemd unit, který ho přepínačem přebíjí, je dvojice, která po restartu vytváří protichůdné chování.

Soubor s údaji tajnost přesouvá, místo aby ji mazal

Nasměrování auth-user-pass na soubor dává každé další renegociaci zdroj a také umisťuje heslo někam, kde přežije restarty. Ptejte se, kdo ten soubor může číst, zda ho démon po zbavení privilegií ještě přečte a co se stane, když je souborový systém připojen jen pro čtení nebo pohled kontejneru cestu skryje. Tajnost na disku a tajnost v paměti jsou různé problémy a vyřešení jednoho nechává druhé na místě. Rotace je krok, který se přeskakuje: heslo změněné na serveru, ale ne v souboru, vytváří selhání, které se čte jako síťová závada.

Soubor vlastněte účtem, který spouští démona, nikdo jiný ho nesmí číst a nesmí být v zálohách, které opouštějí hostitele. Serverová volba OpenVPN auth-gen-token předá klientovi po úspěšném přihlášení token relace, což je menší věc na ponechání kolem než heslo účtu. Krok rotace zapište vedle souboru tak jako tak, protože soubor obvykle přežije člověka, který ho vytvořil.

Prodloužení renegociace cenu posouvá, neodstraňuje

Další návrh je zvýšit reneg-sec, dokud výzva nebude natolik vzácná, že ji lze ignorovat. Tím se přepíše plán rotace klíčů relace a stejný problém údajů se odsune do pozdějšího, méně předvídatelného okamžiku; zdroj údajů to nevytvoří. Zásada, která obnovuje klíče podle plánu z nějakého důvodu, by se neměla uvolňovat jen kvůli tomu, aby se nemuselo psát heslo.

Testujte opětovné připojení, ne relaci, ve které sedíte, protože živá relace nic nedokazuje. Shodte tunel ze strany serveru nebo restartujte klientskou službu a sledujte, co příští renegociace udělá, když u klávesnice nikdo není. Pokud se připojí znovu, pojmenujte mechanismus, který tajnost dodal; pokud ne, našli jste skutečnou cenu volby na tomto hostiteli. Každý z výsledků vám dává odpověď, která platí během výpadku, místo odpovědi, která platila během testování.

Ve spravované flotile by ten, kdo nasazení vlastní, měl umět pojmenovat tři věci: odkud údaje pocházejí, kde jsou uloženy a kdo je rotuje. Pokud je některou z těch odpovědí člověk, který hostitele nastavil, volba tam ještě není bezpečná.

Související články