DNS přes HTTPS či anglicky DNS over HTTPS, zkráceně pak DoH (pozor, neplést s D’oh!) je technologie, o které se mluví jako o budoucnosti soukromí na webu.
Asi už všichni znáte protokol HTTPS – šifrované spojení mezi (nejčastěji) Vaším internetovým prohlížečem a webovým serverem, na který se připojujete. Pokud ne, tak velmi zjednodušeně – když se budete přihlašovat třeba na https://CZC.cz tak celá komunikace mezi Vámi a serverem CZC bude šifrovaná – to znamená, že nikdo, kdo by v síti nebo po cestě poslouchal, nezachytí ani uživatelské jméno a heslo, které serveru při přihlášení posíláte, ani neuvidí, co hledáte a na webu děláte.
Pokud Vás to zajímá víc, mrkněte na komix o tom, jak funguje HTTPS, který jsem přeložil:
Nyní tedy víme, že díky HTTPS můžeme bezpečně komunikovat. Nicméně dotazy DNS, které jsou zodpovědné za překlady webových adres na IP adresy (napíšete https://spajk.cz a Váš prohlížeč se zeptá několika DNS serverů, na jakou IP adresu má jít a ty mu řeknou ať jde na 172.67.217.14, což je IP serveru, kde leží webové stránky a soubory k tomuto webu), jsou stále přenášeny v nešifrované podobě – tedy v tzv. plaintextu.
Může je tak kdokoliv (Váš poskytovatel internetu, kdokoliv po cestě či v síti) odchytit a ví přesně jaké weby navštěvujete. Vzhledem k tomu, jak dnes algoritmy dokáží pospojovat kusé informace o uživateli a udělat si k Vám výborný fingerprint, mohou tak poměrně snadno sledovat na jaké weby chodíte, kde a co nakupujete a tyto údaje pak třeba prodávat reklamním společnostem, aby na Vás mohly lépe cílit reklamu (fuj!).
Také toho ale mohou zneužít útočníci – podvrhnou odpověď na DNS dotaz a přesměrují Vás úplně jinam – třeba na stránku s malwarem, na phishingovou sajtu a tak dále. Tyto typy útoků označujeme jako DNS hijacking.
🤖 Tenhle web je bez reklam! 🤖 💸 Nesbírám a neprodávám data návštěvníků. 💸 🕵️♂️ Respektuji Vaše soukromí. 🕵️♂️ 🌎 Píšu pro dobro lidstva. 🌎 ❤️ Líbí se Vám článek? ❤️
A právě tady by nám mělo pomoci DNS přes HTTPS – stejně jako při komunikaci s jinými weby se požadavky DNS zašifrují a umožní pouze Vašemu prohlížeči a vybraným DNS serverům rozklíčovat překlady.
DNS dotaz navíc neběží přes UDP, ale z pohledu správce sítě nebo útočníka vypadá jako běžná HTTPS komunikace. Zní to parádně co? Ale bohužel to má i své mouchy. Pokud budeme veškerý DNS provoz ze zařízení šifrovat, nebudou správně fungovat antiviráky, rodičovské kontroly a další podobné appky, protože některé jejich části potřebují k fungování právě číst DNS dotazy – například aby mohly dětem blokovat přístup k webům pro dospělé.
Toto lze ale řešit tím, že se DoH zapne jen na routeru/AP (pokud to podporuje), takže v rámci lokální sítě by mělo klasické dotazování mezi browserem a routerem fungovat normálně a nenarušit další mechanismy. Netřeba asi říkat, že routery/AP v cenové hladině poloviny kartonu cigaret takovou funkcí obvykle nedisponují.
Nezpomaluje to net?
Vesměs ne. Mozilla dělala před dvěma lety pokus, kterého se nakonec účastnilo 25 tisíc uživatelů: Experiment za dobu svého trvání vygeneroval přes miliardu DNS dotazů. Ukázalo se, že DNS přes HTTPS přináší zpomalení v jednotkách milisekund. U pětiny nejpomalejších dotazů bylo ale naopak až o stovky milisekund rychlejší.
Zdroj: Mozilla informuje o výsledcích experimentu s DNS přes HTTPS – Root.cz
Jak DNS přes HTTPS nastavit
Funkční, bezpečné a snadné je nastavit si šifrovaná déeneska ve webovém prohlížeči – nemusíte tak mít obavy že se rozbourá komunikace jiných aplikací a přitom uděláte hodně pro ochranu svého soukromí na webu.
Nyní blíže k jednotlivým prohlížečům:
Mozilla Firefox
- Otevřete Možnosti: klikněte na tři čáry vpravo nahoře
hamburger
a přejděte na Možnosti. - V části Obecné sjeďte až nakonec, kde najdete položku Nastavení sítě. Klikněte na Nastavení.
- Zaškrtněte volbu Zapnout DNS over HTTPS.
- Jako výchozí jsou nastaveny servery Cloudflare (1.1.1.1) – doporučuji ponechat, nebo můžete nastavit vlastní (OpenDNS a podobně).
Google Chrome / Microsoft Edge / Brave / Chromium a další
Ve starších verzích bylo nutno použít zkratku do skrytého/experimentálního nastavení:
- Otevřete Experimentální nastavení: do adresního řádku vložte tuto URL:
chrome://flags/#dns-over-https
. To Vás přepne doSecure DNS lookups
- Povolte DNS over HTTPS: Klikněte na
Secure DNS lookups
pro zapnutí DoH. - Nastavte Cloudflare DNS.
V aktuálních verzích však stačí přejít do Nastavení a v sekci Ochrana osobních údaj, zabezpečení a služby aktivovat volbu Pomocí zabezpečeného serveru DNS… a vyberte poskytovatele služeb – já používám Cloudflare, ale vyberte co je Vám milé, třeba CZ.NIC nebo OpenDNS. Googlu nevěřím.
Safari
Safari zatím DNS over HTTPS nepodporuje, nicméně podpora pro iOS, iPadOS i MacOS je slíbena: Apple adds support for encrypted DNS (DoH and DoT) | ZDNet.
Jak zjistit jestli DoH funguje?
- Mrkněte na stránku 1.1.1.1/help
- Pokud je v části
Using DNS over HTTPS (DoH)
vidětYes
tak vše funguje jak má.
Co když to nefunguje? Na domácím/osobním PC by to neměl být problém, ale je možné, že Vám to třeba v práci zakázali – jsou způsoby jak vypnout možnost nastavení DoH, třeba přes registry: How to Enable or Disable DNS over HTTPS (DoH) in Microsoft Edge | Tutorials (tenforums.com)
A nebo přes Intune : Disable DNS over HTTPS in Firefox using Intune (securitygeneralist.blogspot.com)
DNS přes TLS
Aby toho nebylo málo, existuje ještě DoT – DNS over TLS. Při použití DoT jsou dotazy odesílány přímo přes UDP, místo HTTP nebo HTTP2 jak je tomu v případě DoH. Cíl je ale stejný – zajistit ochranu a zabezpečit DNS dotazy.
🤖 Tenhle web je bez reklam! 🤖 💸 Nesbírám a neprodávám data návštěvníků. 💸 🕵️♂️ Respektuji Vaše soukromí. 🕵️♂️ 🌎 Píšu pro dobro lidstva. 🌎 ❤️ Líbí se Vám článek? ❤️