OpenVPN TLS titkosítási hiba: először hasonlítsa össze mindkét felet
A „nincs közös titkosítás“ hiba a TLS vezérlőcsatornához tartozik, nem a data-ciphershez. Először a verziókat, aztán a suite-listákat, végül bizonyítsa a tárgyalást.
A „nincs közös titkosítás“ hiba egyetlen módosítandó beállításnak hangzik, és a beállítás, amelyet a legtöbben módosítanak, a rossz. OpenVPN külön házirendet tart a TLS kézfogást végző vezérlőcsatornához és a tunelen belül csomagokat vivő adatcsatornához, és a hiba az elsőt nevezi meg, miközben az emberek a másodikat szerkesztik. Annak összehasonlítása, mit engedélyez mindkét fél, helyes sorrendben, két vagy három döntéssé alakítja a találgatást: verzió, aztán suite-lista, aztán hitelesítő adatok.
Ha ezt a sorrendet elrontja, egy órát tölthet azzal, hogy AES-nevet ad egy listához, amelyet soha nem néztek meg.
Két titkosítási lista, és csak az egyik töri el a kézfogást
A vezérlőcsatorna TLS-munkamenetet tárgyal, és házirendje ezzel írható le: tls-cipher a TLS 1.2-höz és tls-ciphersuites a TLS 1.3-hoz. Az adatcsatorna külön állítható be ezzel: data-ciphers, ahol az eltérés olyan kapcsolatot hoz létre, amely felépül, majd nem tud forgalmat átvinni. Mindkettő titkosításokat említő hibákat ad, ezért keverik össze őket. A soha be nem fejeződő kézfogás a vezérlőcsatornára mutat, míg a felépült, de csomagokat eldobó tunel az adatcsatornára.
Az egész üzenetet olvassa el, ne az első sort. A verzióeltérés, a hiányzó suite, a fél által elutasított tanúsítvány-aláírási algoritmus és a gépnév-ellenőrzés kudarca mind TLS-hibába torkollik, és ezek közül csak egy szól a suite-listájáról. E kategóriák szétválasztása a diagnózis nagy része.
A suite-ok előtt hasonlítsa össze a verziókat
A TLS 1.2-re korlátozott fél és az 1.3-at megkövetelő fél nem oszt meg egyetlen verziót sem, és ezt semmilyen titkosítási karakterlánc nem hidalja át. Jegyezze fel tls-version-min és tls-version-max mindkét oldalon, vagy a használt buildek alapértékeit, mert egy disztribúció OpenSSL-házirendje megemelheti az alsó korlátot anélkül, hogy bármely OpenVPN-opció ezt mondaná. Ha az egyik fél készülék vagy harmadik feles kliens, az ablaka az, amit a firmware engedélyez. Csak akkor van értelme a suite-összehasonlításnak, ha az ablakok átfednek.
Ezeknek a feljegyzéseknek a tényleges binárisokat is meg kell nevezniük. Egy openvpn parancssorból a laptopján nem feltétlenül az a kliens, amely az importált profilt kezeli.
A TLS 1.2-es és TLS 1.3-as listák nem keverednek
A TLS 1.2 suite-nevek így néznek ki: ECDHE-RSA-AES256-GCM-SHA384 és ide tartoznak: tls-cipher, amely OpenSSL titkosítási karakterláncot fogad. A TLS 1.3 suite-ok neve így hangzik: TLS_AES_256_GCM_SHA384 és ide tartoznak: tls-ciphersuites; egyet az 1.2-es karakterlánchoz adva nem állítja be az 1.3-as listát, és az elemző elfogadhatja a szöveget anélkül, hogy valaha egyeztetné. Az egyik verzióhoz helyes szűrő semmit nem mond a másikról. Írja fel, melyik lista melyik verzióhoz készült.
openvpn --show-tls kiírja, mit támogat a helyi build, és ez leltár, nem ígéret: a távoli fél lehet, hogy nem engedi ezeket a suite-okat, és az aktív profil lehet, hogy nem engedélyezi őket. Arra használja, hogy kizárjon egy buildet, amely egyáltalán nem tud suite-ot kínálni, majd hasonlítsa össze a beállított listákat.
Bizonyítsa a tárgyalást egy friss kapcsolaton
A sikeres kézfogás az egyetlen bizonyíték, amely számít, és a valódi kliensnek kell adnia a valódi profillal. Növelje a kiszolgáló részletességét, csatlakozzon egyszer, és olvassa ki a naplóból a tárgyalt protokollverziót és suite-ot ahelyett, hogy feltételezné, az első felajánlott érték nyert. Ezután külön erősítse meg az adatcsatornát a tunelen átmenő forgalommal, mert a működő kézfogás és a meghibásodó adatcsatorna különböző javítások. Ismételje meg minden konfigurációváltozás után, mert az elavult kliensprofil gyakori hamis negatív.
Ha nincs jóváhagyott közös konfiguráció, a válasz frissítés vagy migrációs terv, nem legyengített házirend. tls-version-min csökkentése, az ellenőrzés kikapcsolása vagy minden régi suite engedélyezése megszünteti az elutasítást anélkül, hogy teljesítené az azt létrehozó biztonsági követelményt.
Jegyezze fel a tárgyalt verziót, a suite-ot és az adattitkosítást a változási jegybe. A következő ember, aki TLS-hibába fut, ebből a feljegyzésből indul, nem egy fórumbejegyzésben talált titkosítási karakterláncból.