Łączysz się z klientem VPN, czekasz na tunel, a potem otwierasz Tor Browser i pozwalasz mu zbudować obwód. Właśnie ta zwyczajna kolejność decyduje o tym, kto co widzi. W tej kolejności relé wejściowe Tora wita adres twojego wyjścia VPN, a twój dostawca VPN wita publiczne relé strażnicze. Zrób to odwrotnie, a obaj obserwatorzy się zmieniają. Obie kolejności warto przejść, bo ustawienia klienta po cichu łamią kolejność, którą ludzie uważali za obowiązującą, a sprawdzenie, które to wychwytuje, jest w obu przypadkach takie samo.

Zacznij od kolejności, nie od produktu

Dwa układy nazywa się „VPN z Torem”, i tylko pierwszy jest powszechny. W Torze przez VPN tunel jest już podniesiony, gdy Tor startuje, więc proces tor wysyła swoje połączenie ze strażnikiem do tunelu jak każdy inny ruch wychodzący. W VPN przez Tor najpierw podnosi się Tor, a sama sesja VPN podróżuje przez obwód i dociera do dostawcy z wyjścia Tora.

To, co się między nimi zmienia, to który adres stoi na dalekim końcu najbardziej zewnętrznego ogniwa. Każdy obserwator widzi tylko poprzedni skok, nigdy całej ścieżki: strażnik widzi, kto się z nim połączył, a serwer VPN widzi, kto się z nim połączył. Tor nie przenosi twojego lokalnego adresu tunelu na zewnątrz i w protokole nie ma pola, w którym mógłby to zrobić.

W obu kolejnościach witryna docelowa nadal widzi wyjście Tora i żadna kolejność nie zmienia tego, czego ta witryna dowiaduje się z twojego logowania. Różnica ogranicza się do dwóch krawędzi.

Co widzi relé wejściowe Tora

Wejście, czyli strażnik, przyjmuje zwykłe połączenie TCP na porcie relé i rozpoczyna uzgadnianie TLS z klientem. W układzie Tor-przez-VPN źródłem tego połączenia jest twoje wyjście VPN. W układzie Tor-najpierw to adres, którego twoja maszyna użyła, by dotrzeć do sieci Tor, zwykle twoje domowe łącze.

To odpowiada na połowę pytania o IP, ale tylko wtedy, gdy tunel naprawdę przeniósł połączenie. Proces Tora dociera do strażnika własnym gniazdem, a to gniazdo nie podlega ustawieniom proxy Tor Browser. Przeglądarka rozmawia z dołączonym procesem tor przez SOCKS na 9150, a następnie tor otwiera własne połączenie, korzystając z tabeli routingu jądra. Wiersz Socks5Proxy w torrc albo transport klienta zmieniają tę ścieżkę. Nic innego.

W Linuksie możesz odczytać odpowiedź z maszyny. Zapytaj jądro, którego interfejsu użyłoby dla dowolnego publicznego adresu, a następnie spójrz na adres lokalny nawiązanego połączenia:

ip route get 203.0.113.10
sudo ss -tnp | grep -i tor

Jeśli trasa mówi dev wg0 albo dev tun0, a adres lokalny nawiązanego połączenia to adres tunelu, Tor jest wewnątrz VPN. Jeśli trasa wskazuje twoje fizyczne interfejs, jest na zewnątrz, cokolwiek twierdzi własny wskaźnik klienta.

Co może zobaczyć twój dostawca VPN

Dostawca kończy twoją sesję VPN, więc widzi adresy, z którymi się łączysz. Adresy relé strażniczych są publikowane w publicznym konsensusie, a ich porty są dobrze znane, więc dopasowanie jednego to przeszukanie listy, a nie głęboka inspekcja pakietów. Dostawca nie musi łamać Tora, by wiedzieć, że sesja to Tor.

Czego nie widzi, to reszta obwodu. Środkowe relé i wyjście są wybierane wewnątrz Tora, a dostawca obsługuje tylko ogniwo do strażnika. Treść strony pozostaje w TLS, który kończy się na wyjściu, a rozwiązywanie nazw dla ruchu Tora również odbywa się na wyjściu, więc u dostawcy nie ma żadnego zapytania DNS, które można skorelować z celem.

Mosty z obfs4 zmieniają wyszukiwanie, nie topologię. Adres mostu nie występuje na publicznej liście relé, a ruch jest kształtowany tak, by nie wyglądał jak Tor, więc operator porównujący tylko adresy go nie oznaczy. Sesja nadal pochodzi z twojego klienta VPN, a dostawca nadal widzi jeden punkt końcowy, jeden wolumen i jeden harmonogram.

Możliwość to nie polityka przechowywania

Operator, który może obserwować połączenie, nie obiecał go zachować. Logowanie to osobna decyzja, zapisana w polityce, ograniczona jurysdykcją i weryfikowalna tylko dowodami, którym już ufasz. Etykieta bez logów nie zmienia opisanej wyżej roli sieciowej.

Tożsamość konta zwykle ma większe znaczenie niż adres wyjścia. Jeśli zalogowałeś się adresem e-mail albo zapłaciłeś kartą, dostawca może powiązać sesję z tobą, nie logując ani jednego celu. Rotacja wyjściowych adresów IP nic w tym nie zmienia.

Sprawdź pokrycie, zanim zaufasz którejkolwiek odpowiedzi

Większość ludzi, którzy uważają, że uruchamiają Tora przez VPN, uruchamia tylko jego część. Dzielone tunelowanie, które wyklucza Tor Browser, kill switch obejmujący przeglądarkę, ale nie usługę tor, jednostka startowa działająca przed podniesieniem tunelu i ścieżka IPv6 omijająca tunel to zwykłe cztery.

Czytanie ekranu stanu klienta nie testuje żadnego z nich. Test, który to robi: zostaw Tor Browser uruchomiony, opuść tunel i obserwuj, czy połączenie ze strażnikiem przetrwa na interfejsie fizycznym.

Kolejność, w jakiej sprawdzam, zatrzymując się na pierwszym niepowodzeniu:

  • ip route get 203.0.113.10 zwraca urządzenie tunelu.
  • ss -tnp | grep -i tor pokazuje połączenie ze strażnikiem z lokalnym adresem tunelu.
  • ip -6 route nie ma trasy domyślnej poza tunelem albo IPv6 jest wyłączony w kliencie.
  • Opuszczenie VPN kończy albo przekierowuje połączenie tor, zamiast zostawiać je na łączu fizycznym.

Która kolejność pasuje do tego, czego bronisz

Obie kolejności coś ukrywają i coś ujawniają, więc odpowiedź jest wyborem obserwatora, na którym ci zależy.

ObserverTor over VPNVPN over Tor
Your ISP or local networkSees a VPN connection, not TorSees a Tor guard connection
Your VPN providerSees Tor use, and your home addressSees a Tor exit as the client, not your home address
Tor entry relaySees the VPN exitSees your home address
Destination websiteSees a Tor exitSees a Tor exit

Czytaj kolumna po kolumnie, aż wiersz będzie pasował do tego, czemu próbujesz zapobiec. Jeśli obawą jest sieć lokalna albo dostawca internetu, który rejestruje lub blokuje Tora, Tor przez VPN sobie z tym radzi. Jeśli obawą jest to, że operator VPN pozna twój domowy adres, VPN przez Tor sobie z tym radzi i płaci za to, wystawiając korzystanie z Tora twojej własnej sieci, a domowy adres strażnikowi.

Żaden układ nie zostawia obu krawędzi ślepych. Dodanie obserwatora nie usuwa innego. Notatka Tor Project o uruchamianiu VPN z Torem mówi to samo z drugiej strony: tunel zmienia, komu się ufa i jakie ścieżki awarii istnieją, więc to nie ulepszenie, które dodaje się bez decyzji, co chciałeś ukryć.

Najpierw zdecyduj o obserwatorze, potem wybierz kolejność, i weryfikuj za pomocą ip route get i ss, a nie wskaźnika klienta. Jeśli obserwatorem jest ktoś, kto może zmusić samego dostawcę VPN, żaden wybór kolejności tego nie naprawi.

Powiązane artykuły