4601 ,

De când mitul anonimatului pe internet a fost risipit, problema vieții private a utilizatorilor s-a alăturat listei celor mai presante. Nu numai că activitățile dvs. online pot fi urmărite motoarele de căutareși site-urile web pe care le vizitați, dar și propriii furnizori de servicii de internet. Tehnic, acest lucru nu este atât de dificil dacă DNS vă este eliberat de furnizor și acest lucru se întâmplă cel mai adesea, totul trecând prin DNS traficul poate fi urmărit de acesta, mai ales că DNS-solicitările sunt trimise printr-o conexiune necriptată.

Este clar că înlocuirea pachetelor interceptate nu va fi dificilă chiar dacă folosiți VPN-servicii.

Singura modalitate de a închide gaura este prin criptare. DNS-trafic, dar pentru asta vei avea nevoie de un special software, deoarece niciunul dintre sisteme de operare nu acceptă criptarea DNS scos din cutie. Cel mai simplu instrument de criptare DNS- traficul este - mic utilitate gratuită, avantajos remarcat prin faptul că nu necesită setări suplimentare, ceea ce înseamnă că poate fi folosit de începători. Există un instrument de consolă - DNSCrypt Proxy, dar trebuie să o faci - executați o serie de comenzi în PowerShell, schimba adresa DNS manual și așa mai departe. Oricine are timp și dorință, vă rog, se poate familiariza cu el pe pagină github.com/jedisct1/dnscrypt-proxy .

Vă sugerăm să utilizați versiunea desktop mai simplă și mai convenabilă DNS- criptograf. Descărcați de pe site-ul dezvoltatorului simplednscrypt.org Versiunea programului care corespunde nivelului de biți al sistemului de operare și instalați.

Este echipat cu o interfață ușoară, intuitivă și, în plus, în limba rusă, astfel încât să vă puteți da seama cu ușurință ce este. Setările de bază sunt făcute în secțiune "Meniu". Pentru a începe să utilizați programul, imediat după instalare, faceți clic pe butonul "Aplica", apoi selectați-l pe al dvs. de mai jos placa de retea, ar trebui să fie bifat așa cum se arată în captură de ecran. Comutator „Serviciul DNSCrypt” trebuie să fie activ.

Este ușor să verifici dacă totul funcționează. Executați în fereastră Fugi echipă ncpa.cpl, deschideți proprietățile conexiunii dvs., selectați din listă IP versiunea 4 (TCPIPv4)și deschide proprietățile sale. Buton radio „Utilizați următoarele adrese de server DNS” trebuie să fie activ, iar câmpul trebuie să indice cel preferat DNS-server. O avem 127.0.0.1 , adresa dvs. poate fi diferită.

În mod implicit, programul selectează automat cel mai rapid server, dar vă puteți modifica preferințele selectându-l singur în secțiune.

Parametrii secțiunii nu trebuie modificați dacă nu utilizați protocolul IPv4. ÎN setări generale puteți activa file suplimentare „Lista neagră de domenii”, „Jurnal de blocare a domeniului”, dar asta din nou dacă veți lucra cu funcțiile pe care le oferă, în special, compunerea "negru" liste de domenii.

Folosind nstx este posibil să se creeze un tunel IP în DNS. Protocolul cu același nume care vă permite să realizați acest lucru se numește „” și înseamnă „ Protocolul de transfer NameServer».

Deci, să presupunem că furnizorul emite probleme și vă permite să utilizați serverul său DNS. Să ne imaginăm o solicitare DNS obișnuită: solicităm informații pe serverul de nume al furnizorului, serverul furnizorului transmite cererea unui alt server de nume, care este responsabil pentru zona de care avem nevoie. Și ultimul server DNS din lanț trimite răspunsul primit înapoi pe aceeași rută.

Acum imaginați-vă că puteți formata pachetele IP în interogări DNS de la un server de nume și puteți „modifica” traficul de intrare în pachetele de care avem nevoie. Și acum avem deja totul pentru a construi un „IP peste DNS” cu drepturi depline - al nostru tunel ascuns pentru redirecționarea traficului prin aproape orice firewall-uri terțe!

Acum tot ce rămâne este să configurați serverul de nume și clientul fals, dar în practică acest lucru nu este întotdeauna atât de ușor.

Dimensiunea maximă a pachetului care poate fi transmisă este de maximum 512 octeți prin UDP. Prin urmare, vom avea nevoie de un mecanism de asamblare/dezasamblare care va colecta și dezasambla pachetele fragmentate și le va verifica corectitudinea. În această schemă, clientul nostru DNS fals poate comunica cu serverul nostru DNS fals în mod constant, dar serverul nostru DNS poate doar să răspundă. Prin urmare, clientul va fi responsabil pentru reconciliere și menținerea comunicării bidirecționale.

Prima dată când am încercat să fac asta a fost în 2008. Timp de două săptămâni am lucrat încet la acest pachet, am ajustat codul sursă pentru a se potrivi, am recitit manualele și, ca urmare, am primit un tunel funcțional construit cu succes prin firewall-ul ultrasecurizat al rețelei noastre corporative. Atunci a fost pur și simplu incredibil pentru mine!

În general, cu puțină dorință și timp, puteți lansa independent un server de nume de client fals pentru a crea un tunel „IP-over-DNS”.

Joacă, încearcă. Căutați modalități de a vă proteja de asta. Vă avertizez dinainte că aici există o mulțime de nuanțe tehnice.

Crezi că anonimatul tău este protejat în mod fiabil. Dar, din păcate, acesta nu este cazul. Există un canal foarte important pentru scurgerea informațiilor tale private - serviciul DNS. Dar, din fericire, s-a inventat și o soluție pentru asta. Astăzi vă voi spune 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 regulă, acesta este cazul). Dar uneori, chiar și atunci când utilizați un VPN, interogările dvs. DNS nu sunt criptate, sunt trimise ca atare, ceea ce deschide mult spațiu pentru creativitate, inclusiv atacuri MITM, redirecționarea traficului și multe altele.

Aici vine în ajutor utilitarul open source DNSCrypt, dezvoltat de cunoscuții creatori ai OpenDNS - un program care vă permite să criptați interogările 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 asocierea acestuia cu DNSCrypt va fi mai sigură. Dacă sunteți mulțumit de o astfel de explicație scurtă, puteți trece imediat la secțiunea în care voi descrie instalarea și utilizarea programului.

Să încercăm să înțelegem mai profund. Această secțiune este pentru cei cu adevărat paranoici. Dacă prețuiești timpul tău, atunci poți trece imediat 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 poză.


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

Da, nimeni nu va ști ce date vei transmite către dkws.org.ua. Dar sunt momente foarte neplăcute. Î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, este probabilă posibilitatea de falsificare a DNS și a atacurilor de snooping DNS. Nu le voi descrie în detaliu multe articole deja scrise despre asta. Pe scurt, situația ar putea 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 accesa site-ul web al atacatorului, care este exact ca cel de care aveți nevoie, veți introduce parola de pe forum, iar apoi desfășurarea evenimentelor, cred, este clară.

Situația descrisă se numește scurgere DNS. Scurgerea DNS apare atunci când sistemul dvs., chiar și după conectarea la un server VPN sau Tor, continuă să interogheze serverele DNS ale furnizorului pentru a rezolva numele de domenii. De fiecare dată când vizitați un site nou, vă conectați la un nou server sau lansați ceva aplicație de rețea, sistemul dvs. contactează DNS-ul ISP-ului pentru a rezolva numele la IP. Ca urmare, furnizorul dvs. sau oricine situat pe „ultimul mile”, adică între dvs. și furnizor, poate primi toate numele nodurilor pe care le accesați. Opțiunea de mai sus cu înlocuirea adresei IP este destul de crudă, dar în orice caz este posibil să urmăriți nodurile pe care le-ați vizitat și să utilizați aceste informații în propriile scopuri.

Dacă vă „e frică” de furnizorul dvs. sau pur și simplu nu doriți ca acesta să vadă ce site-uri vizitați, puteți (desigur, pe lângă utilizarea unui VPN și alte măsuri de securitate) să configurați suplimentar computerul pentru a utiliza servere DNS Proiect OpenDNS (www.opendns.com). Pe în acest moment acestea sunt următoarele servere:

208.67.222.222
208.67.220.220

Nu aveți nevoie de niciun alt software suplimentar. Doar configurați-vă sistemul pentru a utiliza aceste servere DNS.

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

Acum 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 voi repeta din nou. 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 un VPN sau Tor. Programul criptează doar traficul DNS.


CA O CONCLUZIE

Articolul nu a fost foarte lung, deoarece programul în sine este foarte ușor de utilizat. Dar nu ar fi complet dacă nu aș menționa VPN. Dacă citiți acest articol și sunteți interesat de el, dar nu ați folosit încă serviciile unui furnizor VPN pentru a vă cripta datele, atunci este timpul să faceți acest lucru.
Furnizorul VPN vă va oferi un tunel securizat pentru a vă transfera datele, iar DNSCrypt vă va asigura conexiunile DNS. Desigur, serviciile furnizorilor VPN sunt plătite, dar trebuie să plătiți pentru securitate, nu?

Puteți, desigur, să utilizați Tor, dar Tor funcționează relativ lent și, orice s-ar spune, nu este un VPN - nu va fi posibil să „torificați” tot traficul. În orice caz (indiferent de opțiunea pe care o alegeți), conexiunile DNS sunt acum securizate. Tot ce rămâne este să decideți asupra unui mijloc de criptare a traficului (dacă nu ați făcut-o deja).

Programul scanează răspunsurile DNS ale serverelor (acest lucru este suficient, există interogări în interiorul răspunsurilor), iar dacă numele domeniului se potrivește cu o expresie obișnuită, tipărește adresa din înregistrarea A (ceea ce a fost obținut ca urmare a rezoluției).

Folosind acest utilitar, puteți colecta aproape toate statisticile - ce nume de domeniu a fost rezolvat într-o adresă IP și când s-a întâmplat acest lucru. Un utilizator instruit, desigur, poate ascunde aceste informații (prin scrierea nodului în fișierul hosts sau folosind un alt canal pentru interogări DNS, de exemplu), dar pentru majoritatea nodurilor vom obține o imagine satisfăcătoare.

Cum funcţionează asta:

$ sudo ./sidmat eth0 "." iu
Vedem noi nume de domeniiși la ce se rezolvă (eth0 este interfața pe care trece traficul DNS).

$ sudo ./sidmat eth0 "." iu | în timp ce IFS= citește linia -r; face printf "%s\t%s\n" "$(data "+%Y-%m-%d %H:%M:%S")" "$line"; făcut
Fixăm ora. Tot ce rămâne este să redirecționați rezultatul către un fișier și puteți utiliza tabelul de corespondență. Utilitarul poate captura răspunsuri DNS folosind pcap (pe Linux/BSD) sau folosind mecanismul nflog pe Linux.

Aceeași tehnică poate fi folosită pentru a controla traficul. Filtrați după domeniu, obțineți adrese de domeniu de la cuvinte cheieîn nume etc.

Trebuie să rețineți că controlul poate să nu fie foarte precis. Dacă în momentul în care răspunsul DNS ajunge la utilizator și acesta începe să transmită trafic către acest nod, nu avem timp să adăugăm adresa la ipset/iptables/tabelul de rutare/altul, atunci traficul va merge pe calea „normală”. .

În plus, un utilizator calificat poate genera răspunsuri DNS false, ceea ce înseamnă că este mai bine să folosiți acest lucru cu precauție pentru represalii.

Câteva exemple:

Cum să obțineți o listă de adrese IP la care se rezolvă vk.com și subdomeniile sale? (Fără opțiunea „u”, vor fi tipărite numai adrese IP unice)

$ sudo ./sidmat eth0 "^vk.com$|\.vk.com$" d
Cu opțiunile „d” sau „i” puteți vedea ce domeniu este rezolvat la adresa IP, „d” tipărește numele domeniului în stderr.

Cum să blochezi adresele care permit vk.com, subdomeniile sale și toate domeniile cu cuvântul odnoklassniki? (domenii precum avk.com nu vor intra sub regulă, odnoklassnikii.com va intra).

$ sudo sh -c "/sidmat eth0 "^vk\.com$|\.vk\.com$|odnoklassniki" | /usr/bin/xargs -I () /sbin/iptables -A INPUT -s () - j DROP"
Pe lângă expresiile regulate mici, puteți utiliza liste într-un fișier (opțiunea „f”, al doilea argument este interpretat ca numele fișierului, conținutul său ca o expresie regulată mare). Listele pot fi destul de mari, ne-am uitat la performanța pe lista de domenii RKN (traficul către domeniile interzise a fost redirecționat către VPN), un router de PC obișnuit a făcut față acestui lucru destul de calm.

Puteți ajuta și transfera niște fonduri pentru dezvoltarea site-ului