Waar TLS in OpenVPN sit, en wat die vorm verander
OpenVPN laat TLS vir sy beheerkanaal binne sy eie raamwerk loop, so die eerste grepe is nie 'n web-handdruk nie. Drie opsies verander wel wat gesien word.
OpenVPN gebruik inderdaad TLS, en mense brei dit gereeld uit tot 'n bewering wat dit nie kan dra nie: dat 'n tonnel daarom soos 'n blaaier lyk wat 'n webwerf besoek. Die eerste deel is waar. Die tweede is nie. TLS hier hoort by 'n beheerkanaal wat binne OpenVPN se eie houer reis, saam met 'n vragkanaal met heeltemal ander kriptografie, so wie die openinggrepe inspekteer, sien OpenVPN.
Twee gesprekke in een koevert
Dink aan 'n sessie as twee gesprekke wat een koevert deel. Een daarvan verifieer sertifikate en lei sleutelmateriaal af. Die ander een versleutel wat jy werklik stuur, met dit wat die eerste een opgelewer het.
Die koevert is die protokol. Elke pakket begin met 'n klein kop wat sy tipe noem, en daardie kop kom voor enigiets anders.
Wat werklik eerste aankom
As gevolg van daardie ordening is die eerste ding op die draad nie 'n TLS-rekord nie. Dit is OpenVPN se kop, gevolg deur die inhoud van watter kanaal die kop ook al aankondig. 'n ClientHello bestaan daarbinne, net nie by grepe nul nie. Geen ontsyfering is nodig om die verskil raak te sien nie, want die vorm alleen verraai dit.
Verstekwaardes maak hier ook saak. Die vloei is UDP na 1194 tensy die profiel TCP kies. In albei gevalle is die uiterlike voorkoms 'n tonnel eerder as 'n webversoek.
Drie eerlike maniere om die vorm te verander
'n TLS-terminator soos stunnel aanvaar TLS op 'n poort aan elke kant en gee die ontsleutelde stroom plaaslik aan OpenVPN oor, so die netwerk sien TLS na daardie poort. 'n Protokol wat van die eerste greep af TLS is, gedra hom weer anders: die AnyConnect-versoenbare uitruiling wat ocserv implementeer, lyk soos die korporatiewe afstandtoegang wat baie netwerke reeds verwag. SSTP, wat saam met Windows kom, het dieselfde eienskap in 'n ander produk.
Op Linux dra SSH se -w-opsie 'n punt-tot-punt-skakel binne 'n SSH-sessie, wat nuttig is wanneer SSH die enigste toegelate protokol is. Dit is die goedkoopste van die vier as SSH reeds van daardie netwerk af werk, en die minste nuttig as dit nie werk nie.
Wat nie een van hulle verander nie
Nie een hiervan verander wat die tonnel kan bereik nie. Hulle maak nie 'n geblokkeerde adres bereikbaar nie, hulle verifieer niemand nie, en hulle besluit nie oor roetes nie.
'n Omhulsel kos jou ook 'n komponent. Twee luisteraars en twee konfigurasielêers beteken twee plekke vir 'n fout, en albei lyk identies van die gebruiker se stoel af. Begroot daarvoor voordat jy een aanneem. Die sessie bly 'n enkele langdurige versleutelde vloei na een bestemming, en sy volume en tydsberekening bly sigbaar.
Diagnoseer eers, kies dan
Diagnoseer dus eers. Gedropte UDP word deur TCP-modus beantwoord, en 'n herkenbare handtekening word deur 'n ander protokol of 'n omhulsel beantwoord. Om 'n instrument te kies voordat jy die blokkeering ken, is hoe mense uiteindelik drie lae onderhou wat almal om dieselfde rede faal.
'n Netwerk wat net webpoorte toelaat, vernou die keuse tot 'n TLS-gebaseerde protokol op 443. Om al drie gelyk toe te pas gee jou 'n stapel wat niemand kan ontfout nie, so verander een ding en hertoets dieselfde vloei.
As nie een van hulle van toepassing is nie, is die akkurate antwoord dat hierdie netwerk nie 'n tonnel vir jou sal dra nie. Dit is 'n bevinding eerder as 'n mislukking van poging. Om meer opsies te deurloop keer nie 'n beleidsbesluit wat stroomop geneem is nie.
Een grens staan voor dit alles. Toestemming om 'n tonnel op iemand anders se netwerk te laat loop, is 'n beleidsaangeleentheid wat afsonderlik besluit word van of die meganisme werk. Hierdie feite verduidelik wat 'n waarnemer sien, en hulle verleen nie toestemming nie.