DNS поверх HTTPS
Протоколи безпеки Інтернет |
---|
Керування ключами |
Рівень застосувань |
Система доменних імен |
Рівень Інтернет |
DNS поверх HTTPS, DNS over HTTPS (DoH) — протокол для розв'язання DNS за протоколом HTTPS. Метою цього методу є підвищення конфіденційності та безпеки користувачів шляхом запобігання перехоплення та маніпулювання даними DNS за допомогою атак типу «Атака посередника»[1]. Станом на березень 2018 року Google і Mozilla Foundation тестують версії DNS по протоколу HTTPS[2][3]. Опублікований IETF в RFC 8484 у жовтні 2018 року.
На додаток до підвищення безпеки ще одна мета DNS over HTTPS — підвищити продуктивність: тестування DNS-розв'язувачів ISP показало, що в багатьох випадках вони дають несподівано повільний відгук, що може бути додатково помножено на необхідність отримання адрес багатьох доменів, наприклад, при завантаженні вебсторінки[1].
У публічно реалізованій версії цього протоколу Google використовує HTTP GET-запити (через HTTPS) для доступу до інформації DNS з використанням кодування DNS-запиту і параметрів результату, представлених в нотації JSON[2].
Інша аналогічна специфікація знаходиться в статусі інтернет-проекту під егідою IETF. У цій версії протоколу використовуються протоколи HTTP/2 і HTTPS, а початкова версія підтримує дані відповіді DNS у вигляді «дротового формату», які повертаються в існуючих відповідях UDP, в корисному навантаженні з HTTPS — application/dns-udpwireformat
, з MIME — application/dns-udpwireformat
[4]. Якщо використовується HTTP/2, сервер може також використовувати HTTP/2-серверний push для відправки значень, які, швидше за все, знадобляться клієнту[4].
У липні 2019 року фахівці компанії Qihoo 360 виявили перший у світі зразок шкідливого ПЗ, що використовує протокол DNS over HTTPS[5].
Реалізації серверів DNS поверх HTTPS вже надаються безкоштовно деякими публічними постачальниками DNS[6]. Пропонуються три реалізації для виробничих послуг[7]:
Провайдер | IP-адреси | Блокування | Особливість |
---|---|---|---|
Cloudflare | 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 |
Ні | https://cloudflare-dns.com/dns-query[недоступне посилання] |
Cloudflare | 1.1.1.2 1.0.0.2 2606:4700:4700::1112 2606:4700:4700::1002 |
шкідливий контент | |
Cloudflare | 1.1.1.3 1.0.0.3 2606:4700:4700::1113 2606:4700:4700::1003 |
шкідливий і дорослий контент[8] | |
Google Public DNS | 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 |
Ні | https://dns.google/dns-query[недоступне посилання] |
CleanBrowsing | 185.228.168.168 185.228.169.168 2a0d:2a00:1:: 2a0d:2a00:2:: |
дорослий контент | кінцева точка DNS over HTTPS |
Adguard | 176.103.130.130 176.103.130.131 2a00:5a60::ad1:0ff 2a00:5a60::ad2:0ff |
рекламний контент | кінцева точка DNS over HTTPS |
Quad9 | 9.9.9.9 149.112.112.112 2620:fe::fe 2620:fe::9 |
шкідливий контент | |
OpenDNS | 208.67.222.222 208.67.220.220 2620:119:35::35 2620:119:53::53 |
Ні | https://doh.opendns.com/dns-query[недоступне посилання] |
- Firefox з версії 62 — підтримка браузера[9]
- DNSCrypt-proxy — локальний DNS → проксі DoH[10]
- doh-php-client — реалізація PHP[11]
- KeeneticOS з версії 3.00 — прошивка для роутерів KEENETIC[12]
- OpenWRT — відкрита прошивка для роутерів дозволяє включити підтримку DNS поверх HTTPS[13]
- Router OS з версії 6.47 — прошивка для роутерів Mikrotik[14]
DNSCrypt шифрує немодифікований трафік DNS між клієнтом і DNS-розв'язувачем для запобігання атак типу «Атака посередника», але не минулий процес IETF RFC, тоді як DNS поверх TLS описаний в RFC 7858.
- ↑ а б IETF protects privacy and helps net neutrality with DNS over HTTPS • The Register. Архів оригіналу за 14 грудня 2017. Процитовано 18 січня 2022.
- ↑ а б DNS-over-HTTPS | Public DNS | Google Developers. Архів оригіналу за 20 березня 2018. Процитовано 18 січня 2022.
- ↑ Mozilla Is Testing «DNS over HTTPS» Support in Firefox. Архів оригіналу за 20 березня 2018. Процитовано 18 січня 2022.
- ↑ а б draft-ietf-doh-dns-over-https-07 — DNS Queries over HTTPS. Архів оригіналу за 25 квітня 2018. Процитовано 18 січня 2022.
- ↑ ALEX.TURING, YEGENSHEN, An Analysis of Godlua Backdoor [Архівовано 18 січня 2022 у Wayback Machine.], 1 JULY 2019, netlab 360.com blog (англ.)
- ↑ DNS over HTTPS · curl/curl Wiki · GitHub. Архів оригіналу за 2 квітня 2018. Процитовано 18 січня 2022.
- ↑ DNS Security and Privacy — Choosing the right provider. Архів оригіналу за 9 листопада 2020. Процитовано 18 січня 2022.
- ↑ Introducing 1.1.1.1 for Families. The Cloudflare Blog (англ.). 1 квітня 2020. Архів оригіналу за 1 березня 2022. Процитовано 23 вересня 2020.
- ↑ Improving DNS Privacy in Firefox — Firefox Nightly News. Архів оригіналу за 2 вересня 2018. Процитовано 18 січня 2022.
- ↑ GitHub — jedisct1/dnscrypt-proxy: DNSCrypt Proxy — A flexible DNS proxy, with support for encrypted DNS protocols. Архів оригіналу за 20 січня 2016. Процитовано 18 січня 2022.
- ↑ GitHub — dcid/doh-php-client: DoH (DNS over HTTPS) PHP Client. Архів оригіналу за 30 грудня 2020. Процитовано 18 січня 2022.
- ↑ Информация о релизе KeeneticOS 3.1. https://help.keenetic.com (рос.). Keenetic. 22.01.2020. Архів оригіналу за 18 січня 2022. Процитовано 29 жовтня 2020.
- ↑ OpenWrt Project: DNS over HTTPS with Dnsmasq and https-dns-proxy. openwrt.org. Архів оригіналу за 18 січня 2022. Процитовано 17 травня 2020.
- ↑ MikroTik (англ.). mikrotik.com. Архів оригіналу за 20 січня 2022. Процитовано 4 червня 2020.