Jak správně nastavit Tor server

V tomto článku shrnu "best practices" při nastavení Tor serveru v režimu Exit Node. Zde popsané nastavení používám i na svém serveru, který do bandwidthu Tor sítě přidává 2MB/s. Aktualně síť Tor tvoří cca 2500 serverů s celkovou kapacitou okolo 1TB/s.

Pro ty co neznají Tor bych doporučil si nejdříve přečíst tento článek.

Začal bych vysvětlením proč se zapojuji do sítě Tor. Tor nepoužívají jen spameři, lamy a warezáci, ale především osoby, které potřebují skrýt svou identitu před vládou, agenty, ISP apod. Jedná se o velmi široké spektrum uživatelů od soukromých osob, přes novináře, po osoby hlídané vládou, protože jsou pro ni potenciální hrozbou (Čína, Severní Korea apod.)

Prostě občas Tor potřebuje každý z nás, ať už třeba jen jako šifrovaný přístup přes nezabezpečenou WiFi. Pokud máte zájem o podrobnější vysvětlění, tak vás nasměruji sem: https://www.torproject.org/about/torusers.html.en

Exit node vs Bridge node

  • Exit node - je server, který je schopen přímo kontaktovat servery na Internetu, tj. pokud tvoří poslední část řetězce, tak iniciuje spojení a předává výsledky zpět. Bez exit nodů byste se nebyli schopni připojit k žádnému zdroji na Internetu a mohli byste jen používat služby sítě Tor (např. hidden services)
  • Bridge node - tento typ serveru není viditelný ve veřejném seznamu Tor serverů a slouží jako přípojný bod do Tor sítě. Používá se když váš ISP blokuje na firewallu přístup do Tor sítě. Klient je schopen najít blízký Bridge node sám, nebo si můžete vyžádat zaslání informace o něm přes email. Více informací najdete zde: https://www.torproject.org/docs/bridges

Instalace Tor serveru

Tor je součástí většiny balíčkovacích systémů, takže by neměl být nejmenší problém s jeho instalací.

 

Pokud se rozhodnete Tor zkompilovat, tak jen oveřte že v systému již máte knihovnu libevent a zbytek je notoricky známé:
 
 

Podrobnější instrukce zde (nejsou potřeba): https://www.torproject.org/docs/tor-doc-unix.html.en

Konfigurace Tor serveru

Konfigurace se nachází v souboru   a vzorový příklad uvádím zde. Hodnoty   prosím upravte podle sebe.

 

Pár proměnných vysvětlím:

  • User - uživatel pod kterým Tor server pobeží, nemělo by jít o příliš privilegovaného uživatele
  • SocksPort - lokální SOCKS port, který mohou používat aplikace na serveru pro přístup do Tor sítě
  • DirFrontPage - stránka, která se zobrazí pří přístupu na DirPort. Pokud je to možné, tak použijte port 80, protože pokud někdo najde vaší IP adresu v logu (útok, spam, ...), tak se může dozvědět že se jedná o Tor Exit node a jak je možné vás případně kontaktovat
  • ORPort - port ke kterémů se budou připojovat klienti používající Tor síť. Ideálním portem je 80, nebo 443, protože nebývají blokovány na firewallech
  • ORListenAddress - veřejná IP adresu serveru a ORport
  • Nickname - nick serveru
  • BandwidthRate - kolik bandwidthu může Tor maximálně použít
  • AccountingStart - kdy se má vyresetovat statistika pro AccountingMax
  • AccountingMax - maximum přenesených dat za časové období. Hodí se v případech kdy není možné poskytnout veškerý volný bandwidth, nebo když máte limit na počet přenesených dat. V našem příkladu je limit nastaven na 10GB denně.
  • ExitPolicy - pravidla jako na firewallu povolující přístup na specifické porty, aby došlo k zamezení některých služeb, které vycucávají traffic a nemají na Tor síti co pohledávat (torrent například).

Vzorový soubor   přikládám na konci článku. Jen změňte text CHANGEME za vaši emailovou adresu. Originál jsem našel zde.

Tor v chrootu

Pro vyšší bezpečnost byste měli spustit Tor v chroot prostředí. Začněte tím, že stáhnete zdrojové kódy http://www.torproject.org/download-unix.html.en

 

Více informací můžete nalézt zde: https://trac.torproject.org/projects/tor/wiki/doc/TorInChroot

Další informace:
https://www.torproject.org/docs/faq.html.en
https://blog.torproject.org/blog/tips-running-exit-node-minimal-harassment