OpenVPN opravdu používá TLS a lidé to běžně rozšiřují na tvrzení, které to neunese: že tunel proto vypadá jako prohlížeč navštěvující web. První část je pravda. Druhá ne. TLS tu patří řídicímu kanálu, který putuje uvnitř vlastního kontejneru OpenVPN, vedle kanálu užitečného zatížení se zcela jinou kryptografií, takže kdo zkoumá úvodní bajty, vidí OpenVPN.

Dvě konverzace v jedné obálce

Představte si relaci jako dvě konverzace sdílející jednu obálku. Jedna ověřuje certifikáty a odvozuje klíčový materiál. Druhá šifruje to, co skutečně posíláte, pomocí toho, co vytvořila první.

Obálka je protokol. Každý paket začíná malou hlavičkou, která pojmenovává jeho typ, a tato hlavička přichází dřív než cokoli jiného.

Co skutečně dorazí první

Kvůli tomuto pořadí není první věcí na drátě záznam TLS. Je to hlavička OpenVPN, za níž následuje obsah toho kanálu, který hlavička oznamuje. ClientHello tam existuje, jen ne na nultém bajtu. K postřehnutí rozdílu není potřeba žádné dešifrování, protože tvar to prozradí sám.

Výchozí hodnoty tu také hrají roli. Tok jde přes UDP na 1194, pokud profil nezvolí TCP. V obou případech je vnější podoba tunel, nikoli webový požadavek.

Tři poctivé způsoby, jak změnit tvar

TLS terminátor jako stunnel přijímá TLS na portu na obou koncích a předává dešifrovaný tok OpenVPN lokálně, takže síť vidí TLS na tento port. Protokol, který je TLS od prvního bajtu, se chová jinak: výměna kompatibilní s AnyConnect, kterou implementuje ocserv, připomíná podnikový vzdálený přístup, který mnoho sítí už očekává. SSTP, které dodává Windows, má stejnou vlastnost v jiném produktu.

V Linuxu přenáší volba -w v SSH spojení bod-bod uvnitř relace SSH, což je užitečné, když je SSH jediným povoleným protokolem. Je nejlevnější ze čtyř, pokud SSH z té sítě už funguje, a nejméně užitečná, pokud nefunguje.

Co žádná z nich nemění

Nic z toho nemění, kam se tunel může dostat. Nezpřístupňují blokovanou adresu, nikoho neautentizují a nerozhodují o trasách.

Obal vás také stojí jednu komponentu. Dva posluchače a dva konfigurační soubory znamenají dvě místa pro selhání a obě vypadají z místa uživatele stejně. Počítejte s tím, než jej přijmete. Relace zůstává jediným dlouhodobým šifrovaným tokem k jednomu cíli a její objem a časování zůstávají viditelné.

Nejprve diagnostika, pak volba

Takže nejprve diagnostikujte. Zahozený UDP řeší režim TCP a rozpoznaný podpis jiný protokol nebo obal. Volba nástroje dřív, než znáte blok, je způsob, jak lidé skončí se třemi vrstvami, které všechny selhávají ze stejného důvodu.

Síť, která povoluje jen webové porty, zužuje volbu na protokol založený na TLS na 443. Použití všech tří najednou dá stack, který nikdo nedokáže ladit, takže změňte jednu věc a otestujte znovu stejný tok.

Pokud neplatí žádná, přesná odpověď je, že tato síť tunel pro vás nepřenese. To je zjištění, ne selhání snahy. Procházení dalších možností nezvrací politické rozhodnutí učiněné výš.

Před tím vším stojí jedna hranice. Povolení provozovat tunel v cizí síti je politická otázka, rozhodovaná odděleně od toho, zda mechanismus funguje. Tato fakta vysvětlují, co pozorovatel vidí, a nedávají povolení.

Související články