Sieć anonimizująca w praktyce
Ostatnia zmiana: 2017-04-15 10:37

O sieci Tor napisano już naprawdę dużo - ogólnie ujmując, jest to sieć nastawiona na anonimowość dzięki której możliwe jest przeglądanie internetu i wypowiadanie swoich opinii bez narażania się na wykrycie. Jest to ważne np. dla dziennikarzy czy w krajach w których obowiązuje ostra cenzura. Ma to także drugą stronę medalu - sieć Tor uważana jest za wolną, pełną złych treęci i osób z którymi zwykle nie chcemy mieć za wiele wspólnego. Ważne jest zapoznanie się z opisem czym jest sieć Tor, jakie ma wady i zalety. Dobrym punktem wyjścia jest strona projektu, FAQ oraz Wikipedia.

Celem zaprezentowanego projektu jest utworzenie konfiguracji routera opartej o LEDE umożliwiającej całkowicie przezroczyste korzystanie z sieci Tor - nie wymaga to instalowania dodatkowego oprogramowania na komputerze klienta, więc może także służyć np. jako konfiguracja otwartego hostpota. Do projektu wykorzystano router LEDE 17.01.

Konfiguracja zostanie wykonana w taki sposób, aby cały ruch był przesyłany bezpośrednio przez sieć Tor, łącznie z zapytaniami o dns. Źródłem internetu będzie port wan, natomiast dostęp do routera i sieci będzie odbywał się bezprzewodowo (interfejsem radiowym - dodatkową siecią gościnną).

Konfiguracji dodatkowej sieci

Wykorzystujmy poradnik o sieci gościnnej. Tworzymy nową sieć, upewniamy się że działa - łączymy się do niej, sprawdzamy połączenie.

Pamięć i swap

Tor do działania wymaga wielu zasobów systemowych i dużo pamięci RAM (minimum 64MB). Jeżeli konfigurację przeprowadzamy na routerze wyposażonym tylko w 32MB pamięci ram, to należy zrobić swap np. na nośniku USB.

Tor

Instalacja



    # opkg update
    # opkg install tor tor-geoip


Konfiguracja

Plik konfiguracyjny tora znajduje się w pliku /etc/tor/torrc. Ma czytelnie opisane opcje; w domyślnej konfiguracji dla LEDE wystarczy dodać na końcu pliku tylko kilka linii żeby słuchał tylko na naszej sieci gościnnej:


    VirtualAddrNetworkIPv4 10.192.0.0/10
    AutomapHostsOnResolve 1
    AutomapHostsSuffixes .onion,.exit
    SocksPort 172.16.0.1:9050
    DNSPort 172.16.0.1:9053
    TransPort 172.16.0.1:9040

(adresacja zgodna z poradnikiem o sieci gościnnej)
Do uzupełnienia został jeszcze plik z firewallem /etc/firewall.user. Dodajemy na samym końcu:


    . /lib/functions/network.sh
    network_get_physdev IFNAME guest

    iptables -t nat -I PREROUTING -i $IFNAME -p tcp --dport 22 -j REDIRECT --to-ports 22
    iptables -t nat -I PREROUTING -i $IFNAME -p tcp --dport 9050 -j REDIRECT --to-ports 9050
    iptables -t nat -I PREROUTING -i $IFNAME -p udp --dport 53 -j REDIRECT --to-ports 9053
    iptables -t nat -I PREROUTING -i $IFNAME -p tcp --syn -j REDIRECT --to-ports 9040

Należy także upewnić się, że plik z naszymi zmianami zostanie wczytany przy restarcie firewalla:


    # uci set firewall.@include[0].reload='1'
    # uci commit

Zapisujemy całość i restartujemy router.

Sprawdzenie połączenia

Po restarcie routera nastąpi połączenie z siecią. W zależności od łącza może to potrwać do kilku minut. Jeżeli podłączymy się do routera można sprawdzić logi, powinna pojawić się informacja typu:


Sat Apr 15 10:09:33 2017 daemon.notice Tor[1489]: Opening Socks listener on 172.16.0.1:9050
Sat Apr 15 10:09:33 2017 daemon.notice Tor[1489]: Opening DNS listener on 172.16.0.1:9053
Sat Apr 15 10:09:33 2017 daemon.notice Tor[1489]: Opening Transparent pf/netfilter listener on 172.16.0.1:9040
Sat Apr 15 10:09:33 2017 daemon.notice Tor[1489]: Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Sat Apr 15 10:09:38 2017 daemon.notice Tor[1489]: Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Sat Apr 15 10:09:43 2017 daemon.notice Tor[1489]: Bootstrapped 0%: Starting
Sat Apr 15 10:09:43 2017 daemon.notice Tor[1489]: Bootstrapped 5%: Connecting to directory server
Sat Apr 15 10:09:43 2017 daemon.notice Tor[1489]: Bootstrapped 10%: Finishing handshake with directory server
Sat Apr 15 10:09:44 2017 daemon.notice Tor[1489]: Bootstrapped 15%: Establishing an encrypted directory connection
Sat Apr 15 10:09:44 2017 daemon.notice Tor[1489]: Bootstrapped 20%: Asking for networkstatus consensus
Sat Apr 15 10:09:44 2017 daemon.notice Tor[1489]: Bootstrapped 25%: Loading networkstatus consensus
Sat Apr 15 10:09:52 2017 daemon.notice Tor[1489]: I learned some more directory information, but not enough to build a circuit: We have no usable consensus.
Sat Apr 15 10:09:52 2017 daemon.notice Tor[1489]: Bootstrapped 40%: Loading authority key certs
Sat Apr 15 10:09:59 2017 daemon.notice Tor[1489]: Bootstrapped 45%: Asking for relay descriptors
Sat Apr 15 10:09:59 2017 daemon.notice Tor[1489]: I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 0/7365, and can only build 0% of likely paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of exit bw = 0% of path bw.)
Sat Apr 15 10:10:01 2017 daemon.notice Tor[1489]: I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 0/7365, and can only build 0% of likely paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of exit bw = 0% of path bw.)
Sat Apr 15 10:10:01 2017 daemon.notice Tor[1489]: Bootstrapped 50%: Loading relay descriptors
Sat Apr 15 10:10:16 2017 daemon.notice Tor[1489]: Bootstrapped 57%: Loading relay descriptors
Sat Apr 15 10:10:18 2017 daemon.notice Tor[1489]: Bootstrapped 64%: Loading relay descriptors
Sat Apr 15 10:10:20 2017 daemon.notice Tor[1489]: Bootstrapped 69%: Loading relay descriptors
Sat Apr 15 10:10:24 2017 daemon.notice Tor[1489]: Bootstrapped 80%: Connecting to the Tor network
Sat Apr 15 10:10:24 2017 daemon.notice Tor[1489]: Bootstrapped 90%: Establishing a Tor circuit
Sat Apr 15 10:10:28 2017 daemon.notice Tor[1489]: Tor has successfully opened a circuit. Looks like client functionality is working.
Sat Apr 15 10:10:28 2017 daemon.notice Tor[1489]: Bootstrapped 100%: Done

Łączymy się do sieci godzinnej, wchodzimy przeglądarką na adres https://check.torproject.org/ . Powinna pojawić się informacja że jesteśmy połączeni z siecią TOR.



Zakończenie

Tor nie zapewnia 100% anonimowości w sieci. Bardzo trudno zidentyfikować użytkownika korzystającego z takiej sieci, ale jest to możliwe (polecam poszukanie odpowiednich informacji na portalach związanych z bezpieczeństwem w sieci). Aby być jeszcze bardziej anonimowym, należy zmienić adres mac routera (dla zmylenia usług geolokalizacyjnych). Trzeba pamiętać, że każda przeglądarka zostawia prawie niepowtarzalny "odcisk palca", należy więc korzystać z popularnych systemów operacyjnych i standardowych (najpopularniejszych) ustawień przeglądarki. Zalecane jest np. wyłączenie ciasteczek w przeglądarce. Zaleca się także systematyczne aktualizowanie programu TOR do najnowszych dostępnych wersji.