Serviciu Onion versus serviciu VPN: modele de acces diferite
O adresă Onion este legată de cheia serviciului și este atinsă în interiorul Tor; o VPN acordă o rută către un gateway. Comparați publicul, descoperirea și autentificarea aplicației.
Oamenii descriu un serviciu Onion și un serviciu accesibil doar prin VPN ca două variante ale aceleiași idei: ascunde portul, împărtășește adresa secretă. Ele diferă prin ceea ce leagă adresa, cine o poate atinge și ce trebuie să se întâmple înainte de a sosi o cerere. Unul este un punct de întâlnire în interiorul Tor, celălalt este o rută într-o rețea privată. Tratarea lor ca interschimbabile produce proiecte care nu sunt nici private, nici ușor de întreținut.
Mitul: ambele proiecte sunt doar o ușă ascunsă
Proprietatea comună este reală, dar subțire: niciunul dintre proiecte nu pune interfața administrativă pe un port public direct accesibil. Tot restul diverge. O adresă Onion este derivată din cheia proprie a serviciului, deci numele este legat de o identitate; o adresă VPN este doar o adresă într-o rețea în care ați fost admis. Unul ascunde serviciul într-un strat suprapus, celălalt vă admite într-o topologie privată. Tratarea celui de-al doilea ca sinonim al primului este începutul confuziei.
Niciuna dintre cele două proprietăți nu este un control de securitate pentru aplicația în sine. O locație ascunsă nu repară software-ul din spatele ei, iar o rută privată nu adaugă autentificare paginii de conectare. Ambele proiecte au în continuare nevoie de permisiunile aplicației și ambele au nevoie de cineva responsabil de actualizări și de restaurare.
Spre ce indică de fapt o adresă Onion
O adresă Onion din versiunea v3 codifică cheia publică a serviciului, de aceea nimeni nu poate alege o adresă pentru un serviciu pe care nu îl controlează. Clientul se conectează prin Tor la un punct de întâlnire, iar serviciul ajunge în același punct din partea lui; niciun nod de ieșire obișnuit nu duce acea conexiune până la serviciu. Numele este o identitate, nu o înregistrare DNS.
dig +short example.onion
curl --socks5-hostname 127.0.0.1:9050 http://example.onion/
systemctl status tor
De aceea adăugarea unei rute sau a unei intrări hosts pentru un nume onion nu ajută la nimic. Căutarea nu este mecanismul; clientul Tor și circuitele lui sunt. Dacă serviciul este destinat unui grup mic de oameni, autorizarea de client onion poate cere o cheie înainte ca conexiunea să fie acceptată, dar aceasta tot nu este conectarea la aplicație. Publicarea adresei este și ea un act deliberat, fiindcă oricine o află poate încerca o conexiune dacă nu ați restricționat-o.
Opriți-vă dacă singurul motiv pentru proiectul onion este evitarea configurării autentificării. Stratul suprapus nu oferă asta, iar dumneavoastră îl veți construi mai târziu oricum.
Ce acordă de fapt o rută VPN
O VPN admite un dispozitiv într-o rețea și îi dă o rută către un gateway sau o subrețea. Serviciul din spatele acelui gateway vede o adresă din bazinul tunelului și aplică autorizarea pe care o are. Ruta nu spune nimic despre cine este utilizatorul; spune unde pot merge pachetele.
ip route get 10.20.30.40
wg show
curl -sv https://files.internal.example/ -o /dev/null
Acest model se potrivește unui grup cunoscut cu dispozitive administrate, fiindcă gateway-ul poate impune starea dispozitivului, iar rețeaua poate fi auditată. Se potrivește prost vizitatorilor anonimi sau ocazionali, care ar trebui înscriși mai întâi. Conectarea aplicației în sine decide în continuare ce poate citi un utilizator conectat. Confundarea accesibilității cu permisiunea este modul în care o VPN ajunge să acorde o subrețea întreagă tuturor celor care se pot conecta.
Opriți-vă dacă publicul este necunoscut sau se schimbă constant. Înscrierea străinilor într-o rețea privată pentru a le arăta o pagină este un angajament mare în comparație cu publicarea unui serviciu.
Alegerea între ele și ce rămâne la fel
Alegeți modelul onion când publicul este tehnic, serviciul nu trebuie să aibă deloc adresă publică și puteți accepta cerințele clientului Tor. Alegeți modelul VPN când publicul este un grup definit ale cărui dispozitive le administrați și al cărui acces vreți să îl înregistrați la nivel de rețea. Niciuna dintre alegeri nu elimină nevoia de autentificare a aplicației, de corecturi sau de o cale de recuperare. Niciuna nu este automat mai privată în sensul care contează pentru utilizatorii dumneavoastră.
În ambele proiecte, notați cine poate atinge serviciul, cum este identificat și ce se întâmplă când se pierde o acreditare. Răspunsul pentru un serviciu onion include cheile de autorizare a clientului și adresa însăși; răspunsul pentru o VPN include contul, dispozitivul și politica gateway-ului. Acestea sunt inventare diferite, iar doar unul dintre ele va fi evident pentru următorul administrator.
Comparația se termină acolo unde începe aplicația. O adresă ascunsă și o rută privată sunt alegeri de transport, iar aplicația trebuie încă să decidă ce are voie să facă o cerere. Țineți aceste decizii în documente separate și niciunul dintre proiecte nu va absorbi în tăcere munca celuilalt.