DNS promet. DNSCrypt – enkripcija DNS prometa za paranoike

4601 ,

Otkako je razbijen mit o anonimnosti na internetu, pitanje privatnosti korisnika pridružilo se popisu gorućih. Ne samo da se mogu pratiti vaše online aktivnosti tražilice i web stranice koje posjećujete, ali i svoje pružatelje internetskih usluga. Tehnički, to nije tako teško ako DNS izdaje vam davatelj, a to se najčešće događa, sve u prolazu DNS njime se može pratiti promet, pogotovo otkad DNS-zahtjevi se šalju preko nekriptirane veze.

Jasno je da zamjena presretnutih paketa neće biti teška čak i ako koristite VPN- usluge.

Jedini način da zatvorite rupu je putem šifriranja. DNS-promet, ali za to će vam trebati poseban softver, budući da nitko od operativni sustavi ne podržava enkripciju DNS iz kutije. Najjednostavniji alat za šifriranje DNS- promet je - mali besplatni uslužni program, prednost se razlikuje po tome što ne zahtijeva dodatne postavke, što znači da ga mogu koristiti početnici. Postoji konzolni alat - DNSCrypt proxy, ali morate se petljati s njim - izvršite niz naredbi u PowerShell, promijeniti adresu DNS ručno i tako dalje. Tko ima vremena i želje neka se s njim upozna na stranici github.com/jedisct1/dnscrypt-proxy .

Predlažemo korištenje jednostavnije i praktičnije verzije za stolna računala DNS- kriptograf. Preuzmite s web stranice razvojnog programera simpledscrypt.org Verzija programa koja odgovara bitnoj razini vašeg OS-a i instalaciji.

Opremljen je jednostavnim, intuitivnim jasno sučelje a osim toga, na ruskom je, pa lako možete shvatiti što je što. U odjeljku se vrše osnovne postavke "Jelovnik". Da biste počeli koristiti program, odmah nakon instalacije kliknite gumb "Primijeni", a zatim u nastavku odaberite svoju Mrežna kartica, treba ga označiti kao što je prikazano na snimci zaslona. Sklopka "DNSCrypt usluga" mora biti aktivan.

Lako je provjeriti radi li sve. Izvršite u prozoru Trčanje tim ncpa.cpl, otvorite svojstva vaše veze, odaberite s popisa IP verzija 4 (TCPIPv4) i otvoriti njegova svojstva. Radio gumb "Koristite sljedeće adrese DNS poslužitelja" mora biti aktivno, a polje mora označavati željeni DNS-poslužitelj. Imamo ga 127.0.0.1 , vaša adresa može biti drugačija.

Prema zadanim postavkama, program automatski odabire najbrži poslužitelj, ali možete promijeniti svoje postavke tako da ga sami odaberete u odjeljku.

Parametre odjeljka ne treba mijenjati ako ne koristite protokol IPv4. U Opće postavke možete omogućiti dodatne kartice "Crna lista domena", "Dnevnik blokiranja domene", ali ovo opet, ako ćete raditi s funkcijama koje nude, posebno sa skladanjem "crno" popisi domena.

Program skenira DNS odgovore poslužitelja (ovo je dovoljno, unutar odgovora postoje upiti), i ako naziv domene odgovara regularnom izrazu, ispisuje adresu iz A zapisa (ono što je dobiveno rezolucijom).

Pomoću ovog uslužnog programa možete prikupiti gotovo sve statistike - koji je naziv domene razriješen u IP adresu i kada se to dogodilo. Istrenirani korisnik, naravno, može sakriti ovu informaciju (zapisivanjem čvora u datoteku hosts ili korištenjem drugog kanala za DNS upite, na primjer), ali za većinu čvorova ćemo dobiti zadovoljavajuću sliku.

Kako radi:

$ sudo ./sidmat eth0 "." iu
Mi vidimo imena domena i na što rješavaju (eth0 je sučelje na kojem prolazi DNS promet).

$ sudo ./sidmat eth0 "." iu | dok je IFS= čitanje -r linije; do printf "%s\t%s\n" "$(datum "+%Y-%m-%d %H:%M:%S")" "$line"; učinjeno
Popravljamo vrijeme. Sve što ostaje je preusmjeriti rezultat u datoteku, a možete koristiti tablicu korespondencije. Uslužni program može uhvatiti DNS odgovore pomoću pcap-a (na Linuxu/BSD-u) ili pomoću mehanizma nflog na Linuxu.

Ista tehnika se može koristiti za kontrolu prometa. Filtrirajte po domeni, preuzmite adrese domene ključne riječi u imenima itd.

Morate imati na umu da kontrola možda neće biti vrlo točna. Ako u trenutku kada DNS odgovor stigne do korisnika i on počne slati promet ovom čvoru, nemamo vremena dodati adresu u ipset/iptables/tablicu usmjeravanja/negdje drugdje, tada će promet ići “normalnim” putem .

Osim toga, kvalificirani korisnik može generirati lažne DNS odgovore, što znači da je bolje ovo koristiti s oprezom za odmazdu.

Nekoliko primjera:

Kako dobiti popis IP adresa na koje vk.com i njegove poddomene rješavaju? (Bez opcije "u" ispisat će se samo jedinstvene IP adrese)

$ sudo ./sidmat eth0 "^vk.com$|\.vk.com$" d
S opcijama “d” ili “i” možete vidjeti koja je domena razriješena na IP adresu, “d” ispisuje naziv domene u stderr.

Kako blokirati adrese koje dopuštaju vk.com, njegove poddomene i sve domene s riječju odnoklassniki? (domene poput avk.com neće potpadati pod pravilo, odnoklassnikii.com hoće).

$ sudo sh -c "/sidmat eth0 "^vk\.com$|\.vk\.com$|odnoklassniki" | /usr/bin/xargs -I () /sbin/iptables -A INPUT -s () - j DROP"
Osim malih regularnih izraza, možete koristiti popise u datoteci (opcija “f”, drugi argument se tumači kao naziv datoteke, njen sadržaj kao jedan veliki regularni izraz). Popisi mogu biti prilično veliki, pogledali smo izvedbu na popisu RKN domena (promet na zabranjene domene preusmjeren je na VPN), obični PC ruter s tim se nosio prilično mirno.

Možete pomoći i dodijeliti neka sredstva za razvoj stranice

U preglednicima, au ovom ćemo članku govoriti o curenju DNS prometa. Što pogađa sve, pa čak i one koji koriste VPN usluge i vjeruju da su iza kamenog zida.

Pozdrav prijatelji! Danas ću vam reći što je curenje DNS-a, zašto biste trebali znati o tome i kako se od toga zaštititi pomoću besplatnog uslužnog programa DNSCrypt.

  • Predgovor
  • Što znači curenje DNS-a?
  • Kako provjeriti curenje DNS-a
  • Kako popraviti curenje DNS-a koristeći DNSCrypt
    • Preuzimanje DNSCrypta
    • Instaliranje DNSCrypta
    • Korištenje DNSCrypta
  • DNSCrypt u pregledniku Yandex
  • DNSCrypt u ruteru
  • Zaključak
  • Ocjena i recenzije

Što znači curenje DNS-a?

Kada koristite HTTPS ili SSL, vaš HTTP promet je šifriran, što znači da je siguran (nije savršen, ali siguran). Kada koristite VPN, sav vaš promet je potpuno šifriran (naravno, razina i kvaliteta zaštite ovisi o ispravne postavke VPN, ali obično je sve konfigurirano i radi ispravno).

Ali postoje situacije u kojima se, čak i kada koristite VPN, vaši DNS zahtjevi prenose u jasnom, nekriptiranom obliku. To napadaču otvara velike mogućnosti za kreativnost. može preusmjeriti promet, koristiti napad MITM (čovjek u sredini) i učiniti hrpu drugih stvari koje mogu ugroziti vašu sigurnost i anonimnost na internetu.

Pokušajmo dublje razumjeti ovo pitanje. Ako vas ne zanima teorija, ali ste zabrinuti za sigurnost, možete odmah prijeći na sljedeće poglavlje. Ako želite znati više, sjednite, sad ću vam se oduševiti.

U našem primjeru na donjoj slici vidite kako korisnik (računalo) pokušava pristupiti stranici www.. Da bi došao do stranice, prvo mora riješiti simboličko ime hosta u IP adresu.

Ako je mrežna konfiguracija takva da se koristi DNS poslužitelj pružatelja usluga (nekriptirana veza, označena crvenom linijom), tada se rješavanje simboličkog imena u IP adresu događa preko nekriptirane veze.

Što je tu strašno?

Prvo, u takvoj situaciji pružatelj može vidjeti vašu DNS povijest i saznati koja ste mjesta posjetili. Naravno, neće znati koji su podaci preneseni, ali može lako vidjeti adrese web stranica.

Drugo, velika je vjerojatnost da ćete biti žrtva hakerskog napada. Kao što su: DNS cache snooping i DNS spoofing.

Što je DNS njuškanje i lažiranje?

Ukratko za one koji ne znaju.

DNS njuškanje— uz pomoć ovog napada napadač može daljinski saznati koje su domene nedavno riješene na DNS poslužitelju, odnosno koje je domene žrtva nedavno posjetila.

lažiranje DNS-a— napad koji se temelji na infekciji predmemorije DNS poslužitelja žrtve lažnim unosom o korespondenciji DNS naziva hosta kojem žrtva vjeruje.

Budući da zahtjevi nisu šifrirani, netko između vas i ISP-a može presresti i pročitati DNS zahtjev, a zatim vam poslati lažni odgovor. stranice, ali i URL u adresna traka), nakon čega ćete unijeti svoje korisničko ime i lozinku, a onda ćete i sami shvatiti što će se dogoditi. Podaci o autorizaciji bit će u rukama napadača.

Opisana situacija naziva se curenje DNS-a. To se događa kada vaš sustav razlučivanja naziva domene nastavi postavljati upite DNS poslužitelju vašeg ISP-a čak i nakon povezivanja na VPN poslužitelj ili Tor mrežu. Svaki put kada pokušate pristupiti web stranici, spojite se na novi poslužitelj ili pokrenite neki mrežna aplikacija, vaš će sustav kontaktirati ISP-ove DNS poslužitelje kako bi razriješio ime u IP adresu. Na kraju će neki haker ili vaš ISP moći saznati sva imena hostova kojima pristupate.

Ako imate nešto za sakriti, onda predlažem da koristite jednostavno rješenje - DNSCrypt. Možete, naravno, registrirati neke druge DNS poslužitelje i slati promet preko njih. Na primjer, Google poslužitelj 8.8.8.8 ili isti OpenDNS 208.67.222.222, 208.67.220.220. U ovom slučaju, naravno, sakrit ćete svoju povijest pregledavanja web stranice od svog pružatelja usluga, ali obavijestite Google o svojim online putovanjima. Osim toga, neće biti enkripcije DNS prometa, a to je veliki nedostatak. Ne znam za vas, ali mene ovo ne oduševljava, radije bih instalirao DNSCrypt.

Kako provjeriti curenje DNS-a

Prije nego što prijeđemo na sam uslužni program, želio bih vas upoznati s posebnim online uslugama. Omogućuju vam provjeru curenja DNS-a.

Program zahtijeva Microsoft . NET Framework 2.0 i više.

DNSCrypt za Mac OS X možete preuzeti pomoću ove veze s Gitaba ili s dijeljenja datoteka pomoću gornje veze.

Developer OpenDNS programa.

Instaliranje DNSCrypta

U ovom članku ćemo pogledati rad s konzolnom verzijom uslužnog programa. Konfigurirat ćemo DNSScript na Windows 10. Instalacija na drugim verzijama Windowsa nije ništa drugačija.

Dakle, raspakirajte preuzetu arhivu i postavite sadržaj mape dnscrypt-proxy-win32 bilo gdje na računalu. U mom primjeru, stavio sam ga u mapu “C:\Program Files\DNSCrypt\”.

Zatim otvorite naredbeni redak kao administrator.


Pokrenite naredbeni redak kao administrator u sustavu Windows 10

Sada unutra naredbeni redak idite u mapu DNSCrypt. To možete učiniti pomoću naredbe:

cd "C:\Programske datoteke\DNSCrypt"

Kliknite ako ne možete kopirati naredbe.

Nakon ovoga, pripremimo se za instaliranje proxy usluge. Prvo morate odabrati DNS davatelja. Datoteku dnscrypt-resolvers.csv stavio sam u arhivu. Ova datoteka sadrži popis većine DNS pružatelja usluga koje DNSCrypt podržava. Svaki pojedinačni pružatelj usluga ima naziv, opis, lokaciju i podršku za DNSSEC i Namecoin. Osim toga, datoteka sadrži potrebne IP adrese i javne ključeve.

Odaberite bilo kojeg pružatelja i kopirajte vrijednost u prvom stupcu. U mom slučaju koristit ću CloudNS, pa sam kopirao "cloudns-can". Sada morate biti sigurni da se proxy može povezati. To možete učiniti pomoću ove naredbe:

dnscrypt-proxy.exe -R "cloudns-can" --test=0

Ako ne uspije, pokušajte odabrati drugog pružatelja usluga i pokušajte ponovno.

Ako je sve prošlo dobro, nastavite s instalacijom i unesite sljedeću naredbu:

dnscrypt-proxy.exe -R cloudns-can --install

Ako sve radi ispravno, vidjet ćete sljedeći izlaz:

Snimka zaslona kako bi to trebalo izgledati u naredbenom retku:

Zatim trebate otići na parametre protokola TCP/IP za Windows i promijeniti ih DNS postavke do 127.0.0.1.

Za uklanjanje usluge DNScrypt morate se vratiti mrežne postavke DNS u početno stanje. To se radi pomoću ove naredbe:

dnscrypt-proxy --deinstaliraj

Ova se naredba također može koristiti za promjenu DNS providera. Nakon prijave potrebno je ponoviti instalaciju s parametrima drugog davatelja usluga.

Ukoliko se nakon cijelog ovog postupka, iz nekog razloga, tijekom provjere još uvijek utvrdi DNS IP adresa Vašeg Internet providera, kliknite na gumb “Advanced” koji se nalazi ispod registriranog IP-a 127.0.0.1. U prozoru koji se pojavi " Dodatne mogućnosti...”, idite na karticu “DNS” i izbrišite sve adrese DNS poslužitelja osim “127.0.0.1”.

To je to, curenje DNS-a je sada popravljeno.

Možda će vas također zanimati članak "", koji je govorio o brisanju DNS zapisa na računalu.

DNSCrypt u pregledniku Yandex

Nedavno je preglednik Yandex dodao podršku za DNSKript. Pa, što mogu reći, dečki iz Yandexa rade i pokušavaju zaštititi korisnika - ovo je sjajno, ali za razliku od uslužnog programa DNSCrypt, Yandexova zaštita implementirana je samo na razini preglednika, a ne na razini cijelog sustava.

DNSCrypt u ruteru

Podrška za DNSKript također je implementirana u popular OpenWrt firmware. Više informacija o montaži i ostalo dodatne informacije možete saznati na ovoj stranici.

Zaključak

Naravno, uslužni program DNSKript i DNS enkripcija općenito nisu lijek za sve, i doista u sigurnost informacija ne postoji takva stvar kao lijek za sve. Možemo samo poboljšati našu sigurnost i anonimnost koliko god je to moguće, ali nažalost, neće biti moguće učiniti našu online prisutnost 100% neranjivom. Tehnologije ne miruju i uvijek će biti rupa u zakonu. Stoga vas pozivam da se pretplatite na naše vijesti na u društvenim mrežama da uvijek bude u toku. Slobodno je.

To je sve prijatelji. Nadam se da vam je ovaj članak pomogao riješiti problem curenja DNS-a. Sretno vam bilo u novoj 2017. godini, sretni bili!

Procjena uslužnog programa DNSCrypt

Naša procjena

DNSCrypt je besplatni uslužni program za zaštitu DNS prometa šifriranjem DNS prometa i korištenjem DNS poslužitelja. Naša ocjena je vrlo dobra!

Korisnička ocijena: 4,26 (39 glasova)

Pomoću nstx-a moguće je stvoriti IP tunel unutar DNS-a. Protokol istog naziva koji vam omogućuje da to postignete zove se "" i označava " NameServer Transfer Protocol».

Dakle, pretpostavimo da pružatelj problema i dopušta vam korištenje njegovog DNS poslužitelja. Zamislimo redoviti DNS zahtjev: tražimo informacije o poslužitelju imena davatelja, poslužitelj davatelja prosljeđuje zahtjev drugom poslužitelju imena, koji je odgovoran za zonu koja nam je potrebna. A posljednji DNS poslužitelj u lancu šalje primljeni odgovor natrag istom rutom.

Sada zamislite da možete formatirati IP pakete u DNS upite poslužitelja imena i "oblikovati" dolazni promet u pakete koji su nam potrebni. A sada već imamo sve za izgradnju punopravnog "IP preko DNS-a" - ​​našeg skriveni tunel za prosljeđivanje prometa kroz gotovo sve vatrozide trećih strana!

Sada preostaje samo konfigurirati lažni nameserver i klijent, ali u praksi to nije uvijek tako jednostavno.

Maksimalna veličina paketa koji se može prenijeti je najviše 512 bajtova preko UDP-a. Stoga će nam trebati mehanizam asemblera/rastavljača koji će prikupljati i rastavljati fragmentirane pakete i provjeravati njihovu ispravnost. U ovoj shemi, naš lažni DNS klijent može stalno komunicirati s našim lažnim DNS poslužiteljem, ali naš DNS poslužitelj može samo odgovoriti. Stoga će klijent biti odgovoran za pomirenje i održavanje dvosmjerne komunikacije.

Prvi put sam to pokušao učiniti 2008. godine. Dva sam tjedna polako radio na ovom paketu, prilagodio izvorni kod sebi, ponovno pročitao priručnike, i kao rezultat, dobio sam radni tunel uspješno izgrađen kroz naš ultra-sigurni firewall korporativna mreža. Tada mi je to bilo jednostavno nevjerojatno!

Općenito, uz malo želje i vremena, možete samostalno pokrenuti lažni klijentski poslužitelj imena za stvaranje tunela "IP-over-DNS".

Igraj, probaj. Potražite načine da se zaštitite od ovoga. Unaprijed vas upozoravam da ovdje postoji mnogo tehničkih nijansi.

Mislite da je vaša anonimnost pouzdano zaštićena. No, nažalost, to nije slučaj. Postoji jedan vrlo važan kanal za curenje vaših privatnih podataka - DNS servis. No, srećom, i za to je izmišljeno rješenje. Danas ću vam reći kako šifrirati svoj DNS promet pomoću uslužnog programa DNSCrypt.

Kada koristite HTTPS ili SSL, vaš HTTP promet je kriptiran, odnosno zaštićen. Kada koristite VPN, sav vaš promet je već šifriran (naravno, sve ovisi o postavkama VPN-a, ali u pravilu je tako). Ali ponekad, čak i kada koristite VPN, vaši DNS upiti nisu šifrirani, oni se šalju takvi kakvi jesu, što otvara puno prostora za kreativnost, uključujući MITM napade, preusmjeravanje prometa i još mnogo toga.

Ovdje u pomoć dolazi uslužni program otvorenog koda DNSCrypt, koji su razvili poznati kreatori OpenDNS-a - programa koji vam omogućuje šifriranje DNS zahtjeva. Nakon što ga instalirate na svoje računalo, vaše veze će također biti zaštićene i moći ćete sigurnije surfati internetom. Naravno, DNSCrypt nije lijek za sve probleme, već samo jedan od sigurnosnih alata. I dalje morate koristiti VPN vezu za šifriranje cijelog prometa, ali uparivanje s DNSCryptom bit će sigurnije. Ako ste zadovoljni ovako kratkim objašnjenjem, možete odmah prijeći na dio gdje ću opisati instalaciju i korištenje programa.

Pokušajmo razumjeti dublje. Ovaj odjeljak je za istinski paranoične. Ako cijenite svoje vrijeme, možete odmah nastaviti s instaliranjem programa.
Dakle, kako kažu, bolje je vidjeti jednom nego čuti sto puta. Pogledaj sliku.


Recimo da klijent (prijenosno računalo na slici) pokušava pristupiti google.com. Prije svega, trebao bi
razlučivanje simboličkog imena računala u IP adresu. Ako je mrežna konfiguracija takva da se koristi DNS poslužitelj pružatelja usluga (nekriptirana veza, crvena linija na slici), tada se rješavanje simboličkog imena u IP adresu događa preko nekriptirane veze.

Da, nitko neće znati koje ćete podatke prenijeti na dkws.org.ua. Ali postoje vrlo neugodni trenuci. Prvo, pružatelj će, gledajući zapise DNS-a, moći saznati koja ste mjesta posjetili. Trebaš li to? Drugo, vjerojatna je mogućnost lažiranja DNS-a i napada njuškanjem DNS-a. Neću ih detaljno opisivati, o tome je već napisano mnogo članaka. Ukratko, situacija bi mogla biti sljedeća: netko između vas i pružatelja može presresti DNS zahtjev (a budući da zahtjevi nisu šifrirani, neće biti teško presresti zahtjev i pročitati njegov sadržaj) i poslati vam “ lažni” odgovor. Kao rezultat toga, umjesto posjete google.com, otići ćete na web stranicu napadača, koja je upravo onakva kojoj trebate, unijet ćete lozinku s foruma, a onda je razvoj događaja, mislim, jasan.

Opisana situacija naziva se curenje DNS-a. Do curenja DNS-a dolazi kada vaš sustav, čak i nakon povezivanja s VPN poslužitelj ili Tor nastavlja postavljati upite ISP-ovim DNS poslužiteljima za rješavanje imena domena. Svaki put kada posjetite novu web stranicu, spojite se na novi poslužitelj ili pokrenete mrežnu aplikaciju, vaš sustav kontaktira DNS vašeg ISP-a kako bi razlučio ime u IP. Kao rezultat toga, vaš pružatelj ili bilo tko koji se nalazi na "posljednjoj milji", to jest između vas i pružatelja, može primiti sva imena čvorova kojima pristupate. Gornja opcija sa zamjenom IP adrese je prilično okrutna, ali u svakom slučaju moguće je pratiti čvorove koje ste posjetili i koristiti te podatke za vlastite svrhe.

Ako se “bojite” svog pružatelja usluga ili jednostavno ne želite da on vidi koje stranice posjećujete, možete (naravno, uz korištenje VPN-a i drugih sigurnosnih mjera) dodatno konfigurirati svoje računalo za korištenje DNS poslužitelji Projekt OpenDNS (www.opendns.com). Na ovaj trenutak Ovo su sljedeći poslužitelji:

208.67.222.222
208.67.220.220

Nije vam potreban nikakav drugi dodatni softver. Samo konfigurirajte svoj sustav za korištenje ovih DNS poslužitelja.

Ali problem presretanja DNS veza i dalje ostaje. Da, više ne pristupate DNS-u pružatelja usluga, već OpenDNS-u, ali i dalje možete presresti pakete i vidjeti što je u njima. To jest, ako želite, možete saznati kojim čvorovima ste pristupili.

Sada dolazimo do DNSCrypta. Ovaj vam program omogućuje šifriranje vaše DNS veze. Sada vaš ISP (i svi između vas i njih) neće točno znati koje stranice posjećujete! Ponovit ću opet. Ovaj program nije zamjena za Tor ili VPN. Kao i prije, ostali podaci koje prenosite prenose se bez enkripcije ako ne koristite ni VPN ni Tor. Program šifrira samo DNS promet.


KAO ZAKLJUČAK

Članak nije bio dugačak, jer je sam program vrlo jednostavan za korištenje. Ali ne bi bilo potpuno da nisam spomenuo VPN. Ako ste pročitali ovaj članak i zanima vas, ali još niste koristili usluge VPN pružatelja usluga za šifriranje svojih podataka, vrijeme je da to učinite.
Pružatelj VPN-a će vam osigurati siguran tunel za prijenos vaših podataka, a DNSCrypt će osigurati vaše DNS veze. Naravno, usluge VPN pružatelja usluga se plaćaju, ali morate platiti za sigurnost, zar ne?

Možete, naravno, koristiti Tor, ali Tor radi relativno sporo i, što god rekli, nije VPN - neće biti moguće "torificirati" sav promet. U svakom slučaju (koju god opciju izabrali), vaše DNS veze sada su sigurne. Preostaje samo odlučiti se za način šifriranja prometa (ako to već niste učinili).