Tor setup mini howto.

21 maja, 2009

Zapomniałem napisać o tor w poprzednim wpisie o tunelach, więc teraz nadrobię. W sumie nietypowo, bo odpalając węzeł tora i opisując jego konfigurację. A sam tor to chyba jeden z prostszych i łatwiejszych w użyciu tuneli.

Bezpośrednią inspiracją jest artykuł o torze w formie wywiadu, który polecam. Tam też można przeczytać trochę więcej o idei i zasadach działania (jeśli ktoś nie zna).

Najważniejsza informacja to: można postawić węzeł (nawet dwa typy takiego węzła...), który nie służy do bezpośredniego nawiązywania połączeń z serwerami docelowymi. Odpada całe ryzyko związane z tym, że nas będą ścigać jako sprawców. Dla mnie dość istotna sprawa, bo wspomóc wolność mogę i chcę, ale na ganianie po sądach z tego powodu niespecjalnie mam ochotę. Czyli poniekąd konformizm i kompromisowość, ale lepszy rydz, niż nic, prawda?

Druga ważna informacja: stawianie własnego węzła jest dziecinnie proste. Na Debianie wystarczy apt-get install tor, potem w konfiguracji, czyli /etc/tor/torrc (to jest cały konfig):

SocksPort 9050 # what port to open for local application connections
SocksListenAddress 127.0.0.1 # accept connections only from localhost
RelayBandwidthRate 20 KBytes
RelayBandwidthBurst 30 KBytes
ORPort 9001
ExitPolicy reject *:* # no exits allowed

Powyższe tworzy węzeł typu middle-node, czyli nie pozwalający na łączenie bezpośrednio z usługą docelową, z ograniczeniem prędkości działania do 20 kilobajtów (nie kilobitów!) i chwilowymi skokami do 30 KB (ograniczenie jest takie samo zarówno dla prędkości wychodzącej, jak i przychodzącej). Taki w sam raz na łącze w domu (no, nawet 30 KB to trochę przesada przy 256 kbit uploadu). Dwie pierwsze linie służą nam, gdybyśmy chcieli lokalnie podłączyć się do sieci tor i nie są niezbędne.

Odważni orędownicy wolności (lub po prostu ludzie chcący zobaczyć, co tam w tym torze lata) powinni usunąć ostatnią linię, czyli ExitPolicy reject *:* # no exits allowed - wówczas czasami będą ostatnim węzłem przed połączeniem się z docelowymi usługami.

UPDATE: Jak pisałem w komentarzu - w pierwotnie zamieszczonym konfigu obecna była linia ORListenAddress 0.0.0.0:9090. Przy jej obecności pojawiał się komunikat [warn] Your server (X.X.X.X) has not managed to confirm that its ORPort is reachable. Please check your firewalls, ports, address, /etc/hosts file, etc., a sam tor nie działał poprawnie. Usunięcie tej linii i restart demona rozwiązuje problem, więc poprawiam.

1. Zal napisał(a):
21 maja 2009, 21:11:01

Interesująca sprawa, chociaż trzeba zaznaczyć, iż pojawiły się już jakiś czas temu plotki na temat tego, że wcale nie jest to tak bezpieczne rozwiązanie. Bywa, że węzły będące węzłami końcowymi przechwytują nieszyfrowane dane.

Słyszałem też o teoretycznych atakach na prywatność osób (tj. nie tylko co, jak wyżej, ale również kto ściąga/udostępnia) korzystających z Tora, ale nie mogę nigdzie znaleźć źródła tej informacji.

Korzystałeś może z Freenetu? Koncepcja podobna, ale bez możliwości wyjścia na świat – sieć wewnątrz Sieci ;]

2. rozie napisał(a):
22 maja 2009, 06:59:43

Zal: Tor z założenia nie ma służyć szyfrowaniu (choć transmisja między węzłami jest szyfrowana), tylko zwiększeniu anonimowości. Przechwytywanie, zwł. na wyjściu, jak najbardziej jest możliwe jeśli użytkownik nie korzysta z protokołu szyfrowanego. Cudów nie ma.

Ad. ataków na prywatność – również słyszałem, ale IIRC wymaga od napastnika przechwycenia sporej części węzłów (tzn. procentowo wychodziło mało) i jest skuteczne przy małym ruchu. Czyli im więcej węzłów i więcej ruchu, tym trudniej coś przechwycić (logiczne).

Poza tym, DNS leaks, cookies, itd. itp. – wszystko to skutecznie deanonimizuje nieświadomego użytkownika. Ale te zagrożenia są opisane i na stronie domowej projektu, i na wiki)

O Freenecie słyszałem, ale po pierwsze jest mało popularny, po drugie, nie zapewnia dostępu do istniejących zasobów, po trzecie, tor też pozwala na tworzenie swoich zasobów, po czwarte Freenet jest w Javie i ma kosmiczne – w porównaniu z torem – wymagania.

3. rozie napisał(a):
25 maja 2009, 19:16:32

Pojawił się problem objawiający się w notices.log:
[warn] Your server (X.X.X.X) has not managed to confirm that its ORPort is reachable. Please check your firewalls, ports, address, /etc/hosts file, etc.
Wydaje mi się, że go rozwiązałem, ale pewność będę miał za ok. dobę. Prawdopodobnie konieczna zmiana w konfigu.

4. Pomiędzy bitami napisał(a):
01 października 2009, 07:32:48

Wolność słowa w Chinach - możesz pomóc.

Na wstępie zaznaczę, że węzły tora dzielą się na kilka typów, z czego dwa nie grożą niczym nieciekawym osobom, które je prowadzą. Sprawdziłem to empirycznie prowadząc węzeł pośredniczący przez 4 miesiące przy konfiguracji opisanej[...]

5. Pomiędzy bitami napisał(a):
09 listopada 2014, 09:12:10

Własna strona w sieci Tor.

Za sprawą normalnych tradycyjnych stron w sieci Tor zrobiło się ostatnio głośno z powodu Facebooka. Nie dość, że Facebook wystawił stronę oficjalnie do sieci Tor pod adresem .onion , to adres był ciekawy, a całość jest dostępna po HT[...]