Den Tunnel verbënnt sech vun enger Heemlinn a bleift an engem Hotel- oder Bürosnetz stoen, an d’Verschiewe vum Server op de Port 443 huet näischt geännert. Dëst Resultat ass heefeg genuch, fir eng Form ze hunn: de Port war den einfachen Deel, an de Rescht vun der Entscheedung gehéiert zu allem, wat tëschent dem Client an dem Server sëtzt. Zwou Froen entscheeden déi meeschte Fäll, an keng vun hinne geet ëm Chifferen. Akzeptéiert den Netz en TLS-Handshake op déi Adress, an hält de Client eng Route zu sengem eegenen Ëmhuel, wärend den Tunnel uewen ass?

Den Handshake verréit méi wéi d’Nummer

En nativen VPN-Lauschterer op TCP 443 schwätzt säi eigenen Protokoll vum éischte Paket un. En ClientHello huet e Versiounsfeld, en Zoufallswäert an eng Lëscht vun Erweiderungen, an en Apparat, deen e puer honnert Byte liest, gesäit den Ënnerscheed ouni eppes ze entschlësselen. Portnummeren si bëlleg ze befriddigen, an d’Form vum Protokoll ass dat, wat de Filter tatsächlech kontrolléiert. Regelen ginn meeschtens och pro Protokoll geschriwwen, also seet eng Politik, déi TLS inspizéiert, näischt iwwer UDP.

En transparente Proxy, deen op enger gülteger TLS-Sessioun insistéiert, fält d’Verbindung beim Opbau, dacks nodeems den TCP-Handshake fäerdeg ass. Dat Detail ass méi spéit wichteg, well et bedeit, datt de Client-Log stoppt, nodeems de Socket etabléiert ass.

D’Stral ëmhuelen schaaft zwee Feelerpunkten

En TLS-Ëmhuel wéi stunnel restauréiert déi erwaart Form: de Client verbënnt sech mat engem lokale Lauschterer, den Ëmhuel mécht eng richteg TLS-Sessioun zum Server op 443 op, an en zweeten Ëmhuel um Server gëtt déi entschlësselt Byte un den VPN-Daemon weider. D’baussenst Sessioun gesäit elo aus wéi all aner HTTPS-Verbindung. Den VPN-Daemon um Server sollt nëmmen um Loopback lauschteren, well näischt baussen dem Ëmhuel muss en erreechen.

Dräi getrennte Saachen musse fir dës Konstruktioun zesummepassen. D’Client-Profil weist op de lokale Lauschterer, d’Server-Zertifikat passt zum Numm, deen de Client verifizéiert, an d’Weiderleedung op der Serversäit zilt op de Port, deen den Daemon wierklech benotzt. Sidd Dir an enger vun dëse falsch, stierft d’Verbindung, ier d’VPN-Schicht erreecht gëtt. Dann erschéngt eng Zertifikatsdifferenz als Ëmhuel-Fehler an net als VPN-Fehler, an dofir ass et derwäert, béid Logs niewenteneen ze liesen.

D’Route zum Ëmhuel ass d’Falle

Soubal den Tunnel uewe kënnt, weist d’Standardroute doran, an déi baussenst TLS-Sessioun brauch e Wee, deen net an den Tunnel geet, deen hatt dréit. En normale VPN-Client schützt d’Adress, déi en urifft; en ëmhuelte Client rifft säi eigenen Loopback un, also ass d’Destinatiounsadress vum Ëmhuel fir dëse Schutz onsichtbar.

sudo ip route add 198.51.100.20 via 192.168.0.1
sudo openvpn --config client.ovpn
sudo ip route del 198.51.100.20

Déi genau Adressen fëllt Dir selwer aus, an d’Route muss fir d’ganzt Liewen vun der Verbindung existéieren, net nëmmen beim Start. En klengt Ëmhuel-Skript, dat d’Route virum Client derbäisetzt an duerno ewechhëlt, ass zouverlässeger wéi eng gemierkt Kommando.

Op Android ass d’Géigestéck zu dëser Ausnam eng Astellung pro App: schléisst d’Ëmhuel-App aus dem Tunnel aus, sou datt hire eigenen Trafik iwwer d’Mobilverbindung erausgeet. Ouni d’Ausschloss gëtt den Ëmhuel an den Tunnel geleet, deen en ze baue probéiert, an de Reconnect-Loop gesäit aus wéi e Serverproblem.

Liest d’Timing, ier Dir eppes ännert

Eng Sessioun, déi all Kéier no dem selwechten Intervall stierft, ass eng Politik-Signatur an net en kryptografesche Fehler, an laangfristeg Flux-Limiten produzéieren genau dëst Muster. Eng Verbindung, déi direkt no dem Handshake zréckgesat gëtt, deit op e Proxy hin, deem d’Zertifikatskette net gefall huet.

Vergläicht den Aussteller vum Zertifikat vun enger gewéinlecher HTTPS-Säit aus béiden Netzer. Wann den Aussteller am ageschränkten Netz anescht ass, schléisst eppes TLS an der Mëtt of, an keen Ëmhuel iwwerlieft dës Ofaachung onverännert. Dee selwechte Verglach seet Iech, ob d’Spär op Ären Servernumm oder op all TLS-Sessioun op där Adress zilt.

Schreift dat observéiert Verhalen op: wéi laang d’Sessioun gedauert huet, ob de Socket opgaang ass, ob den Ëmhuel en Handshake geloggt huet. Jiddereen dovun enkelt den nächsten Test an.

Test een eenzegt Element op eemol

Préift als éischt UDP, well eenzel Netzer et komplett verwerfen an en UDP-Fehler seet näischt iwwer 443. Da probéiert TCP 443 ouni den Ëmhuel, duerno den Ëmhuel op 443. Liest de Client-Log bei all Schrëtt a stoppt, soubal d’Verhalen sech ännert.

Ännert een Element pro Versuch. En neie Port, en neien Ëmhuel an eng nei Chiffer am selwechte Laf loossen Iech net soen, wéi eng vun den dräi gezielt huet.

Ähnlech Artikelen