Tady se vrší tři transportní vrstvy a každá má své vlastní rámování. Užitečné zatížení VPN cestuje uvnitř relace TLS, tato relace TLS cestuje uvnitř TCP spojení k portu zpětné smyčky a bajty tohoto spojení cestují uvnitř SSH k relay hostiteli, který otevírá skutečné TCP spojení k naslouchači VPN. Nic na tomto uspořádání nemění to, co OpenVPN ověřuje, a nic z něj nečiní naslouchač UDP dosažitelným přes TCP. Čtěte zbytek jako popis cesty bajtů, ne jako návod k obejití síťové kontroly.

Co lokální přesměrování skutečně přenáší

Klient SSH naslouchá na lokálním portu. Když se lokální proces připojí, klient zabalí bajty do svého šifrovaného kanálu a strana serveru otevře nové TCP spojení k cíli uvedenému v požadavku na přesměrování.

Tento cíl překládá relay, ne váš stroj, a proto jméno, které existuje jen uvnitř vzdálené sítě, stále funguje. Znamená to také, že relay musí dosáhnout na naslouchač VPN a mít k němu zpětnou trasu. Jméno, které se přeloží na vašem notebooku, nic neříká o tom, co relay vidí.

Spuštění relace SSH dokazuje jen to, že relay je dosažitelný a ověřený. Neříká nic o tom, zda je další naslouchač zapnutý, zda firewall mezi relay a naslouchačem spojení přijme, ani zda VPN přijme váš profil.

Namiřte klienta na lokální naslouchač

Uvedený příklad: relay dosáhne na TCP naslouchač na gw.internal.example:443 a vysoký lokální port zpřístupní tuto cestu jen tomuto stroji.

ssh -N -L 127.0.0.1:24011:gw.internal.example:443 [email protected]

Manuál OpenSSH popisuje lokální přesměrování jako přijímání TCP spojení lokálně a otevírání dalšího spojení ze vzdálené strany. Važte naslouchač na zpětnou smyčku, ne na všechna rozhraní, protože přesměrování dosažitelné ze sítě je otevřený relay s vaším jménem. Vazba na všechna rozhraní také vystavuje port každému dalšímu lokálnímu účtu na sdíleném stroji.

Potom přepněte klienta VPN do režimu TCP a namiřte ho na 127.0.0.1:24011. Pokud profil používá UDP, tento návrh nepomůže: přesměrování nese proud bajtů a nevede přes něj žádná cesta pro datagramy.

Držte obě ověření oddělená

SSH ověřuje relay hostitele. OpenVPN stále ověřuje protějšek VPN a cíl na zpětné smyčce tento požadavek nemění. Vypnutí kontrol certifikátu proto, že socket teď ukazuje na localhost, je nejhorší zkratka v tomto návrhu. Mění transportní uspořádání na uspořádání důvěry a na to druhé nikdo nedal souhlas.

Zachovejte kotvu důvěry profilu, kontrolu role serveru a ověření jména nedotčené. Pokud váš klient porovnává jméno serveru s adresou, na kterou volal, může zpětná smyčka potřebovat výslovné nastavení jména místo vypnuté kontroly, a dokumentace profilu je místem, kde se potvrzuje, které pole se porovnává.

Berte relay jako druhou stranu v příběhu důvěry: jeho správce vidí metadata spojení a může přesměrování obrátit, pokud se změní konfigurace. Uspořádání potřebuje schválení od relay i od vlastníka služby VPN, ne jen od toho, kdo to dnes potřebuje.

Nestavějte smyčku pod tunelem

Jakmile VPN nainstaluje trasy, SSH spojení, které ji nese, stále potřebuje cestu k relay, která nevede tunelem. Pokud se výchozí trasa přesune na VPN a relay je dosažitelný jen stejným tunelem, transport se zhroutí a VPN jde s ním. Porucha vypadá jako spadlý tunel, ne jako chyba směrování, a proto se špatně diagnostikuje.

Obvyklou opravou je hostitelská trasa k adrese relay připnutá k fyzickému rozhraní před zvednutím tunelu, plus kontrola, že trasa přežije opětovné připojení. Ověřte ji vyhledáním trasy pro adresu relay, místo abyste předpokládali, že pořadí bylo správné.

Očekávejte také, že tento stack bude pomalejší a křehčí než přímé spojení, protože teď existují dva uspořádané transporty a další koncový bod k údržbě. Je to způsob, jak překročit síťovou hranici, ne technika výkonu.

Až skončíte, naslouchač zavřete

Zastavte relaci SSH, když už tunel není potřeba, a potvrďte, že lokální port je uvolněný. Zapomenuté přesměrování drží ověřenou cestu otevřenou na stroji, který může být sdílený.

Projděte také povolené cíle přesměrování na relay, protože svolná konfigurace mění každý kompromitovaný účet v obecný opěrný bod. Zapište port, relay a cíl společně, aby další člověk poznal, k čemu přesměrování bylo a zda je stále schválené.

Související články