Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

DNS të koduara. DNSCrypt - Kriptimi i trafikut DNS për paranojakët

Ky artikull është shkruar me kërkesë të një prej lexuesve të blogut. Dhe duhet të them - tema është shumë interesante.

Në ditët e sotme, çështja e mbrojtjes së trafikut të transmetuar në internet po bëhet gjithnjë e më urgjente. Shumë njerëz mund t'i lakmojnë të dhënat tuaja - nga sulmuesit që do të bëjnë çmos për të marrë fjalëkalimet tuaja shërbime të ndryshme, shërbimeve të inteligjencës që duan të dinë gjithçka për çdo lëvizje tuajën. Dhe me radhë kohë të dhënë, ekziston nje numer i madh i"vetëmbrojtje" në internet. Rreth një të tillë të thjeshtë, por shumë mjete efektive, do të diskutohet në këtë artikull - DNScrypt.

Ekziston një burim kaq i mrekullueshëm i quajtur OpenDNS, i cili ofron serverët e tij publik DNS. OpenDNS ofron Zgjidhjet DNS për përdoruesit dhe bizneset si një alternativë për përdorimin e serverit DNS të ofruar nga ISP-ja e tyre. Duke vendosur serverët e kompanisë në zona strategjike dhe duke përdorur një cache të madhe emrash domenesh, OpenDNS tenton të plotësojë kërkesat shumë më shpejt, duke rritur kështu shpejtësinë e hapjes së faqeve. Rezultatet e pyetjeve DNS ruhen në memorie sistemi operativ dhe/ose aplikacione, kështu që kjo shpejtësi mund të mos jetë e dukshme në çdo kërkesë, por vetëm në ato kërkesa që nuk janë të ruajtura në memorie.

Sepse trafiku midis serverit DNS dhe kompjuterit tuaj jo i koduar, kjo krijon një rrezik serioz të përgjimit të trafikut. Kriptimi i trafikut DNS do të mbrojë klientin nga sulmet "Njeriu në mes", në të cilën një sulmues futet në një kanal komunikimi dhe pretendon të jetë një server DNS. Për më tepër, kriptimi parandalon zbulimin e trafikut dhe bllokon aktivitetin keqdashës të lidhur me ID-të e paketave të detyruara brutale ose dërgimin e përgjigjeve false DNS. E thënë thjesht: Kriptimi DNS do të parandalojë sulmet e phishing kur, në vend të faqes së dëshiruar, hapet një kopje me qëllim të keq ku futni të dhënat tuaja. Me të gjitha pasojat. Plus, do të jetë shumë më e vështirë për ofruesin të zbulojë se cilat faqe keni vizituar (pasi regjistrat nuk do të përmbajnë informacion në lidhje me kërkesat për zgjidhjen e emrit). Për të organizuar të gjitha këto, projekti OpenDNS ka lëshuar një mjet të mrekullueshëm me burim të hapur Kodi i burimit- DNScrypt.

Ky mjet do të kodojë të gjithë trafikun e transmetuar midis kompjuterit tuaj dhe serverëve OpenDNS. Nëse ISP-ja juaj bllokon një faqe interneti për shkak të saj emri i domenit- tani kjo faqe do të funksionojë! Një tjetër plus. Kjo dobi E disponueshme në një gamë të gjerë sistemesh. Unë do të përshkruaj instalimin dhe konfigurimin duke përdorur një shembull Debian Dhe Ubuntu/Linux Mint.

Ubuntu 14.04 Dhe Debian 8, ky program nuk ekziston. Opsioni 2: ndërtojeni vetë ose përdorni depo të palëve të treta. Në rastin e Ubuntu, kjo do të jetë një depo e PPA:

sudo add-apt-repository ppa:xuzhen666/dnscrypt
përditësim sudo apt-get
sudo apt-get install dnscrypt-proxy

Në rastin e Debian, thjesht shkarkoni paketën dnscrypt-proxy nga depoja e lëshimit të testit. Dhe instaloni duke përdorur GDebi, ose nga ekipi sudo dpkg -i dnscrypt-proxy_1.6.0-2_amd64.deb.

Për vetë-montim:

wget https://raw.github.com/simonclausen/dnscrypt-autoinstall/master/dnscrypt-autoinstall.sh && chmod +x dnscrypt-autoinstall.sh && ./dnscrypt-autoinstall.sh

Gjatë procesit të instalimit do t'ju kërkohet të zgjidhni një server DNS. Zgjidhni OpenDNS.

Cilësimet shtesë nuk kërkohet, paketa përmban gjithçka që ju nevojitet. Gjithçka që ju nevojitet është të rikonfiguroni pak lidhjen tuaj të rrjetit. Hapni cilësimet lidhjet e rrjetit, zgjidhni tuajin, shkoni te skeda IPv4, ndryshoni AutoAutomatik (vetëm adresat) (Auto (vetëm adresa) dhe specifikoni adresën DNS 127.0.2.1

Rinisni, lidheni dhe shkoni te

Ju mendoni se anonimiteti juaj mbrohet në mënyrë të besueshme. Por fatkeqësisht nuk është kështu. Ekziston një kanal shumë i rëndësishëm për nxjerrjen e informacionit tuaj privat - Shërbimi DNS. Por fatmirësisht edhe për këtë është shpikur një zgjidhje. Sot do t'ju tregoj se si të kriptoni trafikun tuaj DNS duke përdorur mjetin DNSCrypt.

Kur përdorni HTTPS ose SSL, trafiku juaj HTTP është i koduar, domethënë i mbrojtur. Kur përdorni një VPN, i gjithë trafiku juaj tashmë është i koduar (natyrisht, gjithçka varet nga cilësimet e VPN, por, si rregull, ky është rasti). Por ndonjëherë, edhe kur përdorni një VPN, pyetjet tuaja DNS nuk janë të koduara, ato dërgohen siç janë, gjë që hapet hapësirë ​​e madhe për "krijimtarinë", duke përfshirë sulmet MITM, ridrejtimin e trafikut dhe shumë më tepër.

Këtu vjen në shpëtim programi me burim të hapur DNSCrypt, i zhvilluar nga krijuesit e njohur të OpenDNS - një program që ju lejon të kriptoni pyetjet DNS. Pas instalimit të tij në kompjuterin tuaj, lidhjet tuaja do të mbrohen dhe ju do të mund të lundroni në internet në mënyrë më të sigurt. Sigurisht, DNSCrypt nuk është një ilaç për të gjitha problemet, por vetëm një nga mjetet e sigurisë. Ju ende duhet të përdorni një lidhje VPN për të enkriptuar të gjithë trafikun, por çiftimi i tij me DNSCrypt do të jetë më i sigurt. Nëse jeni të kënaqur me një shpjegim kaq të shkurtër, mund të kaloni menjëherë në seksionin ku do të përshkruaj instalimin dhe përdorimin e programit.

Le të përpiqemi të kuptojmë më thellë. Ky seksion është për paranojakët me të vërtetë. Nëse e vlerësoni kohën tuaj, atëherë mund të vazhdoni menjëherë me instalimin e programit.
Pra, siç thonë ata, është më mirë të shohësh një herë sesa të dëgjosh njëqind herë. Shikoni foton.

Le të themi se një klient (laptopi në foto) po përpiqet të hyjë në google.com. Para së gjithash, ai duhet
zgjidhni emrin simbolik të hostit në adresën IP. Nëse konfigurimi i rrjetit është i tillë që përdoret serveri DNS i ofruesit (lidhja e pakriptuar, vija e kuqe në figurë), atëherë leja emër simbolik në adresën IP ndodh mbi një lidhje të pakriptuar.

Po, askush nuk do ta dijë se çfarë të dhënash do të transmetoni në dkws.org.ua. Por ka disa momente shumë të pakëndshme. Së pari, ofruesi, duke parë regjistrat e DNS, do të jetë në gjendje të zbulojë se cilat faqe keni vizituar. Keni nevojë për të? Së dyti, mundësia e mashtrimit të DNS dhe sulmeve të përgjimit të DNS është e mundshme. Unë nuk do t'i përshkruaj ato në detaje; tashmë janë shkruar shumë artikuj për këtë. Me pak fjalë, situata mund të jetë si më poshtë: dikush midis jush dhe ofruesit mund të përgjojë kërkesën DNS (dhe meqenëse kërkesat nuk janë të koduara, nuk do të jetë e vështirë të përgjoni kërkesën dhe të lexoni përmbajtjen e saj) dhe t'ju dërgojë një " përgjigje e rreme”. Si rezultat, në vend që të vizitoni google.com, do të shkoni në faqen e internetit të sulmuesit, e cila është saktësisht si ajo që ju nevojitet, do të futni fjalëkalimin tuaj nga forumi dhe më pas zhvillimi i ngjarjeve, mendoj, është i qartë.

Situata e përshkruar quhet rrjedhje DNS. Rrjedhja e DNS ndodh kur sistemi juaj, edhe pas lidhjes me Server VPN ose Tor vazhdon të kërkojë serverët DNS të ISP-së për të zgjidhur emrat e domeneve. Sa herë që vizitoni një sajt të ri, lidheni me një server të ri ose hapni diçka aplikacioni i rrjetit, hyn sistemi juaj Ofruesi DNS për të zgjidhur emrin në IP. Si rezultat, ofruesi juaj ose kushdo që ndodhet në "miljen e fundit", domethënë midis jush dhe ofruesit, mund të marrë të gjithë emrat e nyjeve që keni akses. Opsioni i mësipërm me zëvendësimin e adresës IP është mjaft mizor, por në çdo rast është e mundur të gjurmoni nyjet që keni vizituar dhe ta përdorni këtë informacion për qëllimet tuaja.

Nëse keni "frikë" nga ofruesi juaj ose thjesht nuk dëshironi që ai të shohë faqet që vizitoni, ju mund (natyrisht, përveç përdorimit të një VPN dhe masave të tjera sigurie) të konfiguroni gjithashtu kompjuterin tuaj në duke përdorur DNS serverët e projektit OpenDNS (www.opendns.com). Aktiv ky moment këta janë serverët e mëposhtëm:

208.67.222.222
208.67.220.220

Në këtë rast, nuk keni nevojë për ndonjë shtesë tjetër software. Thjesht konfiguroni sistemin tuaj për të përdorur këta serverë DNS.

Por problemi i përgjimit të lidhjeve DNS mbetet ende. Po, ju nuk po hyni më në DNS të ofruesit, por në OpenDNS, por prapë mund të përgjoni paketat dhe të shihni se çfarë ka në to. Kjo do të thotë, nëse dëshironi, mund të zbuloni se cilat nyje keni akses.

Tani vijmë te DNSCrypt. Ky program ju lejon të kriptoni tuajin Lidhja DNS. Tani ISP-ja juaj (dhe të gjithë mes jush dhe tyre) nuk do të dinë saktësisht se cilat faqe vizitoni! Do ta përsëris përsëri. Ky program nuk është një zëvendësim për Tor ose VPN. Si më parë, pjesa tjetër e të dhënave që transmetoni transmetohet pa enkriptim nëse nuk përdorni as VPN, as Tor. Programi kodon vetëm trafikun DNS.


SI PERFUNDIM

Artikulli nuk ishte shumë i gjatë, pasi vetë programi është shumë i lehtë për t'u përdorur. Por nuk do të ishte e plotë nëse nuk do të përmendja VPN. Nëse e lexoni këtë artikull dhe jeni të interesuar për të, por nuk keni përdorur ende shërbimet e një ofruesi VPN për të kriptuar të dhënat tuaja, atëherë është koha për ta bërë këtë.
Ofruesi VPN do t'ju ofrojë një tunel të sigurt për të transferuar të dhënat tuaja dhe DNSCrypt do të sigurojë lidhjet tuaja DNS. Sigurisht, Shërbimet VPN ofruesit paguhen, por ju duhet të paguani për sigurinë?

Ju, sigurisht, mund të përdorni Tor, por Tor funksionon relativisht ngadalë dhe, çfarëdo që mund të thuhet, nuk është një VPN - nuk do të jetë e mundur të "torfikohet" i gjithë trafiku. Në çdo rast (cildo opsion që zgjidhni), lidhjet tuaja DNS tani janë të sigurta. E tëra që mbetet është të vendosni për një mjet për të koduar trafikun (nëse nuk e keni bërë tashmë këtë).

Përditësuar së fundi më 30 tetor 2016.

Në shfletues dhe në këtë artikull do flasim rreth rrjedhjes së trafikut DNS. Gjë që prek të gjithë, madje edhe ata që përdorin shërbimet VPN dhe besojnë se janë pas një muri guri.

Përshëndetje miq! Sot do t'ju tregoj se çfarë është një rrjedhje DNS, pse duhet të dini për të dhe si të mbroheni prej tij duke përdorur mjetin falas DNSCrypt.

  • Parathënie
  • Çfarë do të thotë rrjedhje DNS?
  • Si të kontrolloni për rrjedhje DNS
  • Si të rregulloni rrjedhjen e DNS duke përdorur DNSCrypt
    • Po shkarkon DNSCrypt
    • Instalimi i DNSCrypt
    • Duke përdorur DNSCrypt
  • DNSCrypt në shfletuesin Yandex
  • DNSCrypt në ruter
  • konkluzioni
  • Vlerësimi dhe komentet

Çfarë do të thotë një rrjedhje DNS?

Kur përdorni HTTPS ose SSL, trafiku juaj HTTP është i koduar, që do të thotë se është i sigurt (jo i përsosur, por i sigurt). Kur përdorni një VPN, i gjithë trafiku juaj është plotësisht i koduar (natyrisht, niveli dhe cilësia e mbrojtjes varet nga cilësimet e sakta VPN, por zakonisht gjithçka është konfiguruar dhe funksionon siç duhet).

Por ka situata në të cilat edhe me duke përdorur një VPN, pyetjet tuaja DNS dërgohen në formë të qartë dhe të pakriptuar. Kjo i hap derën një sulmuesi mundësi të mëdha për kreativitet. mund të ridrejtojë trafikun, të përdorë një sulm MITM (njeri në mes) dhe të bëjë një sërë gjërash të tjera që mund të rrezikojnë sigurinë dhe anonimitetin tuaj në internet.

Le të përpiqemi ta kuptojmë këtë çështje më thellë. Nëse nuk jeni të interesuar për teorinë, por jeni të shqetësuar për sigurinë, mund të kaloni direkt në kapitullin tjetër. Nëse doni të dini më shumë, rrini duarkryq, tani do t'ju hedh mendjen.

Në shembullin tonë në figurën më poshtë, shihni se si përdoruesi (kompjuteri) po përpiqet të hyjë në faqen www.. Për të arritur në sajt, ai duhet së pari të zgjidhë emrin simbolik të hostit në një adresë IP.

Nëse konfigurimi i rrjetit është i tillë që përdoret serveri DNS i ofruesit (një lidhje e pakriptuar, e shënuar me një vijë të kuqe), atëherë zgjidhja e emrit simbolik në adresën IP ndodh përmes një lidhjeje të pakriptuar.

Çfarë është kaq e frikshme për këtë?

Së pari, në një situatë të tillë ofruesi mund të shikojë Historia DNS dhe zbuloni se cilat faqe keni vizituar. Sigurisht, ai nuk do të dijë se çfarë të dhënash janë transmetuar, por ai mund të shikojë lehtësisht adresat e faqeve të internetit.

Së dyti, ekziston Mundësi e madhe të jetë viktimë sulm hakeri. Të tilla si: Snooping cache DNS dhe spoofing DNS.

Çfarë është DNS snooping dhe spoofing?

Shkurtimisht për ata që nuk e dinë.

Snooping DNS— me këtë sulm, një sulmues mund të zbulojë nga distanca se cilat domene janë zgjidhur së fundmi në serverin DNS, domethënë cilat domene vizitoi viktima së fundmi.

DNS spoofing— një sulm i bazuar në infektimin e memories së serverit DNS të viktimës me një hyrje të rreme në lidhje me korrespondencën e emrit DNS të një hosti që viktima i beson.

Meqenëse kërkesat nuk janë të koduara, dikush midis jush dhe ISP-së mund të përgjojë dhe lexojë kërkesën DNS dhe më pas t'ju dërgojë një përgjigje të rreme. faqet, por edhe URL-në në shiriti i adresave), pas së cilës do të futni emrin e përdoruesit dhe fjalëkalimin, dhe më pas ju vetë do të kuptoni se çfarë do të ndodhë. Të dhënat e autorizimit do të jenë në duart e një sulmuesi.

Situata e përshkruar quhet rrjedhje DNS. Ndodh kur sistemi juaj nuk është në gjendje të zgjidhë emrat e domeneve edhe pas lidhjes me serverin VPN ose Rrjeti Tor vazhdon të pyesë serverët DNS ofruesi juaj. Sa herë që përpiqeni të vizitoni një faqe interneti, të lidheni me një server të ri ose të ekzekutoni një aplikacion rrjeti, sistemi juaj do të kontaktojë serverët DNS të ISP-së tuaj për të zgjidhur emrin në një adresë IP. Përfundimisht, ndonjë haker ose ISP-ja juaj do të jetë në gjendje të zbulojë të gjithë emrat e hosteve ku keni akses.

Nëse keni diçka për të fshehur, atëherë ju sugjeroj të përdorni një zgjidhje të thjeshtë - DNSCrypt. Sigurisht, mund të regjistroni disa serverë të tjerë DNS dhe të dërgoni trafik përmes tyre. Për shembull, serveri Google 8.8.8.8 ose i njëjti OpenDNS 208.67.222.222, 208.67.220.220. Në këtë rast, sigurisht, ju do të fshehni historinë e shfletimit të faqes suaj të internetit nga ofruesi juaj, por tregoni Google për udhëtimet tuaja në internet. Përveç kësaj, nuk do të ketë enkriptim të trafikut DNS, dhe kjo pengesë e madhe. Nuk e di për ju, por kjo nuk më emocionon, më mirë do të instaloja DNSCrypt.

Si të kontrolloni për rrjedhje DNS

Para se të kalojmë në vetë shërbimin, do të doja t'ju prezantoja me shërbime speciale në internet. Ato ju lejojnë të kontrolloni për rrjedhje DNS.

Programi kërkon Microsoft. NET Framework 2.0 dhe më lart.

Mund të shkarkoni DNSCrypt për Mac OS X duke përdorur lidhjen nga Gitab ose nga ndarja e skedarëve duke përdorur lidhjen e mësipërme.

Zhvilluesi i programit OpenDNS.

Instalimi i DNSCrypt

Në këtë artikull do të shqyrtojmë punën me versionin e tastierës së programit. Ne do të konfigurojmë DNSScript në Windows 10. Instalimi në versionet e tjera të Windows nuk është i ndryshëm.

Pra, shpaketoni arkivin e shkarkuar dhe vendosni përmbajtjen e dosjes dnscrypt-proxy-win32 kudo në kompjuter. Në shembullin tim, e vendosa në dosjen "C:\Program Files\DNSCrypt".

Pastaj hapni një komandë si administrator.


Ekzekutoni vijën e komandës si administrator në Windows 10

Tani në linja e komandës shkoni te dosja DNSCrypt. Ju mund ta bëni këtë duke përdorur komandën:

cd "C:\Program Files\DNSCrypt"

Klikoni nëse nuk mund të kopjoni komandat.

Pas kësaj, le të përgatitemi për të instaluar shërbimin proxy. Së pari ju duhet të zgjidhni një ofrues DNS. Vendosa skedarin dnscrypt-resolvers.csv në arkiv. Ky skedar përmban një listë të shumicës së ofruesve të DNS që DNSCrypt mbështet. Çdo ofrues individual ka një emër, përshkrim, vendndodhje dhe mbështetje për DNSSEC dhe Namecoin. Për më tepër, skedari përmban adresat e nevojshme IP dhe çelësat publikë.

Zgjidhni çdo ofrues dhe kopjoni vlerën në kolonën e parë. Në rastin tim do të përdor CloudNS, kështu që kopjova "cloudns-can". Tani duhet të siguroheni që përfaqësuesi mund të lidhet. Ju mund ta bëni këtë duke përdorur këtë komandë:

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

Nëse nuk funksionon, provo të zgjedhësh një ofrues tjetër dhe provo sërish.

Nëse gjithçka shkoi mirë, vazhdoni me instalimin dhe futni komandën e mëposhtme:

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

Nëse gjithçka funksionon si duhet, do të shihni daljen e mëposhtme:

Një pamje e ekranit se si duhet të duket në vijën e komandës:

Pastaj duhet të shkoni te parametrat e protokollit të Windows TCP/IP dhe të ndryshoni cilësimet e DNS në 127.0.0.1.

Për të hequr shërbimin DNScrypt duhet të ktheheni cilësimet e rrjetit DNS në gjendjen fillestare. Kjo bëhet duke përdorur këtë komandë:

dnscrypt-proxy --uninstall

Kjo komandë mund të përdoret gjithashtu për të ndryshuar ofruesin DNS. Pas aplikimit, duhet të përsërisni instalimin me parametrat e një ofruesi tjetër.

Nëse, pas gjithë kësaj procedure, për ndonjë arsye gjatë kontrollit jeni ende të vendosur Adresa IP DNS ofruesin tuaj të internetit, klikoni në butonin "Advanced", i cili ndodhet nën IP-në e regjistruar 127.0.0.1. Në dritaren që shfaqet " Opsione shtesë...", shkoni te skeda "DNS" dhe fshini të gjitha adresat e serverit DNS përveç "127.0.0.1".

Kjo është e gjitha, rrjedhja e DNS tani është rregulluar.

Ju gjithashtu mund të jeni të interesuar për artikullin "", i cili foli për fshirjen Regjistrimet DNS ne kompjuter.

DNSCrypt në shfletuesin Yandex

Kohët e fundit, shfletuesi Yandex ka shtuar mbështetje për DNSKript. Epo, çfarë mund të them, djemtë nga Yandex po punojnë dhe po përpiqen të mbrojnë përdoruesin - kjo është e shkëlqyeshme, por ndryshe nga mjeti DNSCrypt, mbrojtja e Yandex zbatohet vetëm në nivelin e shfletuesit, dhe jo në nivelin e të gjithë sistemit.

DNSCrypt në ruter

Mbështetja DNSKript zbatohet gjithashtu në popullore Firmware OpenWrt. Më shumë informacion rreth instalimit dhe të tjera informacion shtese mund ta gjeni ne faqe.

konkluzioni

Sigurisht, programi DNSKript dhe enkriptimi i DNS në përgjithësi nuk janë një ilaç, dhe në të vërtetë në siguria e informacionit nuk ka gjë të tillë si ilaç. Ne vetëm mund të përmirësojmë sigurinë dhe anonimitetin tonë sa më shumë që të jetë e mundur, por për fat të keq, nuk do të jetë e mundur ta bëjmë praninë tonë në internet 100% të paprekshme. Teknologjitë nuk qëndrojnë ende dhe gjithmonë do të ketë boshllëqe. Prandaj, ju ftoj të abonoheni në lajmet tona në në rrjetet sociale për të qenë gjithmonë i përditësuar. Është falas.

Kjo është e gjitha miq. Shpresoj se ky artikull ju ndihmoi të zgjidhni problemin tuaj të rrjedhjes së DNS. Ju uroj fat në vitin e ri 2017, qofshi të lumtur!

Vlerësimi i mjetit DNSCrypt

Vlerësimi ynë

DNSCrypt - shërbim falas për të mbrojtur trafikun DNS Duke enkriptuar trafikun DNS dhe duke përdorur serverët DNS. Vlerësimi ynë është shumë i mirë!

Vlerësimi i përdoruesit: 4,25 (36 vlerësime)

Njerëzit shpesh pyesin se çfarë është DNSCrypt dhe pse është e nevojshme. Disa kohë më parë kam shkruar tashmë për , atëherë po flisnim për mbështetje në versionin beta të shfletuesit. Këtë herë do ta shikojmë teknologjinë në detaje dhe "Yandex.Browser" do të shërbejë si shembull dhe burim i të dhënave laboratorike. Unë analizoj paketat në Wireshark, për të cilat kam shkruar një analizues të vogël DNSCrypt (në terminologjinë e Wireshark ky është një disektor, në gjuha Lua; Nuk mund të gjeja analizuesin standard DNSCrypt në Wireshark).

DNSCrypt është një shërbim proxy që krijon një kanal të sigurt midis një zgjidhësi DNS të klientit dhe një zgjidhësi rekurziv DNS që funksionon në server. DNSCrypt, në përputhje me rrethanat, ka dy pjesë: klient dhe server. Përmes trafikut DNS, i cili zakonisht transmetohet në formë e hapur, informacioni rreth sajteve që vizitoni mund të rrjedhë. Për më tepër, pyetjet DNS janë një vektor i zakonshëm sulmi për mashtrimin e adresave. Zëvendësimi i adresës së zgjidhësit të sistemit DNS me adresën e një serveri të rremë është e zakonshme Trojans për shumë vite. E njëjta gjë vlen edhe për sulmet në ruterat e shtëpisë. DNSCrypt ju lejon të kriptoni (dhe gjithashtu të mbroni nga mashtrimi në një masë të kufizuar) si kërkesat ashtu edhe përgjigjet DNS. Është e mundur të vërtetosh serverin dhe klientin, por kjo veçori nuk përdoret gjithmonë. Në përgjithësi, tema e fshehjes së trafikut DNS (DNS Privacy) tani ka fituar një popullaritet të konsiderueshëm. Përveç DNSCrypt, ekziston, për shembull, protokolli "DNS mbi TLS" (DNS mbi TLS është RFC 7858 i fundit, i cili, pavarësisht nga disa "inversione", nuk duket më keq se DNSCrypt). Ka zhvillime të tjera.

DNSCrypt. Protokolli mund të përdorë si TCP ashtu edhe UDP si transport. Në praktikë, UDP preferohet nëse është i disponueshëm, por specifikimi kërkon rreptësisht mbështetje për TCP (jo UPD, që është opsionale). TCP është natyrshëm tërheqës për shkak të natyrës së tij të sesionit. Por UDP është shumë më i shpejtë, veçanërisht për shërbimet e zëna. Për shkak të problemeve me sulmet DDoS dhe disa çështjeve të tjera të sigurisë, tani ka një lëvizje në modë drejt përkthimit numri maksimal shërbimet në TCP, kjo vlen veçanërisht për DNS. Sidoqoftë, më poshtë do të diskutoj funksionimin e DNSCrypt vetëm mbi UDP, pasi ky është opsioni tradicional për DNS. Numri i rekomanduar i portit DNSCrypt (server) është 443 (ky është zakonisht i hapur rrjetet e korporatave; praktika e përdorimit të 443/udp, për shembull, është standarde për një numër VPN-sh dhe shërbimesh të tjera; 443/tcp është TLS/HTTPS, themeli i shërbimeve në internet). Sidoqoftë, Yandex në zbatimin e tij të DNSCrypt përdor një numër të paprivilegjuar: 15353, kjo ndoshta është për shkak të disa ideve për tejkalimin e pengesave të ndryshme të rrjetit.

Pak më shumë për barrierat: nuk do të ketë probleme me bllokimin e trafikut DNSCrypt nëse ofruesi i kanalit ka një dëshirë të tillë. Siç do të jetë e qartë nga përshkrimi më poshtë, ky protokoll nuk përpiqet të fshehë vetë faktin e përdorimit të tij. Në trafik të këtij protokolli ndez shënuesit standardë, i cili do t'ju lejojë të zbuloni dhe filtroni paketat edhe në ruterin më primitiv, duke përdorur një rregull të thjeshtë "me dy rreshta". Në këtë rast, për shembull, qasja për sesionet e tjera TCP që ekzekutohen në portin 443 do të mbetet.

Në DNSCrypt, krijimi i një sesioni midis klientit dhe serverit fillon me një kërkesë të rregullt DNS të dërguar në adresën dhe numrin përkatës të portit të hostit që do të sigurojë funksionet e zgjidhjes së emrit. Kjo është një kërkesë për regjistrim TXT për një emër lloj i veçantë(d.m.th., kërkesa tashmë mund të filtrohet lehtësisht). Për shembull, në rastin e shërbimit Yandex: 2.dnscrypt-cert.browser.yandex.net. Ky emër i veçantë nuk mund të delegohet. Vlera 2 - korrespondon me versionin DNSCrypt. Versioni aktual është i dyti. Si përgjigje, serveri duhet të dërgojë një ose më shumë certifikata DNSCrypt (theksoj: ato nuk kanë të bëjnë fare me certifikatat SSL).

Pamja e ekranit tregon një paketë me një certifikatë nga serveri Yandex DNSCrypt.

Një certifikatë është një grup fushash: versioni i certifikatës, vlera e nënshkrimit, çelës publik server, bajt magjik për klientin (ato do të shërbejnë si identifikues për kërkesat e klientit - serveri do të jetë në gjendje të kuptojë se cilin çelës duhet të përdorë kur përgjigjet), numër serik dhe data e skadencës.

Specifikimi supozon se serveri transmeton një çelës publik afatshkurtër si pjesë e certifikatës. (Megjithatë, në rastin e serverit Yandex, çelësi i dhënë nuk ka ndryshuar të paktën që nga fundi i marsit, kur u lançua një version beta i shfletuesit me mbështetje DNSCrypt.) Nënshkrimi në certifikatë duhet të gjenerohet nga një çift tjetër çelësash. Çelësi publik i këtij çifti është i njohur për klientin - është e nevojshme të verifikohet nënshkrimi. Natyrisht, nënshkrimi i një certifikate me të njëjtin çelës që përdoret brenda seancës është i pakuptimtë. Nuk kam kontrolluar nëse ka vërtetim certifikatën e serverit"Shfletuesi Yandex". Fakti është se në modelin e kërcënimit që synon përdorimi i DNSCrypt në Yandex.Browser, vërtetimi i një certifikate nuk ka shumë kuptim, as krahasimi i vlerës kryesore me një kopje të ruajtur (do të kthehem në këtë pikë më poshtë).

Si primitivë kriptografikë, DNSCrypt përdor konstruksione nga shifra Salsa20 (XSalsa20), funksionet hash Poly1305 (për të zbatuar enkriptimin e vërtetuar) dhe algoritmin X25119-hsalsa20 për të gjeneruar një çelës sesioni të përbashkët (algoritmi përdor funksionin Curveliphsalsa2019 dhe el. . Këto dizajne u zhvilluan nga Daniel J. Bernstein dhe prej kohësh janë njohur si shumë solide. Algoritmi për marrjen e një sekreti të përbashkët (çelësi i sesionit) është matematikisht i lidhur me algoritmin Diffie-Hellman. Unë vërej se sekreti i përbashkët është në këtë rast mund të rikuperohet pasi të jetë i njohur çelësi sekret përkatës nga një palë çelësash serveri (ose klienti), kjo do të lejojë që trafiku i regjistruar më parë të deshifrohet, kjo është arsyeja pse specifikimi rekomandon përdorimin e çelësave jetëshkurtër.

Shifra XSalsa20 në modalitetin e enkriptimit të vërtetuar kërkon një gjatësi prej 192 bitësh (24 bajt). Përdorimi i përsëritur i të njëjtit kombinim kyç dhe nonce nuk lejohet. Kjo është për shkak të arkitekturës së shifrës XSalsa20 - ripërdorim nonce do të çojë në një rrjedhje: pala që dëgjon do të dijë vlerën XOR të një çifti korrespondues tekste të hapura. Prandaj, nonce duhet të jetë çdo herë e re, por jo domosdoshmërisht e rastësishme. Parametri nonce në DNSCrypt vjen në dy forma: klient dhe server.

Le të shohim atë të koduar kërkesë klientit, dërguar nga Yandex.Browser.

Fusha e parë e kërkesës është vlera magjike e klientit (bytes magjike të pyetjes së klientit): këtu përdoret pjesa e çelësit publik të serverit të marrë më parë. Nëse është e nevojshme, këto "bajt magjike" mund të shërbejnë si një nënshkrim që ju lejon të zgjidhni kërkesat në trafik që dërgohen në DNSCrypt;
Fusha tjetër është çelësi publik i klientit afatshkurtër;
Vlera e klientit nonce është 96 bit (12 byte), gjysma e vlerës së kërkuar nonce për shifrën XSalsa20 (sipas specifikimit DNSCrypt, i mbushur me bajt me vlerën 0). Ju mund të përdorni një ose një numërues tjetër, Yandex.Browser bën pikërisht këtë: me sa duket, këtu transmetohet një vlerë 64-bitëshe e vulës kohore milisekonda (koha e gjenerimit të kërkesës), së cilës i shtohen katër bajt vlerash pseudo të rastësishme. Në rast se është e vërtetë kohën e saktë, transmetuar në tekst të qartë, vërej se parametrat e drift ora e sistemit shërbejnë si një shenjë e mirë që identifikon një specifik pajisje harduerike, – pra, mund të përdoret për de-anonimizim;
Fusha e fundit është vetë kërkesa e koduar. Për kriptim, përdoret një çelës sekret i përbashkët, i cili llogaritet nga palët në bazë të çelësave publikë të transmetuar. Në rastin e klientit, çelësi publik transmetohet në paketën e kërkesës DNS (shih më lart). "Yandex.Browser" ndjek praktikën standarde dhe gjeneron një çift të ri çelësash (publik/sekret) për X25119-hsalsa20 sa herë që niset shfletuesi. Mbushja standarde (ISO/IEC 7816-4: 0x80 dhe zero bajt sipas nevojës) përdoret për të lidhur të dhënat në një kufi blloku 64-bajtë, siç dikton specifikimi.

Blloku i të dhënave të enkriptuara ka shumë të ngjarë të jetë rezultat i përdorimit të funksionit crypto_box nga biblioteka e libsodiumit (ose NaCl, i cili referohet nga specifikimi DNSCrypt; libsodium është një pirun i NaCl). Unë supozova se kodi i vërtetimit 16-byte (MAC), i cili përdoret për të verifikuar integritetin e mesazhit përpara deshifrimit, ndoshta ndodhet në fillim të bllokut. Sidoqoftë, meqenëse nuk u përpoqa të deshifroja të dhënat, përcaktimi i vendndodhjes së kodit nuk është aq i rëndësishëm. Për të deshifruar, mund të përdorni çelësin sekret, i cili ruhet në memorie ndërsa shfletuesi po funksionon, por për ta nxjerrë atë, duhet të ndërhyni me korrigjuesin dhe çmontuesin për ca kohë.

Përgjigja e koduar e marrë nga serveri:

(Është e lehtë të vërehet se përgjigja e paraqitur në pamjen e ekranit mbërriti pothuajse pesë sekonda pas kërkesës; pse ndodhi kjo është me sa duket një temë për një shënim të veçantë.)

Paketa hapet me magji, në këtë rast, bajt që përmbajnë një shenjë përgjigjeje DNSCrypt (përsëri, një nënshkrim i mirë për zbulimin e trafikut). Këto bajt përcaktohen nga protokolli dhe duhet të jenë të pranishëm në fillim të çdo përgjigjeje të serverit ndaj një kërkese për zgjidhje DNS;
Fusha tjetër është nonce (Përgjigje nonce). Fusha përmban vlerën nonce të përdorur nga serveri kur kripton këtë përgjigje. Fusha është e ndërtuar nga dy pjesë të barabarta, 12 byte secili: jo nga kërkesa korresponduese e klientit dhe shtimi i serverit;
Pjesa e fundit e paketës është e dhëna e koduar e përgjigjes, formati është i ngjashëm me kërkesën.

Tani le të kthehemi te modeli i kërcënimit, duke përdorur Yandex.Browser si shembull. Nëse cilësimet e shfletuesit mundësojnë përdorimin e DNSCrypt, për shembull, përmes serverëve Yandex, por qasja në serverin përkatës është e bllokuar, atëherë shfletuesi (si versioni beta) në mënyrë transparente, pa paralajmërime, kalon në përdorimin e zgjidhësit të sistemit. Pse kjo e mposht qëllimin për të vërtetuar certifikatat e serverit DNSCrypt? Sepse një sulmues aktiv që mund të mashtrojë paketat në nivel IP për të çaktivizuar DNSCrypt në shfletues, thjesht mund të bllokojë hyrjen në server, në vend që të harxhojë burime për të krijuar përgjigje. Nga kjo mund të konkludojmë se modeli i kërcënimit Yandex nuk përfshin zëvendësimin aktiv të paketave në rrugën nga serveri DNSCrypt te klienti.

Më në fund, disa fjalë rreth asaj se si lidhet DNSCrypt me DNSSEC. DNSSEC – nuk fsheh të dhënat e trafikut DNS, por e mbron atë nga zëvendësimi, pavarësisht nga kanali i shkëmbimit të informacionit. Në rastin e DNSSEC, nuk ka rëndësi përmes cilit kanal merren të dhënat nga DNS, gjëja kryesore është që çelësat të jenë në vend. DNSCrypt – fsheh trafikun dhe e mbron atë në një masë të kufizuar nga zëvendësimi gjatë rrugës nga zgjidhësi rekursiv (shërbimi i zgjidhjes) te klienti. Nëse të dhënat janë ndryshuar gjatë rrugës për tek zgjidhësi (ose në vetë serverin e zgjidhësit) dhe nuk e mbështet DNSSEC, atëherë klienti do të marrë informacion të shtrembëruar, megjithëse përmes një kanali të mbrojtur nga DNSCrypt. Serverët që ofrojnë DNSCrypt mund të mbështesin gjithashtu DNSSEC.

Tjetra - opinione dhe diskutime

(Mesazhet më poshtë shtohen nga lexuesit e faqes përmes formularit të vendosur në fund të faqes.)

Çdo person që mendon për anonimitetin në internet e di mënyrë e shkëlqyer fshehja e adresës suaj IP në internet është një shërbim VPN. Sidoqoftë, edhe me një lidhje VPN, pyetjet në serverin DNS shpesh mbeten të pambrojtura dhe ju mund të gjurmoni lehtësisht se ku shkojnë pyetjet tuaja DNS. Kjo quhet ndryshe "DNSleaks" ose "rrjedhje DNS".

Le të hedhim një vështrim më të afërt se çfarë është DNS dhe çfarë problemesh ekzistojnë.

Siç e dini, çdo kompjuter në internet ka adresën e vet IP, pa e ditur adresën IP të kompjuterit, është e pamundur t'i dërgoni atij informacion ose një kërkesë. Një adresë IP është një numër 4-bajtë i ndarë me pika (për shembull, 162.234.12.110 ose 78.31.54.226).

Për njeri i zakonshëm të kujtosh një numër të madh adresash IP nuk është e lehtë, ndaj në fillim të zhvillimit të internetit lindi nevoja për një mjet që do t'ua lehtësonte jetën përdoruesve të internetit. DNS, Sistemi i Emrave të Domenit, u bë një mjet i tillë. Një server DNS është një mjet që ju lejon të përcaktoni një adresë IP nga një emër domain.

Për shembull, keni futur adresën e faqes në linjën e shfletuesit, shfletuesi dërgoi një kërkesë në serverin DNS, i cili specifikohet në cilësimet e lidhjes tuaj në internet. Serveri dërgon një paketë përgjigjeje që përmban adresën IP të faqes së dëshiruar.

Nga njëra anë, gjithçka është bërë me lehtësi - thjesht futni kabllon kartën e rrjetit, ju është caktuar automatikisht serveri DNS i një ofruesi me një përgjigje të shpejtë dhe gjithçka funksionon. Por nga ana tjetër, ka dy probleme me këtë skemë:

1) Asnjë kriptim lidhjeje. Kjo do të thotë që çdo sulmues mund të përgjojë trafikun tuaj dhe të mashtrojë adresën tuaj IP. Për shembull, duke ju treguar një faqe bankare të rreme në internet. Këshillohet gjithashtu që të fshihet ky trafik nga ofruesi ose nga zbatimi i ligjit(Ju kurrë nuk e dini J).

2) Serverët e ISP DNS janë të detyruar me ligj për të ruajtur regjistrat(nga cila IP, cilat faqe u vizituan dhe koha e lidhjes), si dhe me kërkesë nga agjencitë e zbatimit të ligjit, jepni këto regjistra (shpresoj që të gjithë e dinin këtë? J). Do të them edhe më shumë, 99% e serverëve DNS në botë shkruajnë regjistra dhe nuk e fshehin atë.

Nëse befas nuk dëshironi që dikush të përgjojë të dhënat tuaja ose të lexojë regjistrat e vizitave tuaja, ekziston opsion i besueshëm. Çfarë duhet bërë:

1) Duhet të kriptoni lidhjen. Ekziston një program DNSproxy për këtë. Ai lidhet me serverin DNS jo drejtpërdrejt, por i koduar përmes një zgjidhësi DNS (ai thjesht ridrejton kërkesat në serverin DNS). Nga ana tjetër, zgjidhësi transmeton të dhënat në serverin DNS, gjithashtu përmes një lidhje të koduar. Kjo do të thotë, në këtë mënyrë, duke përdorur sniffers (për shembull, WIreshark) mund të zbuloni vetëm adresën IP të zgjidhësit. Por meqenëse paketat janë të koduara duke përdorur "kriptografinë e kurbës eliptike", është e pamundur të përcaktohet se me cilin server specifik DNS po shkëmbejmë të dhëna.

2) Duhet të përdorni serverë DNS që nuk mbajnë regjistra. Siç e kuptoni vetë, serverët e ofruesit zhduken menjëherë. Gjithashtu, për anonimitetin, nuk mund të përdorni serverët DNS të Google ose Yandex, pasi ata sinqerisht pranojnë se ruajnë informacione (lexoni Marrëveshjet e tyre të Konfidencialitetit). Por ka serverë DNS që do të na ndihmojnë. Kjo është www.opennicproject.org. Sajti thotë që serverët nuk shkruajnë asnjë regjistër (epo, le ta besojmë). Por, për fat të keq, këta serverë janë të paqëndrueshëm dhe ndonjëherë rrëzohen. Për të zgjidhur këtë problem, mund të përdorni programin "Proxy akrilik DNS". Kjo ju lejon të bëni pyetje jo në një server DNS, por në 10 menjëherë. Dhe paketa nga serveri që arrin më shpejt do të pranohet nga programi. Prandaj, ne do të zgjidhim dy probleme menjëherë - do të minimizojmë humbjen e shpejtësisë së kërkesës (sepse më së shumti shkëmbim i shpejtë të dhënat zakonisht ndodhin me serverët DNS të ofruesit), dhe ne zbusim paqëndrueshmërinë e çdo serveri.

Pra, ne duhet të enkriptojmë lidhjen me DNS i sigurt server. Kjo do të jetë e dobishme jo vetëm për ata që nuk përdorin një VPN (si të zgjidhni problemin e rrjedhjes së DNS do të shkruhet më vonë). Le të fillojmë:

2) Në cilësimet tuaja lidhje rrjeti duhet të futni manualisht adresën DNS. Shkoni te "Qendra e Rrjetit dhe Kontrollit" qasje e përbashkët" -> "Lidhja nëpërmjet rrjet lokal" -> "Properties" -> "Internet Protocol version 4 TCP/IPv4". Aty vendosëm 127.0.0.1. Rreshti i dytë duhet të lihet bosh.

3) Për të nisur AcrylicDNSProxy, kaloni në Start dhe klikoni " Filloni shërbimin akrilik". Duhet të shfaqet një mesazh që tregon një nisje të suksesshme.

4) Tani ne kontrollojmë serverët tanë DNS në faqen e internetit www.perfect-privacy.com/dns-leaktest. Duhet të jetë diçka si kjo:


Oriz. 2

Mund të shtoni një skedar AcrylicController.exe për fillimin.

5) Tani ne enkriptojmë kërkesat tona në serverët DNS duke përdorur programin DNScrypt.

6) Shpaketoni dhe ekzekutoni dnscrypt-winclient.exe. Aty zgjedhim kartën tonë të rrjetit dhe klikojmë Instalo. Lidhja me serverët DNS tani është e koduar.

7) Le të kontrollojmë se çfarë do të na tregojnë tani shërbimet tona të verifikimit. Shkoni te www.perfect-privacy.com/dns-leaktest. Asnjë nga serverët tanë nuk duhet të vendosë.

Dhe nëse shkoni te http://whoer.net, atëherë e vetmja gjë që mund të tregojë është adresa e zgjidhësit DNS përmes së cilës kalojnë pyetjet DNS. Vetë serverët janë "të panjohur".


Oriz. 3

Kriptimi VPN + DNS

Figura tregon një diagram tipik të lidhjes tuaj kur lidheni me serverët VPN.


Fig 4.

Siç mund ta shihni, ekziston një dobësi - kërkesat DNS mund të dërgohen njëkohësisht si përmes serverit VPN ashtu edhe direkt në serverin e specifikuar DNS të lidhjes tuaj të rrjetit.

Duket se thjesht mund ta regjistroni manualisht serverin DNS në cilësimet e lidhjes si 127.0.0.1, në mënyrë që të mos ketë kërkesa të panevojshme te ofruesi DNS. Por, padyshim, kur shkëputeni nga Internet VPN nuk do të funksionojë sepse lidhja me një VPN përdor serverët e tyre DNS. Nëse thjesht futni dy serverë të projektit www.opennicproject.org, kjo do të zvogëlojë shpejtësinë e shfletimit në internet kur VPN është i çaktivizuar. Në këtë rast, rekomandohet gjithashtu të instaloni programin AcrylicDNSProxy, i cili nuk do të lejojë që shpejtësia juaj e surfimit të bjerë. Por meqenëse keni instaluar AcrylicDNSProxy, pse të mos instaloni DNScrypt?

Nëse përdorni shërbimet VPN 100% të kohës, thjesht mund të regjistroni një adresë IP Cilësimet e DNS: 127.0.0.1. Do të mjaftonte.

Kështu, u gjet një skemë interesante që ju lejon të anonimizoni dhe fshehni kërkesat DNS, gjë që do t'ju ndihmojë pak nëse hasni "autoritete" dhe nëse një haker lokal i keq vendos të ridrejtojë kërkesat DNS dhe t'u tregojë fëmijëve tuaj faqet në vend të "Epo, prisni një minutë” - faqet për të rriturit .

Shënim: nëse e gjithë kjo nuk është e dobishme për ju, thjesht instaloni AcrylicDNSProxy që tregon serverët e ofruesit tuaj, Yandex, Google, etj., gjë që do t'ju japë një përshpejtim të dukshëm të shfletimit në internet.

Faleminderit per vemendjen.

Artikujt më të mirë mbi këtë temë