Kako podesiti pametne telefone i računare. Informativni portal

Koristite dns server sa enkripcijom. Anonimnost DNS upita

Svako ko razmišlja o anonimnosti na internetu zna odličan način sakriti svoju IP adresu na internetu je VPN usluga. Međutim, čak i uz VPN vezu, upiti prema DNS serveru često ostaju neosigurani i lako možete pratiti kuda idu vaši DNS upiti. Naziva se i “DNSleaks” ili “DNS curenje”.

Pogledajmo pobliže šta je DNS i koji su problemi.

Kao što znate, svaki računar na Internetu ima svoju IP adresu, a bez poznavanja IP adrese računara, nemoguće je poslati mu informaciju ili zahtev. IP adresa je u obliku broja od 4 bajta, odvojenog tačkama (na primjer, 162.234.12.110 ili 78.31.54.226).

Za običan čovek zapamti veliki broj IP adrese nisu jednostavne, pa se na početku razvoja interneta pojavila potreba za alatom koji bi korisnicima Interneta olakšao život. DNS je postao takav alat - sistem imena domena. DNS server je alat koji vam omogućava da odredite IP adresu po imenu domene.

Na primjer, uneli ste adresu web stranice u liniju pretraživača, pretraživač je poslao zahtjev na DNS server, koji je naveden u postavkama vaše internetske veze. Server šalje nazad paket odgovora koji sadrži IP adresu željene lokacije.

S jedne strane, sve je urađeno zgodno - samo ste priključili kabel mrežna kartica, automatski vam je dodijeljen DNS server ISP-a s brzim odgovorom i sve radi. Ali s druge strane, postoje dva problema s ovom shemom:

1) Ne postoji enkripcija veze... To znači da svaki napadač može presresti vaš promet i lažirati vašu IP adresu. Na primjer, pokazati vam lažnu stranicu Internet banke. Također je preporučljivo sakriti ovaj promet od provajdera ili od provajdera sprovođenje zakona(nikad se ne zna šta J).

2) DNS serveri provajdera su zakonski obavezni da vode evidenciju(sa koje IP adrese, koje stranice su posjećene i vrijeme povezivanja), kao i, na zahtjev agencija za provođenje zakona, dostaviti ove dnevnike (nadam se da su svi to znali? J). Štaviše, 99% svjetskih DNS servera piše dnevnike i ne skriva ih.

Ako iznenada ne želite da vaše podatke neko presretne ili da pročitate dnevnike vaših posjeta, postoji pouzdana opcija... Šta treba učiniti:

1) Morate šifrirati vezu. Ovo je ono čemu služi DNSproxy program. Ne povezuje se direktno na DNS server, već je šifrovan preko DNS rezolvera (jednostavno preusmerava zahteve na DNS server). Zauzvrat, rezolver prenosi podatke na DNS server takođe preko šifrovane veze. Odnosno, na ovaj način, koristeći njuškare (na primjer, WIreshark), možete saznati samo IP adresu rezolvera. Ali budući da su paketi šifrirani korištenjem "kriptografije eliptičke krivulje", nemoguće je odrediti s kojim specifičnim DNS serverom razmjenjujemo podatke.

2) Morate koristiti DNS servere koji ne vode evidenciju. Kao što i sami razumijete, serveri provajdera odmah nestaju. Također, radi anonimnosti, ne možete koristiti Googleove ili Yandexove DNS servere, jer oni iskreno priznaju da pohranjuju informacije (pročitajte njihove Ugovore o privatnosti). Ali postoje DNS serveri koji nam mogu pomoći. Ovo je www.opennicproject.org. Sajt kaže da serveri ne pišu nikakve logove (pa, da verujemo). Nažalost, ovi serveri su nestabilni i ponekad padaju. Da biste riješili ovaj problem, možete koristiti program "Akrilni DNS proxy". Omogućava vam da postavljate upite ne jednom DNS serveru, već 10 odjednom. A paket sa servera koji najbrže stigne biće prihvaćen od strane programa. Stoga ćemo riješiti dva problema odjednom - minimiziramo gubitak brzine zahtjeva (jer najviše brza razmjena podaci se obično javljaju sa DNS serverima provajdera) i nivo nestabilnosti bilo kog servera.

Dakle, moramo šifrirati vezu sa sigurnim DNS serverima. Ovo je korisno ne samo za one koji ne koriste VPN (kako možete riješiti problem curenja DNS-a bit će napisano kasnije). Počnimo:

2) U postavkama vašeg mrežna veza morate ručno registrovati DNS adresu. Idemo u „Centar za upravljanje mrežom i opšti pristup"->" Veza do lokalna mreža"->" Svojstva "->" Internet protokol verzija 4 TCP / IPv4 ". Tamo smo stavili 127.0.0.1. Drugi red treba ostaviti prazan.

3) Za pokretanje AcrylicDNSProxy prođite kroz Start i kliknite na " Pokrenite uslugu akrila". Trebala bi se pojaviti poruka o uspješnom početku.

4) Sada provjeravamo naše DNS servere na www.perfect-privacy.com/dns-leaktest. Na ekranu bi trebalo biti nešto poput:


Rice. 2

Možete dodati fajl AcrylicController.exe za pokretanje.

5) Sada šifriramo naše zahtjeve prema DNS serverima pomoću programa DNScrypt.

6) Raspakujte i pokrenite dnscrypt-winclient.exe. Tamo biramo našu mrežnu karticu i kliknemo Instaliraj. Veza sa DNS serverima je sada šifrovana.

7) Hajde da provjerimo šta će nam sada pokazati naše usluge verifikacije. Idite na www.perfect-privacy.com/dns-leaktest. Nijedan od naših servera ne bi trebao biti definiran.

A ako odete na http://whoer.net, jedino što može pokazati je adresa DNS razrjeđivača kroz koji prolaze DNS zahtjevi. Sami serveri su "nepoznati".


Rice. 3

VPN + DNS enkripcija

Slika prikazuje tipičan dijagram vaše veze kada se povezujete na VPN servere.


Slika 4.

Kao što vidite, postoji ranjivost - DNS zahtjevi se mogu slati istovremeno i preko VPN servera i direktno na navedeni DNS server na vašoj mrežnoj vezi.

Čini se da jednostavno možete ručno registrovati DNS server u postavkama veze kao 127.0.0.1 tako da nema nepotrebnih zahtjeva To DNS provajder... Ali, očigledno, kada se isključite iz VPN internet neće raditi jer VPN koristi vlastite DNS servere. Ako samo unesete dva servera projekta www.opennicproject.org, to će smanjiti brzinu surfanja internetom kada je VPN onemogućen. U ovom slučaju, preporučuje se i instaliranje programa AcrylicDNSProxy, koji neće dozvoliti da vam brzina surfanja padne. Ali pošto je AcrylicDNSProxy instaliran, zašto ne biste instalirali i DNScrypt?

Ako koristite VPN usluge 100% vremena, možete jednostavno registrirati jednu IP adresu u DNS postavkama: 127.0.0.1. Biće dovoljno.

Tako je pronađena zanimljiva šema koja vam omogućava da anonimizirate i sakrijete DNS zahtjeve, što će vam malo pomoći ako naiđete na "autoritete", te ako lokalni zli haker odluči da preusmjeri DNS zahtjeve i pokaže vašoj djeci web stranice umjesto "Čekaj minut" - stranice za odrasle...

Napomena: ako vam sve ovo nije potrebno, samo instalirajte AcrylicDNSProxy navodeći servere vašeg provajdera, Yandex, Google, itd., što će vam dati opipljivo ubrzanje surfanja Internetom.

Hvala na pažnji.

Često se postavlja pitanje šta je DNSCrypt i zašto je potreban. Prije nekog vremena sam već pisao o tome, tada se radilo o podršci u beta verziji pretraživača. Ovaj put ćemo detaljno pogledati tehnologiju, a Yandex Browser će poslužiti kao primjer i izvor laboratorijskih podataka. Analiziram pakete u Wiresharku, za koji sam napisao mali DNSCrypt parser (u Wireshark terminologiji, ovo je disektor, na Lua jezik; Nisam mogao pronaći standardni DNSCrypt parser u Wiresharku).

DNSCrypt je proxy usluga koja kreira siguran kanal između klijentovog DNS razrjeđivača i rekurzivnog DNS razrjeđivača koji radi na serveru. DNSCrypt ima dva dijela, odnosno klijenta i servera. Putem DNS saobraćaja, koji se redovno prenosi na otvorena forma, informacije o posjećenim stranicama mogu procuriti. osim toga, DNS upiti- uobičajeni vektor napada za lažne adrese. Promjena adrese razrešivača DNS sistema u lažnu adresu servera je zajedničko mjesto Trojanci dugi niz godina. Isto važi i za napade na kućne rutere. DNSCrypt vam omogućava da šifrirate (i također da pružite ograničenu zaštitu od lažiranja) i DNS zahtjeva i odgovora. Moguće je autentifikovati server i klijent, ali se ova funkcija ne koristi uvek. Općenito, tema skrivanja DNS prometa (DNS Privacy) sada dobiva primjetnu popularnost. Osim DNSCrypt-a, postoji, na primjer, “DNS over TLS” protokol (DNS over TLS je svježi RFC 7858, koji, unatoč nekoj “inverziji”, ne izgleda ništa gore od DNSCrypt-a). Ima i drugih pomaka.

DNSCrypt. Protokol može koristiti i TCP i UDP kao transport. U praksi se preferira UDP ako je dostupan, ali specifikacija striktno zahtijeva da TCP bude podržan (ne UPD, što je opciono). TCP prirodno privlači svojom prirodom sesije. Ali UDP je mnogo brži, posebno za zauzete usluge. Zbog problema sa DDoS napadima i nekih drugih sigurnosnih problema, sada je trend prevođenja. maksimalan broj usluge na TCP, posebno DNS. Ipak, u nastavku smatram da DNSCrypt radi samo preko UDP-a, jer je ovo tradicionalna opcija za DNS. Preporučeni broj DNSCrypt (server) porta je 443 (obično je otvoren na korporativne mreže; praksa korištenja 443 / udp, na primjer, standardna je za brojne VPN-ove i druge usluge; 443 /tcp je TLS / HTTPS, temelj web servisa). Međutim, Yandex u implementaciji DNSCrypt-a koristi neprivilegirani broj: 15353, vjerovatno zbog nekih ideja za prevazilaženje raznih mrežnih barijera.

Još malo o barijerama: neće biti problema s blokiranjem DNSCrypt prometa, ako provajder kanala ima takvu želju. Kao što će biti jasno iz opisa u nastavku, ovaj protokol ni na koji način ne pokušava sakriti činjenicu njegove upotrebe. U saobraćaj ovog protokola uključeno standardni markeri koji će vam omogućiti da otkrijete i filtrirate pakete čak i na najprimitivnijem ruteru, koristeći jednostavno pravilo dva reda. U ovom slučaju će, na primjer, biti sačuvan pristup za druge TCP sesije koje rade na portu 443.

U DNSCrypt-u, uspostavljanje sesije između klijenta i servera počinje redovnim DNS zahtjevom koji se šalje na adresu i odgovarajući broj porta hosta koji će pružiti funkcije razlučivanja imena. Ovo je zahtjev za TXT zapisom za ime posebna vrsta(odnosno, zahtjev se već može lako filtrirati). Na primjer, u slučaju usluge Yandex: 2.dnscrypt-cert.browser.yandex.net. Ovo posebno ime ne može biti delegirano. Vrijednost 2 odgovara verziji DNSCrypt-a. Trenutna verzija je druga. Kao odgovor, server bi trebao poslati jedan ili više DNSCrypt certifikata (naglašavam: oni nemaju nikakve veze sa SSL certifikatima).

Snimak ekrana prikazuje paket sa certifikatom Yandex DNSCrypt servera.

Certifikat je skup od nekoliko polja: verzija certifikata, vrijednost potpisa, javni ključ server, magični bajtovi za klijenta (oni će služiti kao identifikator za zahtjeve klijenta - server će moći da shvati koji ključ će koristiti kada odgovara), serijski broj i datum isteka.

Specifikacija pretpostavlja da server prenosi kratkoročni javni ključ kao dio certifikata. (Međutim, u slučaju Yandex servera, dati ključ nije se promenio najmanje od kraja marta, kada je pokrenuta beta verzija pretraživača sa podrškom za DNSCrypt.) Potpis na sertifikatu mora biti generisan iz drugog para ključeva. Javni ključ ovog para je poznat klijentu - potrebno je provjeriti potpis. Očigledno, nema smisla potpisivati ​​certifikat istim ključem koji se koristi u sesiji. Nisam provjerio da li je validan serverski sertifikat"Yandex pretraživač". Činjenica je da u modelu prijetnje to Upotreba DNS-a Kriptujte u Yandex pretraživaču, validacija sertifikata nema mnogo smisla, kao ni poređenje vrednosti ključa sa sačuvanom kopijom (na ovu tačku ću se vratiti u nastavku).

Kao kriptografske primitive, DNSCrypt koristi konstrukcije iz Salsa20 šifre (XSalsa20), Poly1305 hash funkciju (za implementaciju autentificirane enkripcije) i X25119-hsalsa20 algoritam za generiranje dijeljenog ključa sesije (algoritam koristi funkciju Curve25119 curve25119 ). Ove dizajne je razvio Daniel J. Bernstein i dugo su bili prepoznati kao vrlo čvrsti. Algoritam za dobijanje zajedničke tajne (ključ sesije) je matematički povezan sa Diffie-Hellman algoritmom. Imajte na umu da je zajednička tajna u u ovom slučaju Možete oporaviti post factum ako odgovarajući tajni ključ iz para serverskih (ili klijentskih) ključeva postane poznat, to će omogućiti dešifriranje prethodno snimljenog prometa, zbog čega specifikacija preporučuje korištenje kratkoročnih ključeva.

XSalsa20 u modu Authenticated Encryption zahtijeva 192-bitna (24 bajta) jednokratnu stavku. Ponovna upotreba iste kombinacije ključa i nonce nije dozvoljena. To je zbog arhitekture XSalsa20 šifre - ponovo koristiti nonce će procuriti: strana koja sluša će znati XOR vrijednost iz para uparivanja otvoreni tekst... Stoga, nonce bi svaki put trebao biti nov, ali ne nužno slučajan. DNSCryptov nonce dolazi u dvije inkarnacije: klijent i server.

Pogledajmo šifrovano zahtjev klijenta poslao Yandex pretraživač.

Prvo polje upita je magija vrednosti klijenta (Client query magic bytes), koja koristi deo javnog ključa servera dobijenog ranije. Ako je potrebno, ovi "magični bajtovi" mogu poslužiti kao potpis koji omogućava prometu da izabere zahtjeve koji se šalju na DNSCrypt;
Sljedeće polje je klijentov javni ključ;
Klijentsko jednoznačno mjesto je 96 bita (12 bajtova), polovina potrebnog nonce za šifru XSalsa20 (prema DNSCrypt specifikaciji, dopunjeno sa 0 bajtova). Možete koristiti jedan ili drugi brojač, a Yandex Browser radi upravo to: očigledno, ovdje se prenosi 64-bitna vrijednost vremenske oznake milisekundi (vrijeme generiranja zahtjeva), kojoj se dodaju četiri bajta pseudo-slučajnih vrijednosti . U slučaju da zaista jeste tačno vreme prenosim u čistom tekstu, napominjem da su drift parametri sistemski sat služe kao dobar znak koji identifikuje određeno hardverski uređaj, - odnosno može se koristiti za deanonimizaciju;
Posljednje polje je sam šifrirani zahtjev. Za šifriranje se koristi zajednički tajni ključ, koji strane izračunavaju na osnovu prenesenih javnih ključeva. U slučaju klijenta, javni ključ se prenosi u paketu DNS zahtjeva (vidi gore). Yandex pretraživač prati standardnu ​​praksu i generiše novi par ključeva (javni/tajni) za X25119-hsalsa20 svaki put kada se pretraživač pokrene. Za usklađivanje podataka sa granicom bloka od 64 bajta, kako specifikacija nalaže, koristi se standardni komplementar (ISO / IEC 7816-4: 0x80 i nula bajtova prema potrebi).

Blok šifriranih podataka je najvjerovatnije rezultat korištenja funkcije crypto_box iz biblioteke libsodium (ili NaCl, koji je referenciran u DNSCrypt specifikaciji; libsodium je vilica NaCl). Pretpostavio sam da je 16-bajtni kod za autentifikaciju (MAC) koji se koristi za provjeru integriteta poruke prije dešifriranja vjerovatno na početku bloka. Međutim, pošto nisam pokušao da dešifrujem podatke, nije toliko važno odrediti lokaciju koda. Za dešifriranje možete koristiti tajni ključ koji se nalazi u memoriji dok je pretraživač pokrenut, ali da biste ga izdvojili, potrebno je neko vrijeme petljati s programom za otklanjanje pogrešaka i rastavljačem.

Šifrirani odgovor primljen od servera:

(Lako je vidjeti da je odgovor prikazan na snimku ekrana primljen skoro pet sekundi nakon zahtjeva, zašto se to dogodilo - očigledno, tema za posebnu napomenu.)

Paket se otvara magično, u ovom slučaju, to su bajtovi koji sadrže DNSCrypt token odgovora (opet, dobar potpis za detekciju saobraćaja). Ovi bajtovi su definisani protokolom i moraju se pojaviti na početku bilo kog odgovora servera na zahtjev za rješavanje DNS-a;
Sljedeće polje je nonce (Response nonce). Polje sadrži nonce vrijednost koju poslužitelj koristi prilikom šifriranja ovog odgovora. Teren je izgrađen od dva jednaki dijelovi, po 12 bajtova: nonce iz odgovarajućeg klijentskog zahtjeva i serverskog komplementa;
Završni dio paketa su šifrirani podaci odgovora, format je sličan zahtjevu.

Vratimo se sada na model prijetnji, koristeći primjer Yandex pretraživača. Ako je DNSCrypt omogućen u postavkama pretraživača, na primjer, preko Yandex servera, ali je pristup odgovarajućem serveru blokiran, tada preglednik (poput beta verzije) transparentno, bez upozorenja, prelazi na korištenje sistemskog rezolvera. Zašto ovo čini besmislenim provjeru valjanosti certifikata DNSCrypt servera? Zato što aktivni napadač koji može lažirati pakete na IP nivou može jednostavno blokirati pristup serveru kako bi onemogućio DNSCrypt u pretraživaču, umjesto da troši resurse na davanje odgovora. Iz ovoga možemo zaključiti da Yandex model prijetnje ne uključuje aktivno lažiranje paketa na putu od DNSCrypt servera do klijenta.

Konačno, riječ ili dvije o tome kako se DNSCrypt odnosi na DNSSEC. DNSSEC ne skriva podatke o DNS saobraćaju, ali ih štiti od lažiranja, bez obzira na kanal razmjene informacija. U slučaju DNSSEC-a, nije bitno na kom kanalu se podaci primaju od DNS-a, glavna stvar je da su ključevi na svom mjestu. DNSCrypt - skriva promet i ograničeno ga štiti od lažiranja na putu od rekurzivnog razrjeđivača (usluga rješavanja) do klijenta. Ako su podaci promijenjeni na putu do razrjeđivača (ili na samom serveru) i ne podržavaju DNSSEC, tada će klijent primiti oštećene informacije, doduše preko kanala zaštićenog DNSCrypt-om. Serveri koji pružaju DNSCrypt takođe mogu podržati DNSSEC.

Dalje - mišljenja i rasprave

(Poruke u nastavku dodaju čitaoci stranice putem obrasca koji se nalazi na kraju stranice.)

DNSCrypt će pomoći u šifriranju DNS prometa i zaštiti ga od trećih strana.

    Čemu služi DNS?
  1. Postavljanje DNS servera je u redu, ali je još bolje šifrirati promet između servera i klijenta, odnosno vas. Već sam pisao u drugim člancima šta je DNS i radio recenzije najnaprednijih usluga DNS servera. Razlika između jednostavnog DNS-a i DNSCrypt-a je u tome što sav promet koji se prenosi sa vašeg računarskog uređaja na DNS server nije šifrovan. Jedina stvar koju daju jednostavne usluge DNS je blokiranje sumnjivih stranica. A promet, kao što sam gore napisao, koji se prenosi nazad na vaš računar i zahtjev se šalje sa vašeg računala na DNS server, prolazi u čistom stanju.
  2. Evo liste članaka o kojima sam ranije pisao poznata usluga DNS:
  3. Ove DNS usluge savršeno štite vaš računarski uređaj i nude izbor filtriranja web stranica. Ali promet koji se prenosi sa DNS servera na vaš računarski uređaj nije šifrovan, kao što sam gore napisao. Možete saznati više o postavljanju različitih računarskih uređaja na vašoj strani kao klijentu iz prvog članka koji sam naveo gore. Tu je i pregled kako odabrati odgovarajući server DNS. Možda će vam on detaljnije reći o DNS-u. Pošto u ovom članku govorimo o DNS-u, ali se produbljujemo samo na šifrovanju same veze sa DnS servera i vašeg računara.
  4. Šifriranje DNS veze:
  5. Šifruj se DNS veza može se instalirati i konfigurirati na vašem računarski uređaj a također posjetite službenu web stranicu. Preuzimanjem najnoviju verziju DNSCrypt za vaš računarski uređaj sa os., Windows, sve linkove ću postaviti na kraju članka. Raspakujući arhivu u sistemski disk C: / folder se može imenovati po vlastitom nahođenju ili ostaviti kao zadani. Otvaramo komandnu liniju pod imenom administratora, to možete učiniti ako ne znate čitajući članak. Dalje unutra komandna linija idite u fasciklu koju ste raspakovali na C: / disk. Naziv foldera u putanji je drugačiji kako ste ga nazvali, pritisnite Enter i ako je sve tačno odgovor je tačan, slika ispod:
  6. Zatim idite u fasciklu u koju ste raspakovali, otvorite fasciklu u običnom istraživaču i u njoj pronađite datoteku dnscrypt-resolvers.csv, izaberite DNS server na koji ćemo se povezati. Na prvom mjestu je server, vjerovatno svi znaju takav program kao. Pored Adguard servera, postoji mnogo drugih koje možete izabrati, ali ovaj je najpoznatiji sa liste. Iako više volim Yandex.
  7. Možete koristiti DNSCrypt i konfigurirati ga za povezivanje na Yandex DNS detaljnije na službenoj web stranici postoji naziv i tako dalje za konfiguraciju programa DNSCrypt (ja sam osobno konfigurirao svoje mišljenje Yandex DNS). DNSYandex parametri: yandex, "Yandex", "Yandex javni DNS server", "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: iz te datoteke s postavkama preuzete 6327 .csv) Kao što vidite, podesite vezu sa prethodno odabranim DNS serverom i to ne samo iz datoteke već iz gore navedenih članaka. Konfigurisanjem vaše veze pomoću ove metode, nećete morati da instalirate programe za zaštitu od reklama i nadzor.
  8. U ovom primjeru govorit ću o povezivanju ADGuard DNS servera. Zatim smo odabrali imena sa liste u datoteci dnscrypt-resolvers.csv, ime servera će biti sledeće: adguard-dns-family-ns1 i ukucamo komandu u komandnoj liniji, ja sam je istakao na slici ispod :
  9. Ako je server dostupan, videćete sledeće kao na slici iznad u pravougaoniku slavine. Instalirajte DNSCrypt u sistem sljedećom komandom, podvucite je na slici ispod i pritisnite Enter:
  10. Ako sve prođe kako treba, onda će odgovor na komandnoj liniji biti kao na slici iznad u pravokutniku. Ako želite da uklonite DnSCrypt onda će naredba biti ista samo će na mjestu posljednje instalacije biti Uninstall. Dalje, svejedno, ako želite da promenite server, uradite isto sa instaliranjem Install itd. Program je konfigurisan i sada je potrebno da se konekcija na vašem računarskom uređaju poveže preko DNSCrypt-a. Idemo do konekcija vaše veze i u svojstvima veze željenih DNS servera ukucajte 127.0.0.1 ovo je vaša adresa vašeg uređaja. O promjeni Dns adrese server u vezi se može naći iz primjera članaka o kojima sam pisao gore. Kako otići na svojstva veze da promijenite Dns adresu, sve se može pronaći na linkovima na vrhu članka.

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

Kada koristite HTTPS ili SSL, vaš HTTP promet je šifriran, odnosno zaštićen. Kada koristite VPN, sav vaš promet je već šifriran (naravno, sve ovisi o tome VPN postavke, ali obično jeste). Ali ponekad, čak i kada koristite VPN, vaši DNS zahtjevi nisu šifrirani, oni se prenose takvi kakvi jesu, što se otvara ogroman prostor za "kreativnost" uključujući MITM napade, preusmjeravanje prometa i još mnogo toga.

Tu u pomoć priskače otvoreni izvor. DNSCrypt uslužni program, koji su razvili kreatori OpenDNS-a, vama dobro poznati, je program koji vam omogućava šifriranje DNS zahtjeva. Nakon što ga instalirate na računar, vaše veze će također biti zaštićene i moći ćete sigurnije surfovati Internetom. Naravno, DNSCrypt nije lijek za sve probleme, već samo jedan od sigurnosnih alata. I dalje trebate koristiti VPN vezu za šifriranje cijelog prometa, ali će biti sigurnije kada se upari s DNSCrypt. Ako ste zadovoljni sa ovako kratkim objašnjenjem, možete odmah preskočiti na dio u kojem ću opisati instalaciju i korištenje programa.

Pokušajmo to shvatiti dublje. Ovaj dio je za istinski paranoične. Ako cijenite svoje vrijeme, onda možete odmah preći na instalaciju programa.
Dakle, kako kažu, bolje je jednom vidjeti nego sto puta čuti. Pogledaj crtež.

Recimo da klijent (laptop na slici) pokušava pristupiti google.com Prije svega, trebao bi
razriješi simboličko ime hosta u IP adresu. Ako je konfiguracija mreže takva da se koristi DNS server provajdera (nešifrovana veza, crvena linija na slici), tada je rezolucija simbolično ime na IP adresu dolazi preko nešifrirane veze.

Da, niko neće znati koje podatke ćete prenijeti na dkws.org.ua. Ali postoje neke vrlo frustrirajuće tačke. Prvo, provajder će, gledajući DNS logove, moći da sazna koje ste sajtove posetili. Da li ti treba? Drugo, vjerovatni su napadi DNS lažiranja i DNS njuškanja. Neću ih detaljno opisivati, o tome je već napisano mnogo članaka. Ukratko, situacija može biti sljedeća: neko između vas i provajdera može presresti DNS zahtjev (a pošto 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, umesto da posetite google.com, otići ćete na sajt napadača, kao dva graška u mahuni sličnoj onoj koja vam je potrebna, unesite lozinku sa foruma, a onda je razvoj događaja, mislim, jasno.

Ova situacija se naziva curenje DNS-a. Do curenja DNS-a dolazi kada vaš sistem čak i nakon povezivanja na VPN server ili Tor nastavlja da ispituje DNS servere ISP-a za razrešenje imena domena. Svaki put kada posjetite novu stranicu, povežite se na novi server ili pokrenite neki mrežna aplikacija, vaš sistem kontaktira DNS provajdera da razriješi ime u IP. Kao rezultat toga, vaš provajder ili bilo ko ko je na "posljednjoj milji", odnosno između vas i provajdera, može dobiti sva imena čvorova kojima pristupate. Gornja opcija sa lažiranjem IP adrese je potpuno okrutna, ali u svakom slučaju moguće je pratiti stranice koje ste posjetili i koristiti ove informacije u vlastite svrhe.

Ako se "plašite" svog provajdera ili jednostavno ne želite da on vidi koje stranice posjećujete, možete (naravno, osim koristeći VPN i druge sigurnosne mjere) dodatno konfigurirajte svoj računar da koristi DNS servere OpenDNS projekta (www.opendns.com). On ovog trenutka ovo su sljedeći serveri:

208.67.222.222
208.67.220.220

U isto vrijeme, nije vam potreban nikakav drugi dodatni softver. Samo konfigurišite svoj sistem da koristi ove DNS servere.

Ali problem presretanja DNS veza i dalje ostaje. Da, već pristupate ne DNS-u provajdera, već OpenDNS-u, ali još uvijek možete presresti pakete i vidjeti šta je u njima. To jest, ako želite, možete saznati kojim čvorovima ste pristupili.

Tako dolazimo do DNSCrypt-a. Ovaj program vam omogućava šifriranje vaše DNS veze. Sada vaš ISP (i svi između vas i njih) neće tačno znati koje stranice posjećujete! Ponovit ću se. Ovaj program nije zamjena za Tor ili VPN. Kao i prije, ostatak podataka koje prenosite prenosi se bez enkripcije ako ne koristite ni VPN ni Tor. Program šifrira samo DNS promet.


KAO ZAKLJUČAK

Ispostavilo se da članak nije bio dug, jer je sam program vrlo jednostavan za korištenje. Ali bilo bi nepotpuno da ne pomenem i VPN. Ako ste pročitali ovaj članak, zanima vas, ali još uvijek ne koristite usluge VPN provajdera za šifriranje vaših podataka, onda je vrijeme da to učinite.
VPN provajder će vam obezbijediti siguran tunel za prijenos vaših podataka, a DNSCrypt će osigurati vaše DNS veze. Naravno, VPN usluge provajderi su plaćeni, ali morate platiti sigurnost?

Možete, naravno, koristiti Tor, ali Tor je relativno spor, a ovo, kako god da se kaže, nije VPN - sav promet se ne može "torificirati". U svakom slučaju (koju god opciju da odaberete) vaše DNS veze su sada sigurne. Ostaje samo da se odlučite za alat za šifriranje prometa (ako to još niste učinili).

Zadnji put ažurirano 30. oktobra 2016.

DNSCrypt je specifikacija implementirana u softver nevezani, dnsdist, dnscrypt-wrapper i dnscrypt-proxy.

2. Sačuvajte kopiju izvorni fajl konfiguracije example-dnscrypt-proxy.toml i konfigurirajte prema vašim zahtjevima kao.

Naš primjer postavljanja a. Lista javnih DNS razrješavača dostupna je ovdje.

3. Uvjerite se da druge aplikacije i usluge ne slušaju port 53 na vašem sistemu i pokrenite dnscrypt-proxy aplikaciju u komandi Windows prompt u načinu rada administratora uređaja. Promijenite svoje DNS postavke za konfiguriranu IP adresu.

U našem slučaju, trebate konfigurirati DNS na 127.0.0.1 ( specificirana vrijednost za parametar listen_addresses u konfiguracioni fajl) u TCP / IP parametrima. Kako to učiniti za Windows opisano je u članku Konfiguriranje DNS-a na Windows računaru. Evo snimka ekrana podešavanja za naš slučaj:

4. Instalirajte sistemsku uslugu.

Instaliranje sistemske usluge dnscrypt-proxy (Windows, Linux, MacOS)

Iz komandne linije koja radi kao administrator, unesite sljedeću naredbu dnscrypt-proxy -service install da registrujete dnscrypt-proxy kao sistemski servis a zatim izdajte naredbu dnscrypt-proxy -service start za pokretanje usluge.

Na Windows-u ovaj korak nije potrebno. Samo dvaput kliknite na datoteku server-install.bat da instalirate uslugu.

Usluga će se automatski pokrenuti pri svakom ponovnom pokretanju.

Procedura instalacije je kompatibilna s radom Windows sistemi, Linux (systemd, Upstart, SysV) i macOS (launchd).

Ostalo korisne komande: zaustaviti, ponovno pokrenuti (korisno prilikom promjene konfiguracije) i deinstalirati.

Instaliranje dnscrypt-proxy-a na Ubuntu 18.04, 17.10

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

Hajde da dekomentiramo (uklonimo znak #) liniju server_names (i zamijenimo imena servera onima koji su nam potrebni). Da biste sačuvali promjene, pritisnite CTRL + O da biste prihvatili promjene, a zatim CTRL + X da biste zatvorili. Ili u ime administratora u uređivač teksta uredite datoteku dnscrypt-proxy.toml koja se nalazi u / etc / dnscrypt-proxy /.

U mrežnim postavkama - IPV4 - DNS - onemogućite Automatski i postavite 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 stop dnscrypt-proxy.socket
sudo systemctl omogući dnscrypt-proxy
sudo systemctl start dnscrypt-proxy

Ponovo pokrećemo sistem.

Instaliranje sistemske usluge dnscrypt-proxy (Arch Linux)

Arch linux AUR spremište podržava verziju 2 paketa.

1. Dovršite instalaciju:

Yaourt -S dnscrypt-proxy-go

2. Aktivirajte i pokrenite uslugu:

Systemctl omogućava dnscrypt-proxy.service
systemctl start dnscrypt-proxy.service

3. Provjerite je li servis uspješno pokrenut:

Systemctl status dnscrypt-proxy.service

4. Pogledajte sadržaj dnevnika:

Dnscrypt-proxy je spreman - serveri uživo:

Dnscrypt-proxy će sada slušati na 127.0.0.1:53

Radi na Linuxu bez root-a

Sljedeća naredba dodaje potrebne atribute dnscrypt-proxy datoteci, što omogućava njeno pokretanje bez root prava:

Sudo setcap cap_net_bind_service = + pe dnscrypt-proxy

Provjera rada

Provjerite da li sve radi kako treba. DNS upit za resolver.dnscrypt.info bi trebao vratiti jedan od odabranih DNS servera umjesto vašeg ISP-a

Možete provjeriti DNS informacije koristeći uslugu DNSLeak.com. Ove stranice vraćaju informacije o vašoj IP adresi i vlasniku korišćenog DNS servera. Ako rezultati pokažu uslugu vašeg ISP-a, onda dolazi do curenja DNS-a.

Jednostavan DNSCrypt za Windows

Za Windows se također može koristiti - alat za prilagođavanje DNSCrypt enkripcija on Windows računari sa interfejsom lakim za korišćenje.

Pronašli ste grešku u kucanju? Pritisnite Ctrl + Enter

Top srodni članci