Kur TLS yra OpenVPN viduje ir kas keičia formą
OpenVPN vykdo TLS savo valdymo kanalui savo paties rėmuose, todėl pirmieji baitai nėra žiniatinklio rankos paspaudimas. Trys parinktys iš tiesų keičia tai, kas matoma.
OpenVPN tikrai naudoja TLS, ir žmonės įprastai išplečia tai iki teiginio, kurio jis negali išlaikyti: kad tunelis dėl to atrodo kaip svetainę lankanti naršyklė. Pirmoji dalis tiesa. Antroji ne. TLS čia priklauso valdymo kanalui, kuris keliauja OpenVPN savo konteinerio viduje, šalia naudingosios apkrovos kanalo su visiškai kita kriptografija, todėl kas tyrinėja pradinius baitus, mato OpenVPN.
Du pokalbiai viename voke
Įsivaizduokite sesiją kaip du pokalbius, besidalijančius vienu voku. Vienas tikrina sertifikatus ir išveda raktų medžiagą. Kitas šifruoja tai, ką iš tikrųjų siunčiate, naudodamas tai, ką sukūrė pirmasis.
Vokas yra protokolas. Kiekvienas paketas prasideda maža antrašte, kuri įvardija jo tipą, ir ta antraštė ateina prieš visa kita.
Kas iš tikrųjų ateina pirmiausia
Dėl šios tvarkos pirmas dalykas laide nėra TLS įrašas. Tai OpenVPN antraštė, o po jos eina to kanalo, kurį antraštė paskelbia, turinys. ClientHello ten egzistuoja, tik ne nuliniame baite. Skirtumui pastebėti nereikia jokio iššifravimo, nes forma pati jį išduoda.
Numatytosios reikšmės čia taip pat svarbios. Srautas eina UDP į 1194, jei profilis nepasirenka TCP. Abiem atvejais išorinis vaizdas yra tunelis, o ne žiniatinklio užklausa.
Trys sąžiningi būdai pakeisti formą
TLS terminatorius, pavyzdžiui, stunnel, priima TLS prievade abiejuose galuose ir perduoda iššifruotą srautą OpenVPN vietoje, todėl tinklas mato TLS į tą prievadą. Protokolas, kuris yra TLS nuo pirmo baito, elgiasi dar kitaip: ocserv įgyvendinamas AnyConnect suderinamas mainas primena įmonės nuotolinę prieigą, kurios daugelis tinklų jau tikisi. SSTP, kuris ateina su Windows, turi tą pačią savybę kitame produkte.
Linux SSH parinktis -w perduoda taškas-taškas ryšį SSH sesijos viduje, o tai naudinga, kai SSH yra vienintelis leistinas protokolas. Ji yra pigiausia iš keturių, jei SSH jau veikia iš to tinklo, ir mažiausiai naudinga, jei ne.
Ko nė viena iš jų nekeičia
Nė viena iš jų nekeičia to, ką tunelis gali pasiekti. Jos nepadaro užblokuoto adreso pasiekiamo, nieko neautentifikuoja ir nenustato maršrutų.
Apvalkalas taip pat kainuoja vieną komponentą. Du klausytojai ir du konfigūracijos failai reiškia dvi gedimo vietas, ir abi atrodo vienodai iš naudotojo vietos. Sudarykite tam biudžetą prieš priimdami vieną. Sesija išlieka vienu ilgalaikiu šifruotu srautu į vieną paskirties vietą, o jos apimtis ir laikas išlieka matomi.
Pirmiausia diagnozuokite, tada rinkitės
Taigi pirmiausia diagnozuokite. Numestas UDP atsakomas TCP režimu, o atpažintas parašas – kitu protokolu ar apvalkalu. Įrankio pasirinkimas prieš sužinant bloką yra kelias, kuriuo žmonės galiausiai prižiūri tris sluoksnius, kurie visi nepavyksta dėl tos pačios priežasties.
Tinklas, leidžiantis tik žiniatinklio prievadus, susiaurina pasirinkimą iki TLS pagrįsto protokolo 443 prievade. Taikant visus tris iš karto gaunamas stekas, kurio niekas negali derinti, todėl pakeiskite vieną dalyką ir iš naujo išbandykite tą patį srautą.
Jei nė viena netinka, tikslus atsakymas yra tai, kad šis tinklas neperneš tunelio jums. Tai radinys, o ne pastangų nesėkmė. Daugiau parinkčių perrinkimas nepanaikina aukščiau priimto politikos sprendimo.
Viena riba stovi prieš visa tai. Leidimas vykdyti tunelį kažkieno kitame tinkle yra politikos klausimas, sprendžiamas atskirai nuo to, ar mechanizmas veikia. Šie faktai paaiškina, ką mato stebėtojas, ir jie nesuteikia leidimo.