DNS provoz. DNSCrypt – šifrování provozu DNS pro paranoiky

4601 ,

Od doby, kdy byl vyvrácen mýtus o anonymitě na internetu, se na seznam těch nejpalčivějších zařadila i otázka soukromí uživatelů. Nejen, že lze sledovat vaše online aktivity vyhledávače a webové stránky, které navštěvujete, ale také vaše vlastní poskytovatele internetových služeb. Technicky to není tak těžké, pokud DNS vám vydává poskytovatel, a to se nejčastěji děje, vše procházející DNS provoz se jím dá sledovat, zejména od DNS-požadavky jsou odesílány přes nešifrované spojení.

Je jasné, že nahrazení zachycených paketů nebude obtížné, i když použijete VPN-služby.

Jediný způsob, jak uzavřít díru, je šifrování. DNS-provoz, ale k tomu budete potřebovat speciální software, protože žádný z operační systémy nepodporuje šifrování DNS z krabice. Nejjednodušší šifrovací nástroj DNS- provoz je - malý bezplatný nástroj, výhodně se vyznačuje tím, že nevyžaduje další nastavení, což znamená, že jej mohou používat i začátečníci. Existuje konzolový nástroj - DNSCrypt proxy, ale musíte si s tím pohrát - provést řadu příkazů v PowerShell, změnit adresu DNS ručně a tak dále. Kdo má čas a chuť, může se s tím na stránce seznámit github.com/jedisct1/dnscrypt-proxy .

Doporučujeme používat jednodušší a pohodlnější verzi pro stolní počítače DNS- kryptograf. Stáhněte si z webu vývojáře simplednscrypt.org Verze programu, která odpovídá bitové úrovni vašeho OS a instalaci.

Vybaveno snadným, intuitivním přehledné rozhraní a kromě toho je to v ruštině, takže můžete snadno zjistit, co je co. Základní nastavení se provádí v sekci "Jídelní lístek". Chcete-li začít používat program, ihned po instalaci klikněte na tlačítko "Aplikovat" a poté níže vyberte ten svůj síťová karta, mělo by být zaškrtnuto, jak je znázorněno na snímku obrazovky. Přepínač "služba DNSCrypt" musí být aktivní.

Je snadné zkontrolovat, zda vše funguje. Provést v okně Běh tým ncpa.cpl, otevřete vlastnosti vašeho připojení, vyberte ze seznamu IP verze 4 (TCPIPv4) a otevřete jeho vlastnosti. Přepínač "Použít následující adresy serveru DNS" musí být aktivní a pole musí označovat preferovaný DNS-server. Máme to 127.0.0.1 , vaše adresa může být jiná.

Ve výchozím nastavení program automaticky vybere nejrychlejší server, ale své preference můžete změnit tak, že jej sami vyberete v sekci.

Parametry sekce není třeba měnit, pokud protokol nepoužíváte IPv4. V Obecné nastavení můžete povolit další karty "Černá listina domén", "Protokol blokování domény", ale to zase, pokud budete pracovat s funkcemi, které nabízejí, zejména skládání "Černá" seznamy domén.

Program skenuje DNS odpovědi serverů (to stačí, uvnitř odpovědí jsou dotazy), a pokud se název domény shoduje s regulárním výrazem, vytiskne adresu ze záznamu A (což bylo získáno jako výsledek rozlišení).

Pomocí tohoto nástroje můžete shromáždit téměř všechny statistiky - které doménové jméno bylo převedeno na IP adresu a kdy k tomu došlo. Trénovaný uživatel samozřejmě může tyto informace skrýt (zapsáním uzlu do souboru hosts nebo například použitím jiného kanálu pro DNS dotazy), ale pro většinu uzlů získáme uspokojivý obrázek.

Jak to funguje:

$ sudo ./sidmat eth0 "." iu
Vidíme názvy domén a co řeší (eth0 je rozhraní, kterým prochází DNS provoz).

$ sudo ./sidmat eth0 "." iu | while IFS= read -r řádek; do printf "%s\t%s\n" "$(datum "+%Y-%m-%d %H:%M:%S")" "$řádek"; Hotovo
Upravujeme čas. Zbývá pouze přesměrovat výsledek do souboru a můžete použít korespondenční tabulku. Obslužný program může zachytit odpovědi DNS pomocí pcap (v systému Linux/BSD) nebo pomocí mechanismu nflog v systému Linux.

Stejnou techniku ​​lze použít k řízení provozu. Filtrujte podle domény, získejte adresy domény klíčová slova ve jménech atd.

Je třeba mít na paměti, že ovládání nemusí být příliš přesné. Pokud v době, kdy DNS odpověď dorazí k uživateli a on začne přenášet provoz do tohoto uzlu, nestihneme přidat adresu do ipset/iptables/routovací tabulky/někam jinam, pak provoz půjde „normálním“ způsobem .

Kromě toho může kvalifikovaný uživatel generovat falešné odpovědi DNS, což znamená, že je lepší používat to opatrně pro odvetu.

Několik příkladů:

Jak získat seznam IP adres, na které se vk.com a jeho subdomény převádějí? (Bez možnosti „u“ budou vytištěny pouze jedinečné IP adresy)

$ sudo ./sidmat eth0 "^vk.com$|\.vk.com$" d
Pomocí možností „d“ nebo „i“ můžete vidět, která doména je přeložena na IP adresu, „d“ vytiskne název domény na stderr.

Jak blokovat adresy, které umožňují vk.com, jeho subdomény a všechny domény se slovem odnoklassniki? (domény jako avk.com nebudou spadat pod pravidlo, odnoklassnikii.com ano).

$ sudo sh -c "/sidmat eth0 "^vk\.com$|\.vk\.com$|odnoklassniki" | /usr/bin/xargs -I () /sbin/iptables -A INPUT -s () - j DROP"
Kromě malých regulárních výrazů můžete v souboru použít seznamy (volba „f“, druhý argument je interpretován jako název souboru, jeho obsah jako jeden velký regulární výraz). Seznamy mohou být poměrně velké, my jsme se dívali na výkon na seznamu domén RKN (provoz na zakázané domény byl přesměrován na VPN), běžný PC router si s tím poradil celkem v klidu.

Můžete pomoci a převést nějaké prostředky na rozvoj webu

V prohlížečích a v tomto článku budeme hovořit o únikech provozu DNS. Což se týká všech, a dokonce i těch, kteří využívají služby VPN a věří, že jsou za kamennou zdí.

Dobrý den, přátelé! Dnes vám řeknu, co je únik DNS, proč byste o něm měli vědět a jak se před ním chránit pomocí bezplatné utility DNSCrypt.

  • Předmluva
  • Co znamená únik DNS?
  • Jak zkontrolovat únik DNS
  • Jak opravit únik DNS pomocí DNSCrypt
    • Stahování DNSCrypt
    • Instalace DNSCrypt
    • Pomocí DNSCrypt
  • DNSCrypt v prohlížeči Yandex
  • DNSCrypt v routeru
  • Závěr
  • Hodnocení a recenze

Co znamená únik DNS?

Při použití HTTPS nebo SSL je váš HTTP provoz šifrovaný, což znamená, že je bezpečný (ne dokonalý, ale bezpečný). Když používáte VPN, veškerý váš provoz je zcela šifrován (úroveň a kvalita ochrany samozřejmě závisí na správné nastavení VPN, ale obvykle je vše nakonfigurováno a funguje správně).

Existují však situace, kdy i při použití VPN jsou vaše požadavky DNS přenášeny v jasné, nešifrované podobě. To útočníkovi otevírá velké možnosti kreativity. může přesměrovat provoz, použít útok MITM (man in the middle) a dělat spoustu dalších věcí, které mohou ohrozit vaši bezpečnost a anonymitu online.

Pokusme se porozumět této problematice hlouběji. Pokud se nezajímáte o teorii, ale máte obavy o bezpečnost, můžete rovnou přeskočit na další kapitolu. Pokud se chcete dozvědět více, pohodlně se usaďte, teď vám vyfouknu hlavu.

V našem příkladu na obrázku níže vidíte, jak se uživatel (počítač) pokouší o přístup na stránku www.. Aby se na stránku dostal, musí nejprve přeložit symbolický název hostitele na IP adresu.

Pokud je konfigurace sítě taková, že je použit DNS server poskytovatele (nešifrované připojení, označené červenou čarou), pak k překladu symbolického jména na IP adresu dojde přes nešifrované připojení.

Co je na tom tak děsivého?

Za prvé, v takové situaci může poskytovatel zobrazit vaši historii DNS a zjistit, které stránky jste navštívili. Samozřejmě nebude vědět, jaká data byla přenesena, ale může snadno zobrazit adresy webových stránek.

Za druhé, existuje vysoká pravděpodobnost, že se stanete obětí hackerského útoku. Jako například: Snooping DNS cache a DNS spoofing.

Co je to DNS snooping a spoofing?

Krátce pro ty, kteří nevědí.

DNS snooping— pomocí tohoto útoku může útočník na dálku zjistit, které domény byly nedávno vyřešeny na serveru DNS, tedy jaké domény oběť nedávno navštívila.

DNS spoofing— útok založený na infikování mezipaměti serveru DNS oběti falešným záznamem o shodě názvu DNS hostitele, kterému oběť důvěřuje.

Vzhledem k tomu, že požadavky nejsou šifrované, může někdo mezi vámi a ISP zachytit a přečíst požadavek DNS a poté vám poslat falešnou odpověď. stránky, ale také URL v adresní řádek), po kterém zadáte své uživatelské jméno a heslo, a pak sami pochopíte, co se stane. Autorizační data budou v rukou útočníka.

Popsaná situace se nazývá únik DNS. Dochází k tomu, když váš systém pro rozlišení názvů domén pokračuje v dotazování na DNS server vašeho ISP i po připojení k serveru VPN nebo síti Tor. Při každém pokusu o přístup na web se připojte k novému serveru nebo nějaký spusťte síťová aplikace, váš systém bude kontaktovat servery DNS ISP, aby přeložil název na IP adresu. Nakonec nějaký hacker nebo váš ISP bude schopen zjistit všechna jména hostitelů, ke kterým přistupujete.

Pokud máte co skrývat, pak vám doporučuji použít jednoduché řešení – DNSCrypt. Můžete samozřejmě zaregistrovat některé další servery DNS a posílat přes ně provoz. Například server Google 8.8.8.8 nebo stejný OpenDNS 208.67.222.222, 208.67.220.220. V takovém případě samozřejmě před poskytovatelem skryjete historii procházení webových stránek, ale řekněte Googlu o svých online cestách. Navíc nedojde k šifrování DNS provozu a to je velká nevýhoda. Nevím jak vás, ale mě to nevzrušuje, raději bych si nainstaloval DNSCrypt.

Jak zkontrolovat únik DNS

Než přejdeme k samotné utilitě, rád bych vám představil speciální online služby. Umožňují vám zkontrolovat úniky DNS.

Program vyžaduje Microsoft . NET Framework 2.0 a vyšší.

DNSCrypt pro Mac OS X si můžete stáhnout pomocí tohoto odkazu z Gitab nebo ze sdílení souborů pomocí výše uvedeného odkazu.

Vývojář programu OpenDNS.

Instalace DNSCrypt

V tomto článku se podíváme na práci s konzolovou verzí nástroje. DNSScript nakonfigurujeme na Windows 10. Instalace na jiné verze Windows se neliší.

Stažený archiv tedy rozbalte a obsah složky dnscrypt-proxy-win32 umístěte kamkoli do počítače. V mém příkladu jsem jej umístil do složky „C:\Program Files\DNSCrypt\“.

Poté otevřete příkazový řádek jako správce.


Spusťte příkazový řádek jako správce ve Windows 10

Nyní v příkazový řádek přejděte do složky DNSCrypt. Můžete to udělat pomocí příkazu:

cd "C:\Program Files\DNSCrypt"

Pokud příkazy nemůžete zkopírovat, klikněte na .

Poté se připravme na instalaci služby proxy. Nejprve musíte vybrat poskytovatele DNS. Do archivu jsem vložil soubor dnscrypt-resolvers.csv. Tento soubor obsahuje seznam většiny poskytovatelů DNS, které DNSCrypt podporuje. Každý jednotlivý poskytovatel má název, popis, umístění a podporu pro DNSSEC a Namecoin. Kromě toho soubor obsahuje potřebné IP adresy a veřejné klíče.

Vyberte libovolného poskytovatele a zkopírujte hodnotu v prvním sloupci. V mém případě budu používat CloudNS, takže jsem zkopíroval „cloudns-can“. Nyní se musíte ujistit, že se proxy může připojit. Můžete to udělat pomocí tohoto příkazu:

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

Pokud to nefunguje, zkuste vybrat jiného poskytovatele a zkuste to znovu.

Pokud vše proběhlo v pořádku, pokračujte v instalaci a zadejte následující příkaz:

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

Pokud vše funguje správně, uvidíte následující výstup:

Snímek obrazovky, jak by to mělo vypadat na příkazovém řádku:

Poté musíte přejít na parametry protokolu TCP/IP Windows a změnit Nastavení DNS na 127.0.0.1.

Chcete-li odebrat službu DNScrypt, musíte se vrátit nastavení sítě DNS do výchozího stavu. To se provádí pomocí tohoto příkazu:

dnscrypt-proxy --odinstalovat

Tento příkaz lze také použít ke změně poskytovatele DNS. Po aplikaci je potřeba zopakovat instalaci s parametry jiného poskytovatele.

Pokud je po celém tomto postupu z nějakého důvodu během kontroly stále určena DNS IP adresa vašeho poskytovatele internetu, klikněte na tlačítko „Upřesnit“, které se nachází pod registrovanou IP 127.0.0.1. V okně, které se objeví " Extra možnosti...“, přejděte na kartu „DNS“ a odstraňte všechny adresy serverů DNS kromě „127.0.0.1“.

To je vše, únik DNS je nyní opraven.

Také by vás mohl zajímat článek "", který hovořil o mazání DNS záznamů v počítači.

DNSCrypt v prohlížeči Yandex

Nedávno prohlížeč Yandex přidal podporu pro DNSKript. No, co mohu říci, kluci z Yandexu pracují a snaží se chránit uživatele - to je skvělé, ale na rozdíl od nástroje DNSCrypt je ochrana Yandex implementována pouze na úrovni prohlížeče, nikoli na úrovni celého systému.

DNSCrypt v routeru

Podpora DNSKript je také implementována v populární Firmware OpenWrt. Více informací o instalaci a další dodatečné informace můžete zjistit na této stránce.

Závěr

Samozřejmě, že nástroj DNSKript a šifrování DNS obecně nejsou všelék, a skutečně in informační bezpečnost nic takového jako všelék neexistuje. Svou bezpečnost a anonymitu můžeme co nejvíce vylepšit, ale bohužel nebude možné učinit naši online přítomnost 100% nezranitelnou. Technologie nestojí na místě a vždy budou existovat mezery. Proto vás zvu k odběru našich novinek na v sociálních sítích být vždy aktuální. Je to zdarma.

To je vše přátelé. Doufám, že vám tento článek pomohl vyřešit problém s únikem DNS. Ať se vám v novém roce 2017 daří, buďte šťastní!

Vyhodnocení nástroje DNSCrypt

Naše hodnocení

DNSCrypt je bezplatný nástroj pro ochranu provozu DNS pomocí šifrování provozu DNS a pomocí serverů DNS. Naše hodnocení je velmi dobré!

Uživatelské hodnocení: 4,26 (39 hlasů)

Pomocí nstx je možné vytvořit IP tunel v rámci DNS. Stejnojmenný protokol, který vám toho umožňuje, se nazývá „“ a znamená „ NameServer Transfer Protocol».

Předpokládejme tedy, že poskytovatel má problémy a umožňuje vám používat jeho server DNS. Představme si běžný DNS požadavek: požadujeme informace na jmenném serveru poskytovatele, server poskytovatele předá požadavek jinému jmennému serveru, který je zodpovědný za zónu, kterou potřebujeme. A poslední server DNS v řetězci odešle přijatou odpověď zpět stejnou cestou.

Nyní si představte, že můžete formátovat IP pakety do DNS dotazů jmenného serveru a „tvarovat“ příchozí provoz do paketů, které potřebujeme. A nyní již máme vše pro vybudování plnohodnotné „IP over DNS“ – naší vlastní skrytý tunel pro přesměrování provozu přes téměř všechny brány firewall třetích stran!

Nyní zbývá pouze nakonfigurovat falešný nameserver a klienta, ale v praxi to není vždy tak snadné.

Maximální velikost paketu, který lze přenášet, je maximálně 512 bajtů přes UDP. Proto budeme potřebovat mechanismus assembleru/disassembleru, který bude shromažďovat a rozebírat fragmentované pakety a kontrolovat jejich správnost. V tomto schématu může náš falešný DNS klient neustále komunikovat s naším falešným DNS serverem, ale náš DNS server může pouze odpovídat. Klient tedy bude odpovědný za sladění a udržování oboustranné komunikace.

Poprvé jsem se o to pokusil v roce 2008. Dva týdny jsem pomalu pracoval s tímto balíčkem, upravoval si zdrojový kód, aby mi vyhovoval, znovu jsem si pročítal manuály a ve výsledku jsem úspěšně vybudoval fungující tunel přes náš ultra-bezpečný firewall firemní síť. Pak to pro mě bylo prostě neuvěřitelné!

Obecně platí, že s trochou touhy a času můžete nezávisle spustit falešný klientský jmenný server a vytvořit tunel „IP-over-DNS“.

Hrajte, zkoušejte. Hledejte způsoby, jak se před tím chránit. Předem vás varuji, že je zde spousta technických nuancí.

Myslíte si, že vaše anonymita je spolehlivě chráněna. Ale bohužel tomu tak není. Existuje jeden velmi důležitý kanál pro únik vašich soukromých informací – služba DNS. Ale i na to se naštěstí našlo řešení. Dnes vám řeknu, jak zašifrovat váš DNS provoz pomocí nástroje DNSCrypt.

Při použití HTTPS nebo SSL je váš HTTP provoz šifrovaný, tedy chráněný. Když používáte VPN, veškerý váš provoz je již šifrován (samozřejmě vše závisí na nastavení VPN, ale zpravidla tomu tak je). Ale někdy, i když používáte VPN, vaše DNS dotazy nejsou šifrované, jsou odesílány tak, jak jsou, což otevírá velký prostor pro kreativitu, včetně útoků MITM, přesměrování provozu a mnoho dalšího.

Zde přichází na pomoc open source utilita DNSCrypt, kterou vyvinuli známí tvůrci OpenDNS – programu, který umožňuje šifrovat požadavky DNS. Po instalaci do počítače budou chráněna i vaše připojení a budete moci bezpečněji surfovat na internetu. DNSCrypt samozřejmě není všelékem na všechny problémy, ale pouze jedním z bezpečnostních nástrojů. K šifrování veškerého provozu stále musíte používat připojení VPN, ale spárování s DNSCrypt bude bezpečnější. Pokud jste s takto stručným vysvětlením spokojeni, můžete rovnou přejít k části, kde popíšu instalaci a používání programu.

Zkusme porozumět hlouběji. Tato sekce je pro opravdu paranoiky. Pokud si ceníte svého času, můžete okamžitě přistoupit k instalaci programu.
Takže, jak se říká, je lepší jednou vidět, než stokrát slyšet. Podívej se na obrázek.


Řekněme, že se klient (notebook na obrázku) pokouší získat přístup na stránku google.com. Nejprve by měl
přeložit symbolický název hostitele na IP adresu. Pokud je konfigurace sítě taková, že se používá DNS server poskytovatele (nešifrované připojení, na obrázku červená čára), pak k překladu symbolického jména na IP adresu dojde přes nešifrované připojení.

Ano, nikdo nebude vědět, jaká data budete předávat na dkws.org.ua. Jsou tu ale velmi nepříjemné momenty. Za prvé, poskytovatel nahlédnutím do protokolů DNS bude moci zjistit, které stránky jste navštívili. Potřebuješ to? Za druhé je pravděpodobná možnost útoků DNS spoofing a DNS snooping. Nebudu je podrobně popisovat, o tom již bylo napsáno mnoho článků. Stručně řečeno, situace může být následující: někdo mezi vámi a poskytovatelem může zachytit požadavek DNS (a protože požadavky nejsou šifrované, nebude obtížné požadavek zachytit a přečíst jeho obsah) a poslat vám „ falešná“ odpověď. Výsledkem je, že místo návštěvy google.com přejdete na web útočníka, který je přesně takový, jaký potřebujete, zadáte své heslo z fóra a vývoj událostí je, myslím, jasný.

Popsaná situace se nazývá únik DNS. K úniku DNS dochází, když váš systém, i po připojení k VPN server nebo Tor pokračuje v dotazování na servery DNS poskytovatele internetových služeb, aby přeložil názvy domén. Pokaždé, když navštívíte nový web, připojíte se k novému serveru nebo spustíte síťovou aplikaci, váš systém kontaktuje DNS vašeho ISP, aby přeložil název na IP. Výsledkem je, že váš poskytovatel nebo kdokoli, kdo se nachází na „poslední míli“, tedy mezi vámi a poskytovatelem, může přijímat všechna jména uzlů, ke kterým přistupujete. Výše uvedená možnost s náhradou IP adresy je poměrně krutá, ale v každém případě je možné sledovat uzly, které jste navštívili, a použít tyto informace pro své vlastní účely.

Pokud se svého poskytovatele „bojíte“ nebo jednoduše nechcete, aby viděl, jaké stránky navštěvujete, můžete si (samozřejmě kromě použití VPN a dalších bezpečnostních opatření) dodatečně nakonfigurovat počítač tak, aby používal DNS servery Projekt OpenDNS (www.opendns.com). Na tento moment jedná se o následující servery:

208.67.222.222
208.67.220.220

Nepotřebujete žádný další dodatečný software. Stačí nakonfigurovat systém tak, aby používal tyto servery DNS.

Problém zachycování DNS spojení ale stále přetrvává. Ano, již nepřistupujete k DNS poskytovatele, ale spíše k OpenDNS, ale stále můžete zachytit pakety a zjistit, co je v nich. To znamená, že pokud si přejete, můžete zjistit, ke kterým uzlům jste přistupovali.

Nyní se dostáváme k DNSCrypt. Tento program vám umožňuje zašifrovat vaše připojení DNS. Nyní váš ISP (a všichni mezi vámi a nimi) nebude přesně vědět, jaké stránky navštěvujete! Ještě to zopakuji. Tento program nenahrazuje Tor nebo VPN. Stejně jako dříve se zbývající data, která přenášíte, přenášejí bez šifrování, pokud nepoužíváte VPN nebo Tor. Program pouze šifruje provoz DNS.


JAKO ZÁVĚR

Článek nebyl příliš dlouhý, protože samotný program se velmi snadno používá. Nebylo by to ale kompletní, kdybych nezmínil VPN. Pokud čtete tento článek a zajímá vás, ale ještě jste nevyužili služeb poskytovatele VPN k šifrování vašich dat, je čas to udělat.
Poskytovatel VPN vám poskytne bezpečný tunel pro přenos vašich dat a DNSCrypt zajistí vaše připojení DNS. Služby poskytovatelů VPN jsou samozřejmě placené, ale za bezpečnost se platit musí, ne?

Můžete samozřejmě použít Tor, ale Tor funguje relativně pomalu a, ať už někdo říká, není to VPN - nebude možné „torifikovat“ veškerý provoz. V každém případě (ať už zvolíte kteroukoli možnost), vaše připojení DNS jsou nyní bezpečná. Zbývá pouze rozhodnout o způsobu šifrování provozu (pokud jste tak již neučinili).