Kam jde DNS, když zkombinujete Tor a VPN
Tor Browser, OS i klient tunelu mohou každý přeložit jiné jméno jinou cestou. Sledujte výměny, než to nazvete únikem.
Běží dva nástroje soukromí, jedna stránka se nenačte a test překladače říká, že něco mimo prohlížeč dostalo jméno. Než se z toho stane hlášení o úniku, pojmenujte výměnu, ze které to přišlo. Sestava Tor plus VPN obsahuje nejméně tři různá vyhledávání jmen se třemi různými vlastníky a projít je v pořadí, v jakém nastávají, je nejrychlejší způsob, jak zjistit, které se chová špatně.
Pojmenujte každou výměnu, než to nazvete únikem
První výměna překládá samotný koncový bod VPN a děje se dřív, než existuje jakákoli ochrana. Druhá překládá cíl pro Tor Browser, který může jméno předat proxy místo toho, aby ho přeložil lokálně. Třetí pokrývá všechno ostatní na stroji, včetně kontrol aktualizací, poštovních klientů a vlastních dotazů operačního systému na služby. Jen první z nich může nastat bez účasti dalších dvou.
Každá z nich může jít jinou cestou a jediný test v prohlížeči pozoruje jen svůj vlastní požadavek. Právě z toho, že jeden výsledek bereme jako stav všech tří, vzniká většina zmatku.
Než cokoli změníte, zapište, která jména patří které vrstvě. Soukromá organizační jména, veřejný cíl a samotný koncový bod tunelu nemají stejný požadavek a zásada, která je bere jako jednu kategorii, něco rozbije.
Dotaz při startu probíhá před tunelem
Klient nakonfigurovaný s názvem hostitele musí tento název přeložit, aby otevřel tunel, a v tu chvíli žádný tunel neexistuje, aby dotaz přenesl. Odpovídá jakýkoli překladač, který operační systém v aktuální síti nabízí, což může být captive portál, hotelový překladač nebo veřejný. To není únik v tunelu, protože tunel ještě neexistuje.
Změna nastavení zabezpečeného DNS v prohlížeči se tohoto dotazu také netýká, protože patří službě, která běží mimo prohlížeč a startuje dřív, než se otevře jakákoli stránka. Pokud se název koncového bodu nepřeloží, žádná zásada uvnitř tunelu nepomůže, protože selhání nastává o jednu fázi dřív než všechno, co konfigurace popisuje.
Toto je jediné místo, kde použití doslovné adresy pro koncový bod, pokud to poskytovatel podporuje, závislost odstraňuje, místo aby ji přidávalo. Zároveň odstraňuje možnost následovat poskytovatele, který adresy otáčí, takže kompromis je skutečný a měl by se rozhodnout, ne objevit.
Prohlížeč a zbytek stroje se liší
Rozhraní SOCKS v Toru podporuje předání cílového názvu hostitele proxy, což znamená, že překlad provádí vzdálená strana a místní stroj se vůbec neptá. Obecná aplikace podporující proxy může nejdřív přeložit název lokálně a potom se připojit k získané adrese, což vytvoří místní dotaz na cíl, o kterém uživatel věřil, že jde přes proxy. Obě aplikace tedy mohou unikat na různých místech, i když sdílejí jedno nastavení proxy. Nic ve sdílené adrese proxy neříká, které ze dvou chování se používá.
Prohlížeče přidávají další vrstvu, když je zapnuté zabezpečené DNS, protože prohlížeč si může vybrat vlastního poskytovatele a systémový překladač úplně obejít. Klient tunelu mezitím může protlačit překladač tunelem pro celý stroj. Obě tato nastavení mohou být správná a přesto popisovat různé chování různých programů.
Prověřte program, který požadavek vytvořil, místo abyste z jedné testovací stránky extrapolovali. Rozdíl mezi dotazem neseným uvnitř tunelu a dotazem, který se k Toru nikdy nedostal, je přesně rozdíl, který jedna adresa překladače ukázat nemůže.
Prověřte každý program a pak porovnejte se záměrem
Proveďte pozorování odděleně: co by použil systém, na co je nakonfigurovaný prohlížeč a zda spojení SOCKS nese název, nebo adresu. To poslední je rozdíl mezi vzdáleným a místním překladem a specifikace rozšíření SOCKS popisuje, jak se název hostitele předává, místo aby se nejdřív přeložil.
resolvectl status | grep -E "Current DNS Server|DNS Servers"
ss -tnp '( dport = :9050 )'
dig +short dev.internal.example
getent hosts vpn-endpoint.example.net
Potom porovnejte, co jste pozorovali, s tím, co jste zamýšleli. Veřejné jméno přeložené tunelem vámi zvoleným překladačem není stejný nález jako soukromé jméno předané veřejnému překladači při záložním postupu a obvykle potřebuje akci jen to druhé. První je konfigurace fungující podle návrhu, i když v hlášení vypadá nezvykle.
Zaznamenejte výjimky, které přijímáte, včetně dotazu při startu, který chránit nelze. Zapsaná výjimka je návrhové rozhodnutí, zatímco stejná výjimka objevená později vypadá jako vada. Kdo ji najde, bude ji tak brát, a schůzku strávíte vysvětlováním, proč tomu tak není.