Acest ghid vă arată cum să configurați un serviciu Onion pentru site-ul dumneavoastră web. Pentru detalii tehnice despre modul în care funcționează protocolul Onion Service, consultați pagina noastră de protocoale Onion Service.

Pasul 0: Luați un Tor pentru lucru

Ca parte a acestui ghid, vom presupune că aveți Tor care funcționează în calculatorul dumneavoastră. Pentru a configura Tor, vă rugăm să urmați Ghidul de instalare Tor. Tor trebuie să fie în funcțiune și să funcționeze corect pentru ca acest ghid să funcționeze. De asemenea, ar trebui să știți unde sunt fișierele de configurare ale lui Tor.

Pasul 1: Folosiți un server web funcțional

Ca un prim pas, ar trebui să configurați un server web local, cum ar fi Nginx, Apache sau serverul web preferat. Configurarea unui server web poate fi complexă. Dacă vă blocați sau doriți să faceți mai mult, găsiți un prieten care vă poate ajuta sau alăturați-vă noastre tor-onions lista de corespondență pentru a vorbi cu alți operatori.

Ca exemplu, vom arăta cum să configurați un site onion cu Nginx și Apache pe Debian. Vă recomandăm să instalați un nou server web separat pentru serviciul dumneavoastră Onion, deoarece, chiar dacă aveți deja unul instalat, este posibil să îl utilizați (sau doriți să îl utilizați mai târziu) pentru un site web obișnuit.

Pe această pagină, comenzile de gestionare a serverului web se bazează pe sisteme de operare Debian și pot diferi de alte sisteme. Verificați serverul web și documentația sistemului de operare.

Apache

Apache este disponibil în depozitul principal al mai multor distribuții Linux și *BSD. Pentru a instala pachetul apache2:

$ sudo apt install apache2

Nginx

Nginx este disponibil în depozitul principal al mai multor distribuții Linux și *BSD. Pentru a instala pachetul nginx:

$ sudo apt install nginx

În mod implicit, serverul web va rula pe localhost:80 la sfârșitul instalării. Dacă primiți un mesaj de eroare, ceva a mers prost și nu puteți continua până când nu v-ați dat seama de ce acest lucru nu a funcționat.

Odată ce serverul dumneavoastră web este configurat, asigurați-vă că funcționează: deschideți browserul și accesați http://localhost/. Apoi încercați să introduceți un fișier în directorul html principal și asigurați-vă că acesta apare atunci când accesați site-ul.

Pasul 2: Configurați serviciul Onion Tor

Următorul pas este deschiderea fișierului de configurare al Tor (torrc) și efectuarea configurațiilor corespunzătoare pentru a configura un serviciu Onion. În funcție de sistemul de operare și configurare, fișierul dvs. de configurare Tor poate fi într-o locație diferită sau să arate diferit.

Va trebui să adăugați următoarele două linii în fișierul dumneavoastră torrc :

 HiddenServiceDir /var/lib/tor/my_website/
 HiddenServicePort 80 127.0.0.1:80

Linia HiddenServiceDir specifică directorul care trebuie să conțină informații și chei criptografice pentru serviciul dumneavoastră Onion. Aici schimbați linia HiddenServiceDir, astfel încât să indice un director real care poate fi citit/scris de către utilizatorul care va rula Tor.

Linia HiddenServicePort specifică un port virtual (adică portul pe care îl vor folosi persoanele care vizitează serviciul tău Onion), iar în cazul de mai sus spune că orice trafic care intră în portul 80 al serviciului tău Onion ar trebui redirecționat către 127.0 .0.1:80 (care este locul unde ascultă serverul web de la pasul 1).

Sfat: O bună practică pentru a evita scurgerea unui serviciu Onion într-o rețea locală este de a rula servicii Onion peste prize Unix în loc de o priză TCP. Va trebui să adăugați următoarele două linii în fișierul dumneavoastră torrc :

HiddenServiceDir /var/lib/tor/my-website/
HiddenServicePort 80 unix:/var/run/tor/my-website.sock

Pasul 3: Reporniți Tor și verificați dacă funcționează

Acum salvați torrc și reporniți Tor.

$ sudo systemctl restart tor

Dacă Tor pornește din nou, este grozav. În caz contrar, ceva nu este în regulă. Mai întâi, consultați fișierele dvs. de jurnal pentru indicii. Va imprima unele avertismente sau mesaje de eroare. Asta ar trebui să vă dea o idee despre ce a mers prost. De obicei, există greșeli de ortografie în torrc sau permisiuni de director greșite (vedeți întrebări frecvent adresate cu privință la jurnalizare de intrare dacă nu știți cum să activați sau să găsiți fișierul jurnal.)

Când Tor începe, va crea automat HiddenServiceDir pe care l-ați specificat (dacă este necesar). Asigurați-vă că acesta este cazul.

Pasul 4: Testați funcționarea serviciului dumneavoastră Onion

Acum, pentru a obține adresa de serviciu Onion, accesați directorul HiddenServiceDir și găsiți un fișier numit hostname. Fișierul hostname din directorul de configurare al serviciului Onion conține numele de gazdă pentru noul serviciu onion v3. Celelalte fișiere sunt cheile dumneavoastră de serviciu Onion, deci este imperativ ca acestea să fie păstrate private. În cazul în care cheile se scurge, alte persoane pot impersona serviciul onion, considerându-l compromis, inutil, și periculos pentru a vizita.

Acum vă puteți conecta la serviciul Onion folosind Tor Browser și ar trebui să obțineți pagina html pe care o configurați înapoi în Pasul 1. Dacă nu funcționează, căutați în jurnalele dvs. câteva indicii și continuați să le examinați până când Tor funcționează.

Este important să rețineți că un serviciu Onion configurat astfel va fi lizibil de oricine știe sau descoperă adresa. Puteți face ca serviciile Onion să necesite autentificare și numai utilizatorii cu cheie privată vor accesa serviciul. Citiți mai multe despre documentația autorizarea clientului.

(Opțional) Pasul 5: Rularea mai multor servicii Onion

Dacă doriți să redirecționați mai multe porturi virtuale pentru un singur serviciu Onion, adăugați mai multe linii HiddenServicePort. Dacă doriți să rulați mai multe servicii Onion de la același client Tor, adăugați doar o altă linie HiddenServiceDir. Toate următoarele linii HiddenServicePort se referă la această linie HiddenServiceDir, până când adăugați o altă linie HiddenServiceDir:

 HiddenServiceDir /var/lib/tor/onion_service/
 HiddenServicePort 80 127.0.0.1:80

 HiddenServiceDir /var/lib/tor/other_onion_service/
 HiddenServicePort 6667 127.0.0.1:6667
 HiddenServicePort 22 127.0.0.1:22

Dacă rulați mai multe site-uri pe același server web, nu uitați să editați fișierul gazdă virtual al serverului web și să adăugați adresa onion pentru fiecare site web. De exemplu, în Nginx și folosind Tor cu socket-uri Unix, configurația ar arăta astfel:

server {
        listen unix:/var/run/tor/my-website.sock;
        server_name <your-onion-address>.onion;
        access_log /var/log/nginx/my-website.log;
        index index.html;
        root /path/to/htdocs;
}

Or in Apache with Tor service listening on port 80:

     <VirtualHost *:80>
       ServerName <your-onion-address.onion>
       DocumentRoot /path/to/htdocs
       ErrorLog ${APACHE_LOG_DIR}/my-website.log
     </VirtualHost>

Pasul 6: Sfaturi de securitate și mai multe sfaturi

Versiunea implicită a serviciilor Onion este versiunea 3 și are o lungime de 56 de caractere. Versiunea 2 a serviciilor Onion este depreciată și va fi retrasă în curând din rețeaua Tor, după lansarea Tor 0.4.6.x, în iulie 2021. Vă rugăm să citiți postarea de pe blog Cronologia de depreciere a versiunii Onion Service pentru amănunte informații.

Este posibil ca unii operatori de onionsite să nu dorească să dezvăluie locația lor de servicii Onion. Prin urmare, trebuie să configurați serverul web astfel încât să nu ofere informații despre dumneavoastră, computerul sau locația dumneavoastră. Aceasta nu este o sarcină ușoară, iar aceste resurse vor ajuta la modul de a face acest lucru posibil:

În cele din urmă, dacă intenționați să păstrați serviciul disponibil pentru o lungă perioadă de timp, este posibil să doriți să faceți o copie de rezervă a fișierului private_key undeva.

Acum că aveți un loc onionsite care funcționează, poate doriți să implementați Onion-Location sau să utilizați instrumente precum Docker, Heroku, Terraform, Ansible sau stem pentru a automatiza gestionarea serviciilor dumneavoastră Onion. Dacă aveți un site static, dar nu ați instalat niciodată Nginx sau Apache, un alt proiect de încercat este OnionShare, unde rularea unui onionsite va fi mai ușoară: ghidată cu o interfață grafică și cu o configurație minimă.