Kde v OpenVPN sedí TLS a čo mení jeho podobu
OpenVPN prevádzkuje TLS pre svoj riadiaci kanál vo vlastnom rámovaní, takže prvé bajty nie sú webový handshake. Tri možnosti skutočne menia to, čo je vidieť.
OpenVPN naozaj používa TLS a ľudia to bežne rozširujú na tvrdenie, ktoré to neunesie: že tunel preto vyzerá ako prehliadač navštevujúci web. Prvá časť je pravda. Druhá nie. TLS tu patrí riadiacemu kanálu, ktorý putuje vnútri vlastného kontajnera OpenVPN, vedľa kanála užitočného zaťaženia s úplne inou kryptografiou, takže kto skúma úvodné bajty, vidí OpenVPN.
Dve konverzácie v jednej obálke
Predstavte si reláciu ako dve konverzácie zdieľajúce jednu obálku. Jedna overuje certifikáty a odvodzuje kľúčový materiál. Druhá šifruje to, čo skutočne posielate, pomocou toho, čo vytvorila prvá.
Obálka je protokol. Každý paket začína malou hlavičkou, ktorá pomenúva jeho typ, a táto hlavička prichádza skôr než čokoľvek iné.
Čo skutočne dorazí prvé
Kvôli tomuto poradiu nie je prvou vecou na drôte záznam TLS. Je to hlavička OpenVPN, za ktorou nasleduje obsah toho kanála, ktorý hlavička oznamuje. ClientHello tam existuje, len nie na nultom bajte. Na postrehnutie rozdielu nie je potrebné žiadne dešifrovanie, pretože tvar to prezradí sám.
Aj predvolené hodnoty tu hrajú úlohu. Tok ide cez UDP na 1194, ak profil nezvolí TCP. V oboch prípadoch je vonkajšia podoba tunel, nie webová požiadavka.
Tri poctivé spôsoby, ako zmeniť tvar
TLS terminátor ako stunnel prijíma TLS na porte na oboch koncoch a odovzdáva dešifrovaný tok OpenVPN lokálne, takže sieť vidí TLS na tento port. Protokol, ktorý je TLS od prvého bajtu, sa správa inak: výmena kompatibilná s AnyConnect, ktorú implementuje ocserv, pripomína podnikový vzdialený prístup, ktorý mnohé siete už očakávajú. SSTP, ktoré dodáva Windows, má rovnakú vlastnosť v inom produkte.
V Linuxe voľba -w v SSH prenáša spojenie bod-bod vnútri relácie SSH, čo je užitočné, keď je SSH jediným povoleným protokolom. Je najlacnejšia zo štyroch, ak SSH z tej siete už funguje, a najmenej užitočná, ak nefunguje.
Čo žiadna z nich nemení
Nič z toho nemení, kam sa tunel môže dostať. Nesprístupňujú blokovanú adresu, nikoho neautentifikujú a nerozhodujú o trasách.
Obal vás tiež stojí jednu komponentu. Dvaja poslucháči a dva konfiguračné súbory znamenajú dve miesta zlyhania a obe vyzerajú z miesta používateľa rovnako. Počítajte s tým, než ho prijmete. Relácia zostáva jediným dlhodobým šifrovaným tokom k jednému cieľu a jej objem a časovanie zostávajú viditeľné.
Najprv diagnostika, potom voľba
Takže najprv diagnostikujte. Zahodený UDP rieši režim TCP a rozpoznaný podpis iný protokol alebo obal. Voľba nástroja skôr, než poznáte blok, je spôsob, ako ľudia skončia s údržbou troch vrstiev, ktoré všetky zlyhávajú z toho istého dôvodu.
Sieť, ktorá povoľuje len webové porty, zužuje voľbu na protokol založený na TLS na 443. Použitie všetkých troch naraz dá stack, ktorý nikto nedokáže ladiť, takže zmeňte jednu vec a otestujte znova ten istý tok.
Ak neplatí žiadna, presná odpoveď je, že táto sieť tunel pre vás neprepne. To je zistenie, nie zlyhanie snahy. Prechádzanie ďalších možností nezvráti politické rozhodnutie prijaté vyššie.
Pred tým všetkým stojí jedna hranica. Povolenie prevádzkovať tunel v cudzej sieti je politická otázka, rozhodovaná oddelene od toho, či mechanizmus funguje. Tieto fakty vysvetľujú, čo pozorovateľ vidí, a nedávajú povolenie.