Jak OpenVPN data-ciphers vybírá šifru datového kanálu
Server nabízí seznam a klient vybírá první shodu. Přečtěte si oba řádky protokolu, porovnejte seznamy a přidejte záložní volbu jen tam, kde ji protějšek potřebuje.
Tunel se zvedne, protokol ukáže šifru a kontrola profilu jde dál. Pak přijde aktualizace na jednom protějšku a tentýž profil selže s hláškou o žádné společné šifře, což lidi pošle hledat direktivu, kterou je třeba smazat. Užitečné je pochopit, že data-ciphers popisuje vyjednávání, ne nastavení. Jedna strana nabídne seznam, druhá z něj vybírá a výsledkem je jediný algoritmus, který obě podporují. Přečtení té výměny vysvětlí většinu těchto selhání dřív, než změníte jediný řádek.
Dva kanály, dvě konfigurace
Relace OpenVPN má řídicí kanál a datový kanál. Řídicí kanál vede TLS handshake, který ověřuje protějšky a vyjednává klíče. Datový kanál šifruje pakety, které přenášejí váš provoz.
data-ciphers konfiguruje ten druhý. Řídicí kanál má vlastní volby a kontroly identity profilu jsou třetí, samostatná záležitost. Změna jednoho neopraví druhé, a proto může profil vypadat správně a přesto selhat v určité fázi.
Když čtete konfigurační soubor, držte ty tři v oddělených přihrádkách.
Přečtěte vyjednávání z protokolu
Klientský protokol uvádí oba výsledky, když spojení uspěje. Jeden řádek hlásí řídicí kanál a jeho TLS podrobnosti a jiný hlásí vybranou šifru datového kanálu.
Přečtěte oba, protože odpovídají na různé otázky. Selhání řídicího kanálu zastaví spojení dřív, než začne záležet na jakékoli datové šifře. Neshoda datového kanálu se objeví po úspěšném handshake, s hláškou o žádné společné šifře.
Pak porovnejte nabízené seznamy na obou stranách. Název, který verze jednoho protějšku nebo jeho kryptografické zázemí neposkytuje, nelze vybrat, bez ohledu na to, jak brzy se objeví v seznamu druhého protějšku.
Jak výběr vlastně probíhá
Server při handshake posílá klientovi svůj seznam data-ciphers a klient vybere první položku v tomto seznamu, kterou také podporuje. Pořadí tedy patří ke konfiguraci serveru, ne klienta.
Tento detail vysvětluje jednu třídu matoucích výsledků. Přeuspořádání klientského seznamu nic nezmění, dokud rozhoduje seznam serveru. Přidání šifry, kterou klient neumí poskytnout, také nic nezmění, protože klient musí umět vybranou položku použít.
Novější vydání změnila výchozí seznam a přejmenovala volbu, která ho dřív držela, takže dva protějšky na různých verzích se mohou rozejít, aniž by kdokoli upravil profil. Než budete předpokládat překlep, zkontrolujte verzi na každé straně.
Seznam není v abstraktním smyslu žebříček síly. Je to sada kandidátů a vybraný je první vzájemně podporovaná položka v pořadí serveru. Proto mohou dva seznamy, které vypadají různě, vyjednat stejnou šifru. Proto také mohou dva seznamy, které vypadají stejně, selhat.
Starší protějšky potřebují záměrnou záložní volbu
Protějšek, který vůbec nemůže vyjednávat, protože je starší než mechanismus nebo ho má vypnutý, potřebuje zdokumentované uspořádání kompatibility. Záložní volba existuje přesně pro tento případ a platí pro protějšky, které se vyjednávání neúčastní.
To není totéž jako zapnout každou starší šifru, aby hláška zmizela. Široký seznam oslabuje relaci pro každý protějšek, včetně těch, které by byly vyjednaly něco silného.
Slaďte obě strany, místo abyste upravovali nesouvisející názvy algoritmů. Pokud aktualizace serveru odstranila starou volbu, oprava patří do plánu verzí, ne do zmateného hledání na klientovi.
Zachovejte ověřování v celku
Neshoda datového kanálu není důvod přijmout neověřený server. Ověření certifikátu, očekávané jméno serveru a nastavení ochrany řídicího kanálu jsou oddělené od výběru šifry a měly by přežít každou změnu kompatibility.
Zaznamenejte vyjednanou datovou šifru, verzi klienta a verzi serveru společně, aby příští srovnání začalo od faktů, ne od souboru profilu.
Po podporované opravě otestujte počáteční spojení a nové vyjednání, protože relace, která se jednou naváže, může při obnově klíčů stále selhat.
Pokud se tunel naváže a weby stále selhávají, šifra už není podezřelá. Pokračujte směrováním a DNS. Pořadí práce: přečtěte oba řádky protokolu, porovnejte oba seznamy, zkontrolujte verze, přidejte záložní volbu jen protějšku, který ji potřebuje, a pak znovu otestujte cestu obnovy.