Cum se configurează smartphone-uri și PC-uri. Portal informativ

Utilizați serverul dns cu criptare. Anonimitatea interogărilor DNS

Oricine se gândește la anonimatul pe internet știe metodă grozavă ascunde adresa IP pe internet este un serviciu VPN. Cu toate acestea, chiar și cu o conexiune VPN, interogările către serverul DNS sunt adesea lăsate nesecurizate și puteți urmări cu ușurință unde merg interogările DNS. Se mai numește și „DNSleaks” sau „DNS leak”.

Să aruncăm o privire mai atentă la ce este DNS și care sunt problemele.

După cum știți, fiecare computer de pe Internet are propria sa adresă IP, fără a cunoaște adresa IP a computerului, este imposibil să îi trimiteți informații sau o solicitare. Adresa IP este sub forma unui număr de 4 octeți, separați prin puncte (de exemplu, 162.234.12.110 sau 78.31.54.226).

Pentru om obisnuit tine minte un numar mare de Adresele IP nu sunt ușoare, așa că la începutul dezvoltării internetului a fost nevoie de un instrument care să ușureze viața utilizatorilor de internet. DNS a devenit un astfel de instrument - sistemul de nume de domeniu. Serverul DNS este un instrument care vă permite să determinați o adresă IP după un nume de domeniu.

De exemplu, ați introdus adresa site-ului web în linia browserului, browserul a trimis o solicitare către serverul DNS, care este specificată în setările conexiunii dvs. la Internet. Serverul trimite înapoi un pachet de răspuns care conține adresa IP a site-ului dorit.

Pe de o parte, totul se face convenabil - tocmai ați conectat cablul card de retea, vi se atribuie automat un server DNS al ISP-ului cu răspuns rapid și totul funcționează. Dar, pe de altă parte, există două probleme cu această schemă:

1) Nu există nicio criptare a conexiunii... Aceasta înseamnă că orice atacator vă poate intercepta traficul și vă poate falsifica adresa IP. De exemplu, vă arătați o pagină falsă a unei bănci de internet. De asemenea, este recomandabil să ascundeți acest trafic de la furnizor sau de la aplicarea legii(nu știi niciodată ce J).

2) Serverele DNS ale furnizorilor sunt obligate prin lege să păstreze jurnalele(de la ce IP, ce site-uri au fost vizitate și timpul de conectare), precum și, la cererea organelor de drept, furnizați aceste jurnale (sper că toată lumea știa asta? J). Mai mult, 99% dintre serverele DNS din lume scriu jurnalele și nu le ascund.

Dacă dintr-o dată nu vrei ca datele tale să fie interceptate de cineva sau să citești jurnalele vizitelor tale, există opțiune de încredere... Ce ar trebui făcut:

1) Trebuie să criptați conexiunea. Pentru asta este programul DNSproxy. Nu se conectează direct la serverul DNS, ci este criptat prin soluția DNS (redirecționează pur și simplu cererile către serverul DNS). La rândul său, rezolutorul transmite datele către serverul DNS și printr-o conexiune criptată. Adică, în acest fel, folosind sniffer-uri (de exemplu, WIreshark), puteți afla doar adresa IP a resolverului. Dar, deoarece pachetele sunt criptate folosind „criptografia cu curbă eliptică”, este imposibil să se determine cu ce server DNS specific facem schimb de date.

2) Trebuie să utilizați servere DNS care nu păstrează jurnalele. După cum înțelegeți, serverele furnizorului dispar imediat. De asemenea, pentru anonimat, nu puteți folosi serverele DNS ale Google sau Yandex, deoarece recunosc sincer că stochează informații (citiți Acordurile lor de confidențialitate). Dar există servere DNS care ne pot ajuta. Acesta este www.opennicproject.org. Site-ul spune că serverele nu scriu niciun log (bine, să credem). Din păcate, aceste servere sunt instabile și uneori se blochează. Pentru a rezolva această problemă, puteți utiliza programul „Proxy DNS acrilic". Vă permite să faceți interogări nu către un server DNS, ci către 10 deodată. Iar pachetul de la server care ajunge cel mai repede va fi acceptat de program. Prin urmare, vom rezolva două probleme deodată - minimizăm pierderea vitezei de solicitare (pentru că cel mai mult schimb rapid datele apar de obicei cu serverele DNS ale furnizorului) și nivelează instabilitatea oricăror servere.

Deci, trebuie să criptăm conexiunea la servere DNS securizate. Acest lucru este util nu numai pentru cei care nu folosesc VPN (cum puteți rezolva problema scurgerii DNS va fi scris mai târziu). Să începem:

2) În setările dvs conexiune retea trebuie să înregistrați manual adresa DNS. Mergem la „Centrul de management al rețelei și acces general„->” Conexiune prin retea locala„->” Proprietăți „->” Internet Protocol Version 4 TCP / IPv4”. Am pus 127.0.0.1 acolo. A doua linie trebuie lăsată goală.

3) Pentru a porni AcrylicDNSProxy, treceți prin Start și faceți clic pe „ Porniți serviciul Acrilic". Ar trebui să apară un mesaj de pornire cu succes.

4) Acum verificăm serverele noastre DNS la www.perfect-privacy.com/dns-leaktest. Ar trebui să fie ceva de genul pe ecran:


Orez. 2

Puteți adăuga un fișier AcrylicController.exe la pornire.

5) Acum criptăm cererile noastre către serverele DNS folosind programul DNScrypt.

6) Despachetați și rulați dnscrypt-winclient.exe. Acolo selectăm placa noastră de rețea și facem clic pe Instalare. Conexiunea la serverele DNS este acum criptată.

7) Să verificăm ce ne vor arăta acum serviciile noastre de verificare. Accesați www.perfect-privacy.com/dns-leaktest. Niciunul dintre serverele noastre nu ar trebui definit.

Și dacă intri pe http://whoer.net, atunci singurul lucru pe care îl poate afișa este adresa rezolutorului DNS prin care trec cererile DNS. Serverele în sine sunt „necunoscute”.


Orez. 3

Criptare VPN + DNS

Figura arată o diagramă tipică a conexiunii dvs. atunci când vă conectați la servere VPN.


Fig 4.

După cum puteți vedea, există o vulnerabilitate - cererile DNS pot fi trimise simultan atât prin serverul VPN, cât și direct către serverul DNS specificat de pe conexiunea dumneavoastră la rețea.

S-ar părea că puteți pur și simplu să înregistrați manual serverul DNS în setările de conexiune ca 127.0.0.1, astfel încât să nu existe cereri inutile La Furnizor de DNS... Dar, evident, la deconectarea de la Internet VPN nu va funcționa deoarece VPN-ul folosește propriile servere DNS. Dacă doar introduceți cele două servere ale proiectului www.opennicproject.org, atunci se va reduce viteza de navigare pe Internet atunci când VPN-ul este dezactivat. În acest caz, se recomandă, de asemenea, să instalați programul AcrylicDNSProxy, care nu vă va lăsa viteza de navigare să scadă. Dar, deoarece AcrylicDNSProxy este instalat, de ce să nu instalezi și DNScrypt?

Dacă utilizați servicii VPN 100% din timp, puteți înregistra pur și simplu o adresă IP în setările DNS: 127.0.0.1. Acest lucru va fi suficient.

Astfel, a fost găsită o schemă interesantă care vă permite să anonimizați și să ascundeți cererile DNS, ceea ce vă va ajuta puțin dacă dați peste „autorități”, și dacă un hacker local rău decide să redirecționeze cererile DNS și să le arate copiilor site-urile în loc de „Așteaptă”. un minut" - site-uri pentru adulți...

Notă: dacă nu aveți nevoie de toate acestea, instalați AcrylicDNSProxy specificând serverele furnizorului dvs., Yandex, Google etc., ceea ce vă va oferi o accelerare tangibilă a navigării pe Internet.

Vă mulțumim pentru atenție.

Este adesea întrebat ce este DNSCrypt și de ce este necesar. Cu ceva timp în urmă am scris deja despre, apoi a fost vorba de suport în versiunea beta a browserului. De data aceasta ne vom uita la tehnologia în detaliu, iar Yandex Browser va servi drept exemplu și sursă de date de laborator. Analizez pachetele în Wireshark, pentru care am scris un mic parser DNSCrypt (în terminologia Wireshark, acesta este un disector, pe limba Lua; Nu am putut găsi parserul standard DNSCrypt în Wireshark).

DNSCrypt este un serviciu proxy care creează un canal securizat între rezolutorul DNS al unui client și un rezolutor DNS recursiv care rulează pe server. DNSCrypt are două părți, respectiv: client și server. Prin traficul DNS, care este transmis în mod regulat către formă deschisă, informații despre site-urile vizitate pot fi scurse. În plus, Interogări DNS- un vector de atac comun pentru adresele de falsificare. Schimbarea adresei de rezolvare a sistemului DNS la o adresă de server falsă este loc comun troieni pentru multi ani. Același lucru este valabil și pentru atacurile asupra routerelor de acasă. DNSCrypt vă permite să criptați (și, de asemenea, să oferiți protecție limitată împotriva falsificării) atât solicitărilor DNS, cât și răspunsurilor. Este posibil să se autentifice serverul și clientul, dar această caracteristică nu este întotdeauna utilizată. În general, subiectul ascunderii traficului DNS (DNS Privacy) câștigă acum o popularitate remarcabilă. Pe lângă DNSCrypt, există, de exemplu, protocolul „DNS over TLS” (DNS over TLS este un RFC 7858 proaspăt, care, în ciuda unor „inversii”, nu arată mai rău decât DNSCrypt). Există și alte evoluții.

DNSCrypt. Protocolul poate folosi atât TCP, cât și UDP ca transport. În practică, UDP este preferat dacă este disponibil, dar specificația necesită strict suportarea TCP (nu UPD, care este opțional). TCP atrage în mod natural prin natura sa de sesiune. Dar UDP este mult mai rapid, mai ales pentru serviciile aglomerate. Din cauza problemelor cu atacurile DDoS și a altor probleme de securitate, există acum o mișcare la modă către traducere. număr maxim servicii pe TCP, în special DNS. Cu toate acestea, mai jos consider că DNSCrypt funcționează numai prin UDP, deoarece aceasta este opțiunea tradițională pentru DNS. Numărul de port recomandat DNSCrypt (server) este 443 (este de obicei deschis la rețele corporative; practica utilizării 443 / udp, de exemplu, este standard pentru o serie de VPN-uri și alte servicii; 443 / tcp este TLS / HTTPS, baza serviciilor web). Cu toate acestea, Yandex în implementarea sa DNSCrypt folosește un număr neprivilegiat: 15353, probabil datorită unor idei pentru depășirea diferitelor bariere ale rețelei.

Mai multe despre bariere: nu vor fi probleme cu blocarea traficului DNSCrypt, dacă furnizorul de canal are o astfel de dorință. După cum va fi clar din descrierea de mai jos, acest protocol nu încearcă să ascundă în niciun fel faptul că este utilizat. În trafic a acestui protocol inclus markere standard care vă va permite să detectați și să filtrați pachetele chiar și pe cel mai primitiv router, folosind o regulă simplă de două linii. În acest caz, de exemplu, accesul pentru alte sesiuni TCP care operează pe portul 443 va fi păstrat.

În DNSCrypt, stabilirea unei sesiuni între un client și un server începe cu o solicitare DNS obișnuită trimisă la adresa și numărul portului corespunzător al gazdei care va furniza funcțiile de rezoluție a numelor. Aceasta este o cerere de înregistrare TXT pentru un nume un fel special(adică cererea poate fi deja filtrată cu ușurință). De exemplu, în cazul serviciului Yandex: 2.dnscrypt-cert.browser.yandex.net. Acest nume special nu poate fi delegat. O valoare de 2 corespunde versiunii DNSCrypt. Versiunea actuală este a doua. Ca răspuns, serverul ar trebui să trimită unul sau mai multe certificate DNSCrypt (subliniez: nu au nicio legătură cu certificatele SSL).

Captura de ecran arată un pachet cu un certificat de la serverul Yandex DNSCrypt.

Un certificat este un set de mai multe câmpuri: versiunea certificatului, valoarea semnăturii, cheie publică server, octeți magici pentru client (vor servi drept identificator pentru solicitările clientului - serverul va putea să-și dea seama ce cheie să folosească atunci când răspunde), număr de serie si data expirarii.

Specificația presupune că serverul transmite o cheie publică pe termen scurt ca parte a certificatului. (Cu toate acestea, în cazul serverului Yandex, cheia dată nu s-a schimbat de cel puțin la sfârșitul lunii martie, când a fost lansată versiunea beta a browserului cu suport DNSCrypt.) Semnătura de pe certificat trebuie să fie generată dintr-o pereche de chei diferită. Cheia publică a acestei perechi este cunoscută de client - este necesară verificarea semnăturii. Evident, nu are sens să semnezi certificatul cu aceeași cheie care este folosită în cadrul sesiunii. Nu am verificat dacă se validează certificat de server„Browser Yandex”. Cert este că în modelul de amenințare că Utilizarea DNS Criptă în browserul Yandex, validarea certificatului nu are prea mult sens, precum și compararea valorii cheii cu copia salvată (voi reveni la acest punct mai jos).

Ca primitive criptografice, DNSCrypt folosește construcții din cifrul Salsa20 (XSalsa20), funcția hash Poly1305 (pentru a implementa criptarea autentificată) și algoritmul X25119-hsalsa20 pentru a genera o cheie de sesiune partajată (algoritmul folosește curba eliptică Curve25119 și curba eliptică hsalsa20). ). Aceste modele au fost dezvoltate de Daniel J. Bernstein și au fost mult timp recunoscute ca fiind foarte solide. Algoritmul pentru obținerea unui secret partajat (cheie de sesiune) este legat din punct de vedere matematic de algoritmul Diffie-Hellman. Rețineți că secretul partajat în în acest caz este posibil să se recupereze post factum dacă se cunoaște cheia secretă corespunzătoare de la o pereche de chei de server (sau client), acest lucru va permite decriptarea traficului înregistrat anterior, motiv pentru care specificația recomandă utilizarea cheilor pe termen scurt.

XSalsa20 în modul de criptare autentificată necesită un nonce de 192 de biți (24 de octeți). Reutilizarea aceleiași combinații de cheie și nonce nu este permisă. Acest lucru se datorează arhitecturii cifrului XSalsa20 - reutilizare nonce se va scurge: partea care ascultă va cunoaște valoarea XOR din perechea de potrivire text deschis... Prin urmare, nonce ar trebui să fie nou de fiecare dată, dar nu neapărat aleatoriu. Nonce-ul DNSCrypt vine în două încarnări: client și server.

Să ne uităm la criptat cererea clientului trimis de Yandex Browser.

Primul câmp al interogării este magia valorii clientului (Client query magic bytes), care utilizează porțiunea din cheia publică a serverului obținută anterior. Dacă este necesar, acești „octeți magici” pot servi drept semnătură care permite traficului să selecteze cererile trimise către DNSCrypt;
Următorul câmp este cheia publică Client;
Nonce-ul client este de 96 de biți (12 octeți), jumătate din nonce necesar pentru cifrul XSalsa20 (conform specificației DNSCrypt, umplut cu 0 octeți). Puteți utiliza unul sau altul contor, iar Yandex Browser face exact asta: se pare că aici este transmisă valoarea de 64 de biți a marcajului de timp în milisecunde (timpul generării cererii), la care sunt atașați patru octeți de valori pseudoaleatoare. . În cazul în care chiar este timpul exact transmis în text clar, constat că parametrii de derive ceasul sistemului servesc ca un semn bun care identifică un specific dispozitiv hardware, - adică poate fi folosit pentru deanonimizare;
Ultimul câmp este cererea criptată în sine. Pentru criptare, se folosește o cheie secretă partajată, care este calculată de părți pe baza cheilor publice transmise. În cazul unui client, cheia publică este transmisă în pachetul de solicitare DNS (vezi mai sus). Browserul Yandex urmează practica standard și generează o nouă pereche de chei (publică / secretă) pentru X25119-hsalsa20 de fiecare dată când browserul este pornit. Pentru a alinia datele la o limită de bloc de 64 de octeți, așa cum o dictează specificația, este utilizat un complement standard (ISO / IEC 7816-4: 0x80 și zero octeți, după cum este necesar).

Blocul de date criptate este cel mai probabil rezultatul utilizării funcției crypto_box din biblioteca libsodium (sau NaCl, la care se face referire de specificația DNSCrypt; libsodium este o furcă de NaCl). Am presupus că codul de autentificare de 16 octeți (MAC) care este folosit pentru a verifica integritatea mesajului înainte de decriptare este probabil la începutul blocului. Cu toate acestea, din moment ce nu am încercat să descifrez datele, nu este atât de important să determinam locația codului. Pentru decriptare, puteți folosi cheia secretă, care este conținută în memorie în timp ce browser-ul rulează, dar pentru a o extrage, trebuie să lucrați cu depanatorul și dezasamblatorul pentru ceva timp.

Răspuns criptat primit de la server:

(Este ușor de observat că răspunsul prezentat în captură de ecran a fost primit la aproape cinci secunde după solicitare, de ce s-a întâmplat acest lucru - aparent, un subiect pentru o notă separată.)

Pachetul se deschide cu magie, în acest caz, aceștia sunt octeții care conțin jetonul de răspuns DNSCrypt (din nou, o semnătură bună pentru detectarea traficului). Acești octeți sunt definiți de protocol și trebuie să apară la începutul oricărui răspuns de la server la o solicitare de rezoluție DNS;
Următorul câmp este nonce (Răspuns nonce). Câmpul conține valoarea nonce utilizată de server la criptarea acestui răspuns. Câmpul este construit din doi părti egale, 12 octeți fiecare: nonce de la cererea client corespunzătoare și complement de server;
Partea finală a pachetului sunt datele de răspuns criptate, formatul este similar cu cererea.

Acum să revenim la modelul de amenințare, folosind exemplul browserului Yandex. Dacă DNSCrypt este activat în setările browserului, de exemplu, prin serverele Yandex, dar accesul la serverul corespunzător este blocat, atunci browserul (ca și versiunea beta) în mod transparent, fără avertisment, trece la utilizarea soluției de sistem. De ce acest lucru nu face sens validarea certificatelor de server DNSCrypt? Deoarece un atacator activ care poate falsifica pachetele la nivel de IP poate bloca pur și simplu accesul la server pentru a dezactiva DNSCrypt în browser, în loc să irosească resurse pentru a face răspunsuri. Din aceasta putem concluziona că modelul de amenințare Yandex nu include falsificarea activă a pachetelor pe drumul de la serverul DNSCrypt la client.

În cele din urmă, un cuvânt sau două despre modul în care DNSCrypt se referă la DNSSEC. DNSSEC nu ascunde datele de trafic DNS, ci le protejează de falsificare, indiferent de canalul de schimb de informații. În cazul DNSSEC, nu contează pe ce canal sunt primite datele de la DNS, principalul lucru este că cheile sunt la locul lor. DNSCrypt - ascunde traficul și îl protejează în mod limitat de falsificare pe drumul de la soluția recursivă (serviciul de rezolvare) la client. Dacă datele au fost modificate în drumul către solutor (sau pe serverul de rezolvare însuși) și nu acceptă DNSSEC, atunci clientul va primi informații corupte, deși printr-un canal protejat de DNSCrypt. Serverele care furnizează DNSCrypt pot suporta și DNSSEC.

Mai departe - opinii și discuții

(Mesajele de mai jos sunt adăugate de cititorii site-ului prin intermediul formularului aflat la sfârșitul paginii.)

DNSCrypt va ajuta la criptarea traficului DNS și la protejarea de terți.

    Pentru ce este DNS?
  1. Configurarea unui server DNS este bine, dar este și mai bine să criptezi traficul dintre server și client, adică tu. Am scris deja în alte articole ce este DNS și am făcut recenzii ale celor mai avansate servicii de server DNS. Diferența dintre DNS simplu și DNSCrypt este că tot traficul transmis de la dispozitivul computerului dvs. către serverul DNS nu este criptat. Singurul lucru pe care îl oferă Servicii simple DNS este blocarea site-urilor suspecte. Iar traficul, așa cum am scris mai sus, care este transmis înapoi la computerul tău și cererea este trimisă de pe computer la serverul DNS, trece în clar.
  2. Iată o listă de articole despre care am scris mai devreme serviciu faimos DNS:
  3. Aceste Servicii DNS protejează-ți perfect computerul și oferă o gamă de filtrare a site-urilor web. Dar traficul transmis de la serverul DNS către dispozitivul dvs. computer nu este criptat, așa cum am scris mai sus. Puteți afla mai multe despre configurarea diferitelor dispozitive de computer de partea dvs. ca client din primul articol pe care l-am enumerat mai sus. Există, de asemenea, o prezentare generală a modului de a alege server potrivit DNS. Poate vă va spune despre DNS mai în profunzime. Întrucât în ​​acest articol vorbim despre DNS, dar aprofundăm doar la criptarea conexiunii în sine de la serverul DnS și computerul dvs.
  4. Criptarea conexiunii DNS:
  5. Criptează singur Conexiune DNS poate fi instalat și configurat pe dvs dispozitiv de calculatorși vizitați, de asemenea, site-ul oficial. Prin descărcare ultima versiune DNSCrypt pentru dispozitivul tău computer cu os., Windows, voi posta toate linkurile la sfârșitul articolului. Prin despachetarea arhivei în disc de sistem Dosarul C: / poate fi numit la discreția dvs. sau lăsat ca implicit. Deschidem linia de comandă sub numele administratorului, puteți face acest lucru dacă nu știți citind articolul. Mai departe în Linie de comanda accesați folderul pe care l-ați despachetat pe unitatea C: /. Numele folderului din cale este diferit așa cum l-ați numit, apăsați Enter și dacă totul este corect, răspunsul este corect, imaginea de mai jos:
  6. Apoi, mergeți la folderul în care ați despachetat, deschizând folderul într-un explorator obișnuit și găsiți fișierul dnscrypt-resolvers.csv în el, selectați serverul DNS la care ne vom conecta. În primul rând este serverul, probabil că toată lumea cunoaște un astfel de program ca. Pe lângă serverele Adguard, există multe altele din care să alegeți, dar acesta este cel mai faimos din listă. Deși prefer Yandex.
  7. Puteți utiliza DNSCrypt și îl puteți configura pentru a vă conecta la Yandex DNS mai detaliat pe site-ul oficial, există un nume și așa mai departe pentru configurarea programului DNSCrypt (mi-am configurat personal opinia DNS Yandex). Parametri DNSYandex: yandex, „Yandex”, „Server DNS public Yandex”, „Anycast”, „”, https: //www.yandex.com,1,no,no,no,77.88.8.78: 15353,2.dnscrypt -cert.browser.yandex.net, D384: C071: C9F7: 4662: AF2A: CCD5: 7B5D: CC97: 14D4: 07B6: AD36: 01E1: AEDC: 06D5: 6D49: 6327 Fișierele de setare ale programului .csv) După cum puteți vedea, configurați o conexiune cu serverul DNS selectat anterior și nu numai din fișier, ci din articolele menționate mai sus. Configurați-vă conexiunea folosind această metodă, nu va trebui să instalați programe anti-reclamă și supraveghere.
  8. În acest exemplu, voi vorbi despre conectarea serverului DNS ADGuard. In continuare am selectat numele din lista din fisierul dnscrypt-resolvers.csv, numele serverului va fi urmatorul: adguard-dns-family-ns1 si tastam comanda la linia de comanda, am evidentiat-o in poza de mai jos. :
  9. Dacă serverul este disponibil, atunci veți vedea următoarele, ca în imaginea de mai sus, în dreptunghiul robinetului. Instalați DNSCrypt în sistem cu următoarea comandă, subliniați-l în imaginea de mai jos și apăsați Enter:
  10. Dacă totul merge bine, atunci răspunsul pe linia de comandă va fi ca în imaginea de mai sus în dreptunghi. Dacă doriți să eliminați DnSCrypt atunci comanda va fi aceeași doar în locul ultimei Instalări va fi Dezinstalare. În plus, la fel, dacă doriți să schimbați serverul, faceți același lucru cu prin instalarea Install etc. Programul a fost configurat și acum este necesar ca conexiunea din dispozitivul dumneavoastră computer să fie conectată prin DNSCrypt. Mergem la conexiunile conexiunii dvs. și în proprietățile de conectare ale serverelor DNS preferate, tastați 127.0.0.1 aceasta este adresa dvs. a mașinii dumneavoastră. Despre schimbare adrese Dns serverul din conexiune se gaseste din articolele exemplu despre care am scris mai sus. Cum să accesați proprietățile conexiunii pentru a schimba adresa Dns, totul poate fi găsit în linkurile din partea de sus a articolului.

Crezi că anonimatul tău este protejat. Din păcate, nu este cazul. Există un canal foarte important pentru scurgerea informațiilor tale private - serviciu DNS... Dar, din fericire, s-a inventat și o soluție pentru asta. Astăzi vă voi arăta cum să criptați traficul DNS folosind utilitarul DNSCrypt.

Când utilizați HTTPS sau SSL, traficul dvs. HTTP este criptat, adică protejat. Când utilizați un VPN, tot traficul dvs. este deja criptat (desigur, totul depinde de Setări VPN, dar de obicei este). Dar uneori, chiar și atunci când utilizați un VPN, solicitările dvs. DNS nu sunt criptate, ele sunt transmise așa cum sunt, ceea ce se deschide spatiu imens pentru „creativitate”, inclusiv atacuri MITM, redirecționarea traficului și multe altele.

Aici este locul în care sursa deschisă vine în ajutor. Utilitarul DNSCrypt, dezvoltat de creatorii OpenDNS, bine cunoscut de voi, este un program care vă permite să criptați cererile DNS. După instalarea acestuia pe computer, conexiunile tale vor fi și ele protejate și vei putea naviga pe internet mai sigur. Desigur, DNSCrypt nu este un panaceu pentru toate problemele, ci doar unul dintre instrumentele de securitate. Încă trebuie să utilizați o conexiune VPN pentru a cripta tot traficul, dar va fi mai sigur atunci când este asociat cu DNSCrypt. Dacă sunteți mulțumit de o explicație atât de scurtă, puteți sări imediat la secțiunea în care voi descrie instalarea și utilizarea programului.

Să încercăm să ne dăm seama mai profund. Această secțiune este pentru cei cu adevărat paranoici. Dacă prețuiești timpul tău, atunci poți trece direct la instalarea programului.
Deci, după cum se spune, este mai bine să vezi o dată decât să auzi de o sută de ori. Uită-te la desen.

Să presupunem că un client (laptop din imagine) încearcă să acceseze google.com În primul rând, ar trebui să
rezolvați numele de gazdă simbolic la adresa IP. Dacă configurația rețelei este de așa natură încât este utilizat serverul DNS al furnizorului (conexiune necriptată, linie roșie în figură), atunci rezoluția nume simbolic la adresa IP are loc printr-o conexiune necriptată.

Da, nimeni nu va ști ce date vei transfera pe dkws.org.ua. Dar există câteva puncte foarte frustrante. În primul rând, furnizorul, uitându-se la jurnalele DNS, va putea afla ce site-uri ați vizitat. Ai nevoie de el? În al doilea rând, sunt probabile atacuri de falsificare DNS și atacuri de snooping DNS. Nu le voi descrie în detaliu, s-au scris deja multe articole despre asta. Pe scurt, situația poate fi următoarea: cineva dintre dvs. și furnizor poate intercepta cererea DNS (și din moment ce cererile nu sunt criptate, nu va fi dificil să interceptați cererea și să citiți conținutul acesteia) și să vă trimită un „ răspuns fals”. Drept urmare, în loc să vizitați google.com, veți merge pe site-ul atacatorului, ca două mazăre într-o păstăi similară cu cea de care aveți nevoie, veți introduce parola de pe forum, iar apoi desfășurarea evenimentelor cred că este clar.

Această situație se numește scurgere DNS. Scurgerea DNS are loc atunci când sistemul dvs. chiar și după conectarea la server VPN sau Tor continuă să interogheze serverele DNS ale ISP-ului pentru rezolvarea numelor de domeniu. De fiecare dată când vizitați un site nou, conectați-vă la un nou server sau lansați unul aplicație de rețea, sistemul dvs. contactează furnizorul DNS pentru a rezolva numele la IP. Drept urmare, furnizorul dumneavoastră sau oricine se află pe „ultimul mile”, adică între dumneavoastră și furnizor, poate obține toate numele nodurilor la care accesați. Opțiunea de mai sus cu falsificarea adresei IP este complet crudă, dar, în orice caz, este posibil să urmăriți site-urile pe care le-ați vizitat și să utilizați aceste informații în propriile scopuri.

Dacă ți-e „frică” de furnizorul tău sau pur și simplu nu vrei ca acesta să vadă ce site-uri vizitezi, poți (desigur, cu excepția folosind VPNși alte măsuri de securitate) configurați suplimentar computerul pentru a utiliza serverele DNS ale proiectului OpenDNS (www.opendns.com). Pe acest moment acestea sunt următoarele servere:

208.67.222.222
208.67.220.220

În același timp, nu aveți nevoie de niciun alt software suplimentar. Trebuie doar să vă configurați sistemul pentru a utiliza aceste servere DNS.

Dar problema interceptării conexiunilor DNS rămâne încă. Da, accesezi deja nu DNS-ul furnizorului, ci OpenDNS, dar poți totuși intercepta pachetele și vezi ce se află în ele. Adică, dacă doriți, puteți afla ce noduri ați accesat.

Așa că ajungem la DNSCrypt. Acest program vă permite să criptați conexiunea DNS. Acum ISP-ul tău (și toată lumea dintre tine și ei) nu va ști exact ce site-uri vizitați! o sa ma repet. Acest program nu este un înlocuitor pentru Tor sau VPN. Ca și înainte, restul datelor pe care le transmiteți sunt transmise fără criptare dacă nu utilizați nici VPN, nici Tor. Programul criptează doar traficul DNS.


DREPT CONCLUZIE

Articolul nu sa dovedit a fi foarte lung, deoarece programul în sine este foarte ușor de utilizat. Dar ar fi incomplet dacă nu aș menționa și VPN. Dacă ați citit acest articol, sunteți interesat de el, dar încă nu utilizați serviciile unui furnizor VPN pentru a vă cripta datele, atunci este timpul să o faceți.
Furnizorul VPN vă va oferi un tunel securizat pentru a vă transfera datele, iar DNSCrypt vă va asigura conexiunile DNS. Cu siguranță, Servicii VPN furnizorii sunt plătiți, dar trebuie să plătiți pentru securitate?

Puteți, desigur, să utilizați Tor, dar Tor este relativ lent și acesta este, orice s-ar spune, nu un VPN - tot traficul nu poate fi „torificat”. În orice caz (indiferent de opțiunea pe care o alegeți), conexiunile dvs. DNS sunt acum securizate. Rămâne doar să decideți asupra unui instrument de criptare a traficului (dacă nu ați făcut-o încă).

Ultima actualizare până la 30 octombrie 2016.

DNSCrypt este o specificație implementată în software nelegat, dnsdist, dnscrypt-wrapper și dnscrypt-proxy.

2. Salvați o copie fișier sursă exemplu de configurare-dnscrypt-proxy.toml și configurați în funcție de cerințele dvs. ca.

Exemplul nostru de înființare a unui. O listă de rezolutori DNS publici este disponibilă aici.

3. Asigurați-vă că alte aplicații și servicii nu ascultă pe portul 53 al sistemului dvs. și rulați aplicația dnscrypt-proxy în comandă prompt Windowsîn modul administrator de dispozitiv. Modificați setările DNS pentru adresa IP configurată.

În cazul nostru, trebuie să configurați DNS la 127.0.0.1 ( valoare specificată pentru parametrul listen_addresses în fișier de configurare) în parametrii TCP/IP. Cum se face acest lucru pentru Windows este descris în articolul Configurarea DNS pe un computer Windows. Iată o captură de ecran a setării pentru cazul nostru:

4. Instalați serviciul de sistem.

Instalarea serviciului de sistem dnscrypt-proxy (Windows, Linux, MacOS)

Dintr-o linie de comandă care rulează ca administrator, introduceți următoarea comandă dnscrypt-proxy -service install pentru a înregistra dnscrypt-proxy ca serviciul de sistemși apoi lansați comanda dnscrypt-proxy -service start pentru a porni serviciul.

Pe Windows acest pas nu este necesar. Doar faceți dublu clic pe fișier server-install.bat pentru a instala serviciul.

Serviciul va porni automat la fiecare repornire.

Procedura de instalare este compatibilă cu operarea sisteme Windows, Linux (systemd, Upstart, SysV) și macOS (lansare).

Alte comenzi utile: opriți, reporniți (util la schimbarea configurației) și dezinstalați.

Instalarea dnscrypt-proxy pe Ubuntu 18.04, 17.10

sudo add-apt-repository ppa: shevchuk / dnscrypt-proxy
actualizare sudo apt
sudo apt install dnscrypt-proxy
sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Să decomentăm (eliminăm semnul #) linia server_names (și să înlocuim numele serverului cu cele de care avem nevoie). Pentru a salva modificările, apăsați CTRL + O pentru a fi de acord cu modificările și apoi CTRL + X pentru a închide. Sau în numele Administratorului în editor de text editați fișierul dnscrypt-proxy.toml aflat în / etc / dnscrypt-proxy /.

În setările de rețea - IPV4 - DNS - dezactivați Automat și setați 127.0.0.1

Sudo sed -i "s / 127.0.2.1 / 127.0.0.1 / g" /lib/systemd/system/dnscrypt-proxy.socket
sudo systemctl daemon-reload
sudo systemctl opri dnscrypt-proxy.socket
sudo systemctl activa dnscrypt-proxy
sudo systemctl start dnscrypt-proxy

Repornim sistemul.

Instalarea serviciului de sistem dnscrypt-proxy (Arch Linux)

Depozitul Arch Linux AUR acceptă versiunea 2 a pachetului.

1. Finalizați instalarea:

Yaourt -S dnscrypt-proxy-go

2. Activați și porniți serviciul:

Systemctl activa dnscrypt-proxy.service
systemctl porniți dnscrypt-proxy.service

3. Verificați dacă serviciul a fost pornit cu succes:

Stare Systemctl dnscrypt-proxy.service

4. Priviți conținutul jurnalului:

Dnscrypt-proxy este gata - servere live:

Dnscrypt-proxy va asculta acum pe 127.0.0.1:53

Rulează pe Linux fără root

Următoarea comandă adaugă atributele necesare fișierului dnscrypt-proxy, făcând posibilă rularea acestuia fără drepturi de root:

Sudo setcap cap_net_bind_service = + pe dnscrypt-proxy

Verificarea muncii

Verificați dacă totul funcționează corect. Interogarea DNS pentru resolver.dnscrypt.info ar trebui să returneze unul dintre serverele DNS selectate în loc de ISP-ul dvs.

Puteți verifica informațiile DNS folosind serviciul DNSLeak.com. Aceste site-uri returnează informații despre adresa dumneavoastră IP și proprietarul serverului DNS utilizat. Dacă rezultatele arată serviciul ISP-ului dvs., atunci are loc o scurgere de DNS.

DNSCrypt simplu pentru Windows

Pentru Windows poate fi folosit și - instrument de personalizare Criptare DNSCrypt pe calculatoare Windows cu o interfață ușor de utilizat.

Ați găsit o greșeală de tipar? Apăsați Ctrl + Enter

Top articole similare