Zachytávání VPN: vnitřní pakety na tun0, obal na eth0
Rozhraní tunelu ukazuje paket v otevřeném textu, fyzický adaptér ukazuje šifrovaný obal. Přečtěte si obojí, než zachycení nazvete únikem metadat.
Zachytávání na hostiteli VPN nezaznamenává jedinou věc. Jádro vystavuje paket dvakrát: zabalený, na fyzickém adaptéru, a rozbalený, na tunelovém zařízení. Volba rozhraní je volbou toho, který z těchto příběhů čtete. Většina debat o tom, co zachycení dokazuje, jsou ve skutečnosti debaty o tom, který příběh byl shromážděn.
Zapouzdření vytváří dva pohledy
Tunel vezme paket, který vytvořila aplikace, a vloží ho do nového, jehož cílem je server VPN. Vnitřní podoba se objevuje na tun0, wg0 nebo na jakémkoli zařízení, které klient vytvořil. Vnější podoba se objevuje na adaptéru, který ji nese do sítě. Obě podoby jsou legitimní; odpovídají na různé otázky. Sbírejte každou zvlášť, protože obě mají jiné hlavičky a jiné čtenáře.
sudo tcpdump -i tun0 -n -s 0
sudo tcpdump -i eth0 -n host 198.51.100.20 and udp port 51820
Pseudo-rozhraní any je pro toto srovnání špatná volba. Předávané pakety lze zaznamenat dvakrát a lokálně vytvořený paket se objevuje v obou podobách, což nafukuje počty. Pokud nějaké číslo vypadá nemožně, zkontrolujte rozhraní, než obviníte tunel.
Uvnitř tunelu je paket obyčejný
Na tunelovém zařízení je to, co vidíte, tím, co aplikace požádala jádro odeslat. Cílové adresy, porty, názvy DNS, názvy serverů TLS, velikosti i časování jsou tam všechny. Užitečné zatížení TLS zůstává šifrováno relací samotné aplikace, takže zachycení neodhaluje obsah stránky. Dotaz DNS v otevřeném textu je zde viditelný, i když je jeho nosič šifrovaný, protože nikdy nebyl chráněn.
Šifrované DNS odstraňuje to jedno viditelné pole. Neskrývá cílovou adresu, počet bajtů ani rytmus, což jsou vlastnosti toku, nikoli dotazu.
Venku jen obal a jeho tvar
Fyzický adaptér ukazuje vaši adresu, adresu serveru, port, velikosti paketů a časování. Cíle nesené uvnitř chybějí, i když jejich tvar může stále podporovat úsudek. Velikosti a kadence mohou naznačovat video stream, hromadný přenos nebo chatovací relaci, aniž by některý pojmenovaly. Nedaleký pozorovatel vidí přibližně stejný obraz, což vysvětluje, jak tunel může skrývat weby a přitom inzerovat svou vlastní přítomnost.
Toto tvrzení závisí na směrování. Užší trasa, výchozí IPv6, který do tunelu nevstupuje, nebo proces vázaný na fyzické rozhraní dostanou provoz mimo obal. Přečtěte si skutečnou trasu, než ze zachycení vyvodíte závěry.
Adresa protistrany a hygiena zachycení
OpenVPN v režimu TCP drží navázaný socket, takže tabulka socketů může protistranu pojmenovat. OpenVPN v režimu UDP často nechává socket nepřipojený a ss může ukázat jen místní stranu. Přečtěte si místo toho remote profilu, podrobný klientský log nebo trasu ke koncovému bodu. WireGuard hlásí svůj koncový bod a poslední handshake přímo.
wg show
ss -tunp | grep 51820
Soubor zachycení přežije relaci, která jej vytvořila. Lze jej zkopírovat a může být čitelný komukoli s místním přístupem. Uchovávejte jen to, co vyšetřování potřebuje, omezte oprávnění a až bude práce hotová, smažte jej.
Sdílené zachycení by mělo říkat, které rozhraní jej vytvořilo a kdy. Bez této poznámky musí další čtenář hádat, na kterou vrstvu se dívá.