Bezpečný Tor klient ve virtualizovaném prostředí

Petr Krčmář 19. 8. 2013

Tor je velmi užitečná anonymizační služba a s nejnovějšími skandály okolo (nejenom) amerických tajných služeb se stává čím dál populárnější. Ovšem provozovat Tor klienta tak, aby byl skutečně bezpečný, není žádná legrace. Ukážeme si, jak úplně oddělit virtuální počítač od reálného světa pomocí Toru.

principu sítě Tor jsme tu už několikrát psali, takže jen stručně: jde o síť serverů, které si mezi sebou posílají komunikaci jednotlivých uživatelů. Ta je několikrát zašifrovaná a každý server po cestě má přístup pouze k první šifrované vrstvě, kterou odstraní a zbytek neznámého obsahu pošle dál.

Jakmile poslední server na cestě zjistí, že po rozšifrování své „slupky“ objevil data určená do internetu, jednoduše je tam vyšle. Totéž se děje při cestě zpět: paket je zabalen do několika „slupek“ a poslán do sítě. Právě díky tomuto vícenásobnému balení dostala síť název cibulový router (The Onion Router).

Uvnitř Tor sítě je možné provozovat také anonymní server, takže ani jedna strana pak vlastně netuší, s kým komunikuje. Vše je překryto neznámým množstvím uzlů po celém světě.

Princip samotné sítě je poměrně bezpečný a nějakých zásadních problémů se tu nemusíme obávat. Software za nás řeší vše podstatné a my jen vesele komunikujeme. Past se ale skrývá na straně uživatelského systému. Tor nás totiž neochrání proti tomu, co všechno o sobě prozradíme do internetu. Pokud bude něco opravdu špatně, může nám uniknout naše reálná adresa a celá naše maškaráda se sesype.

Nedávno byl úspěšně proveden útok na webový prohlížeč Firefox 17, který je součástí balíčku Tor Browser Bundle. Díky zneužití této chyby se (zatím) neznámému útočníkovi podařilo posbírat reálné adresy napadených uživatelů. Přesně tohle je situace, které se pokusíme následujícím postupem zabránit.

Cílový stav by tedy měl být takový, že i pokud se podaří kompromitovat klientský počítač na nejvyšší úrovní (třeba získat práva roota), nebude možné zjistit reálnou IP adresu, kterou počítač používá.

Bezpečná virtuální síť

Pro provoz našeho bezpečného počítače použijeme virtualizaci. Já jsem pro svůj postup zvolil VirtualBox, ale v principu je možné nasadit cokoliv. Virtuální počítač bude připojen do „oddělovací sítě“, která ovšem nebude routovaná do internetu. V ní bude vidět jediná IP adresa, která bude nabízet služby DNS resolveru a SOCKS proxy vedoucí přes Tor do internetu.

Co budeme potřebovat:

  • počítač s Linuxem (v mém případě Debian)
  • virtualizační nástroj (třeba VirtualBox)
  • balíček uml-utilities
  • operační systém do virtuálu

Já jsem si jako virtuální operační systém vybral Slax, ale opět je možné použít prakticky libovolnou distribuci nebo i třeba MS Windows. Můžete použít i live systém Tails, který kombinuje Debian, Tor, Firefox a různé doplňky zajišťující lepší anonymitu a bezpečnost.

Hostitel

Nejprve vytvoříme na hostitelském počítači virtuální rozhraní (síťovou kartu) tap1, kterému přidělíme IP adresu z nějakého nekolizního rozsahu a aktivujeme jej.

# tunctl -t tap1 -u petr
# ip addr add 10.1.1.1/24 dev tap1
# ip link set up dev tap1

Poté (stále na hostiteli) nastavíme Tor klienta. To se provádí v souboru /etc/tor/torrc a na jeho konec přidáme následující konfiguraci:

VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
SocksListenAddress 10.1.1.1
DNSPort 53
DNSListenAddress 10.1.1.1

Poté nahodíme Tor, který začne na našem virtuálním rozhraní poslouchat na dvou portech jako SOCKS server a jako DNS resolver.

# /etc/init.d/tor start

Nepovinné, ale doporučené: DHCP server a firewall

Pokud si chceme usnadnit práci a nechce se nám konfigurovat síť ve virtuálním počítači, můžeme si na hostiteli spustit DHCP server. Stačí nainstalovat balíček dnsmasq a do /etc/dnsmasq.conf připsat následující dva řádky:

interface=tap1
dhcp-range=tap1,10.1.1.2,10.1.1.100,255.255.255.0,1h

Poté už stačí jen službu nahodit:

# /etc/init.d/dnsmasq start

Další důležitou věcí, kterou doporučuji nastavit, je firewall. Desktopový počítač obvykle nemá nastavený forwarding paketů, ale pro jistotu zařízneme pokusy protlačit pakety do internetu. Navíc můžete občas na počítači spouštět různé malé serverové služby (třeba web server pro sdílení souborů po síti) a nechcete, aby se k nim dostal náš virtuální systém. Použijeme několik pravidel, která nám povolí jen DHCP, DNS a přístup na Tor proxy.

# iptables -I FORWARD -i tap1 -j DROP
# iptables -I INPUT -i tap1 -j DROP
# iptables -I INPUT -i tap1 -p udp --dport 67:68 -j ACCEPT
# iptables -I INPUT -i tap1 -p udp --dport 53 -j ACCEPT
# iptables -I INPUT -i tap1 -p tcp --dport 53 -j ACCEPT
# iptables -I INPUT -i tap1 -p tcp --dport 9050 -j ACCEPT

Postupně to máme: zákaz procházení paketů přes router, zahazování cizích paketů na rozhraní, povolení DHCP, povolení DNS přes TCP a UDP a nakonec povolení SOCKS proxy.

Virtuální stroj

Nyní nastal čas na VirtualBox. Založíme nový počítač, vybereme parametry hardware podle operačního systému a především zvolíme správné síťové rozhraní. Virtuální kabel našeho systému totiž povede do rozhraní tap1 a nikam jinam.

Poté už můžeme virtuální stroj spustit a nechat nastartovat svůj oblíbený operační systém. Pokud jsme si spustili na hostiteli DHCP server, máme teď usnadněnou práci a čerstvě nastartovaný systém už bude mít přidělenou správnou IP adresu. Pokud nám DHCP neběží, budeme muset adresu zadat ručně.

Adresa musí být v našem případě z rozsahu 10.1.1.0/24, bránu můžeme s klidným srdcem vynechat (stejně nám přes ni nic neprojde) a jako DNS server uvedeme 10.1.1.1.

Teď už zbývá jen nakonfigurovat webový prohlížeč. Ten se nesmí (a ani nemůže) připojovat k internetu přímo, ale musí využít SOCKS proxy server na počítači 10.1.1.1 a portu 9050. Ve Firefoxu je to Menu → Předvolby → Předvolby → Rozšířené → Síť → Nastavení připojení.

Pokud jsme vše udělali správně, měl by se prohlížeč dokázat spojit přes proxy do internetu. Můžeme to vyzkoušet na adrese check.torproject.org, kde nám prozradí, zda jsme přišli přes Tor.

Bezpečný sandbox

Výsledkem snažení je virtuální počítač zcela oddělený od naší sítě, který ale může komunikovat se světem skrz Tor. Pokud potřebujeme, můžeme zároveň používat virtuální i reálný počítač a přecházet tak z běžného do anonymního světa.

Pokud by se někomu podařilo ve virtuálním počítači například prolomit zabezpečení prohlížeče a dostat se k operačnímu systému, nemůže zjistit žádné informace o naší síti. Dozví se jen vymyšlenou místní IP adresu a na síti uvidí jediný počítač poskytující DNS a SOCKS rozhraní, které ho ale do reálné sítě také nepřivedou.

Ohodnoťte jako ve škole:

Průměrná známka 1,54

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

DigiZone.cz: Šlágr TV: pokuta 100 tisíc za on-line

Šlágr TV: pokuta 100 tisíc za on-line

120na80.cz: 5 triků, jak zastavit krvácení po holení

5 triků, jak zastavit krvácení po holení

DigiZone.cz: Změní se veřejnoprávní status ČT?

Změní se veřejnoprávní status ČT?

Vitalia.cz: Tři sta kilogramů tuňáka obsahovalo histamin

Tři sta kilogramů tuňáka obsahovalo histamin

Vitalia.cz: Sója a rakovina

Sója a rakovina

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

DigiZone.cz: UPC umí televizi sedm dní nazpět

UPC umí televizi sedm dní nazpět

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

Lupa.cz: Schváleno: Rockaway může převzít Heureku

Schváleno: Rockaway může převzít Heureku

Podnikatel.cz: Alza radí e-shopům, jak opustit Heureku

Alza radí e-shopům, jak opustit Heureku

Podnikatel.cz: Různé podoby lahve Coca–Coly. Úchvatné

Různé podoby lahve Coca–Coly. Úchvatné

Vitalia.cz: Před, nebo po snídani? Kdy je lepší čistit si zuby

Před, nebo po snídani? Kdy je lepší čistit si zuby

120na80.cz: Co jí dělá? Sklerotizaci

Co jí dělá? Sklerotizaci

DigiZone.cz: Konec geoblokace online médií?

Konec geoblokace online médií?

Vitalia.cz: 7 nemocí očí, které musíte léčit včas

7 nemocí očí, které musíte léčit včas

Vitalia.cz: Dnešní patolog o mrtvolu téměř nezavadí

Dnešní patolog o mrtvolu téměř nezavadí

120na80.cz: 10 nej přípravků na holení

10 nej přípravků na holení

120na80.cz: Zjistěte, zda je vaše klíště infikované

Zjistěte, zda je vaše klíště infikované

Podnikatel.cz: Přechod z OSVČ na firmu? Totální šok!

Přechod z OSVČ na firmu? Totální šok!