Tor, usługi ukryte i Apache

Tagi: , , , , , , , ,
Kategoria:

tor_apache.png

Gdy ktoś się zastanawia jak postawić stronę lub udostępniać usługi anonimowo w sieci Tor, tzw. „pedofilskiej cebulowej sieci”, to odpowiedź znajdzie poniżej. Sam z tego nie korzystam, bo nie jest mi to w tej chwili do niczego potrzebne, jednak instrukcja stworzona przy pocie mózgu, dzięki której można dostosować Apache do Tora, powinna się komuś przydać.

Instalacja i konfiguracja Tora

Instalacja i konfiguracja Tora jest dziecinnie prosta. Poniżej przedstawiam sposób instalacji i konfiguracji.

  • Robimy według instrukcji podanych na stronach: „Tor: Instrukcje instalacji dla Linux/BSD/Unix”, „Tor: Mac OS X Install Instructions”, „Tor: MS Windows Install Instructions” (po polsku).
  • Jeśli chcemy być przekaźnikiem, to robimy jeszcze Konfiguracja przekaźnika sieci Tora. Jeśli zaś mamy Linuksa lub chcemy konfigurować ręcznie, to musimy znaleźć w pliku konfiguracyjnym Tora (/etc/tor/torrc) następujące linijki
    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
    
    i je odkomentować, jeśli są zakomentowane. RelayBandwidthRate to limit prędkości dla Tora, nie może on używać więcej niż 20KB/s, ale pozwala mu się RelayBandwithBurst na chwilowe skoki do 30KB/s. Linijka ExitPolicy reject *:* oznacza, że nie chcemy być ostatnim węzłem, który łączy się punktem docelowym. Nie będziemy ostatnim widocznym węzłem. Gdy usuniemy tą linijkę, czasami możemy być ostatnim widocznym węzłem, moglibyśmy być czasami oskarżenie o np. rozpowszechnianie pornografii dziecięcej, gdyby to pedofil korzystał z naszego węzła.

Usługi ukryte i Apache

Jeśli już zainstalowałem Tora, to skorzystam z wszystkich jego możliwości. Uruchomiłem więc usługę wg „Tor: instrukcja konfiguracji usług ukrytych”. Moje linijki wyglądają tak:

#katalog radzę zmienić :D
HiddenServiceDir /media/godlark/tor_hidden_service/
HiddenServicePort 80 127.0.0.1:4619
Czyli ktoś wpisuje moj_adres.onion, jego komputer myśli, że na porcie 80, a ja mu wysyłam odpowiedź aplikacji nasłuchującej na porcie 4619. Ten port zmieniłem, bo nie chciałem, aby ludzie z tora nie mieli dostępu do głównego katalogu strony, tylko do strony specjalnie przygotowanej dla nich.

Teraz trzeba zająć się Apachem, aby nasłuchiwał na porcie 4619 i 80 oraz, żeby w zależności od tego, z którego portu zostanie nawiązane połączenie była wyświetlana inna strona i tutaj są przydatne VHosty. Wystarczy dodać do pliku konfiguracyjnego Apache (w Debianie /etc/apache2/httpd.conf) dodać (i pozmieniać):

#dla Debiana te dwie linijki zalecałbym dodać do pliku /etc/apache2/ports.conf
NameVirtualHost *:4619 
Listen 4619 #nasłuchuje na porcie 4619

<VirtualHost *:80>
         DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>

<VirtualHost *:4619>
        #katalog z osobną stroną dla Tora
        DocumentRoot /var/www/tor_hidden_service/
        <Directory /var/www/tor_hidden_service/>
                Options FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>
Zrestartujmy teraz Apache i Tora, w Debianie będzie to odpowiednio /etc/init.d/apache2 restart i /etc/init.d/tor restart. Możemy testować, wpiszmy w przeglądarce http://localhost:80, a później http://localhost:4619, ale różnicy nie zobaczymy, jeśli nie umieścimy jakiegoś przykładowego pliku index.html w katalogu /var/www/tor_hidden_service/. Musimy jeszcze sprawdzić, czy działa to przez tora. Kopiujemy adres z pliku /media/godlark/tor_hidden_service/hostname (plik znajduje się katalogu przez nas wybranym w pliku /etc/tor/torrc) i wklejamy do przeglądarki, która obsługuje tora. Wszystko powinno działać.

Oczywiście to nie wyczerpuje całej gamy możliwości jakie dają nam vhosty. NameVirtualHost *:4619 oznacza, że na wszystkich adresach będę robił VHosty na porcie 4619 (czyli niezależnie czy ja wpiszę localhost:4619, czy ktoś mój_adres_w_sieci_lokalnej:4619, czy adres IPv6). Dwa sposoby na ograniczanie działanie VHostów zależnie od adresu lub nazwy jaką ktoś podał są przedstawione tutaj: baseciq.org » Apache i vhosty, Tworzenie VHost'a w Apache.

Trochę przybliżyłem konfigurację tora i jego usług ukrytych w oparciu o Apache. Myślę, a raczej mam taką nadzieję, że to nie koniec mojej przygody z torem i znajdę w nim jakieś ciekawe rzeczy, które będą warte opisania

Jeśli spodobał ci się wpis, zasubkrybuje kanał RSS

«Patenty
Nie dla mnie SaaS»
Podobne wpisy



1 komentarz»

godlark napisał 9 Kwietnia 2010 o 17:30

Eeeh... artykuł jest już tak długo, a nikt go nie skomentował?
A Ty jaką masz opinię, o tym co napisałem?

Suma dwa i szesc
Nick
Email (będzie ukryty)
Webpage