Проксі-сервери DoH та DoT для шифрування DNS-запитів
Як відомо, протокол DNS (Domain Name System) не шифрує запити, і дані передаються у відкритому вигляді. DNS-трафік вразливий для кіберзлочинців, оскільки існує можливість 'прослуховувати' канал зв’язку та перехоплювати незахищені персональні дані. Інтернет-провайдери також можуть відстежувати цей трафік і збирати дані про те, які сайти ви відвідуєте.
Для забезпечення безпеки DNS-трафіку були розроблені спеціальні розширення протоколу DNS, DNS over TLS (DNS over TLS, або DoT, RFC7858) і DNS over HTTPS (DNS over HTTPS, або DoH, RFC8484). Їх основне призначення — шифрувати DNS-трафік для запобігання перехоплення та забезпечення додаткової конфіденційності та безпеки. У цій статті ми не будемо детально розглядати теорію. Інформацію про те, як працюють DoT і DoH, можна знайти на наступних сторінках:
Існують також списки публічних DNS-сервісів, які підтримують DoT/DoH:
Починаючи з версії 3.0, KeeneticOS підтримує протоколи DNS over TLS та DNS over HTTPS. Нижче ми покажемо, як зашифрувати ваш DNS-трафік, що надсилається через маршрутизатор, за замовчуванням.
Важливо
Коли протокол DoT/DoH увімкнено, усі вхідні DNS-запити надсилатимуться на адресу сервера, указану під час налаштування. DNS-сервери, отримані від вашого інтернет-провайдера та/або зареєстровані вручну, не використовуватимуться.
Коли ввімкнено служби інтернет-безпеки AdGuard DNS або Cloudflare, лише DNS-запити від пристроїв, які не зареєстровані для використання профілю фільтрації (тобто від пристроїв, які використовують профіль Без фільтрації), будуть надсилатися на вказані сервери DoT/DoH через зашифроване з’єднання.
Якщо ви хочете використовувати тільки DNS over TLS, то компонент Проксі DNS-over-HTTPS слід видалити. Так само для DNS over HTTPS видаліть компонент Проксі DNS-over-TLS.
Покажемо приклад налаштування через вебінтерфейс. Ми будемо використовувати безкоштовний DNS-сервіс Cloudflare, який підтримує протоколи DoT/DoH.
Для роботи протоколу DoT/DoH необхідно встановити системні компоненти: DNS-over-TLS proxy та DNS-over-HTTPS proxy. Будь ласка, відкрийте меню Керування - Параметри системи, і у розділі KeeneticOS Оновлення та параметри компонентів натисніть кнопку Змінити набір компонентів, та позначте необхідні компоненти для встановлення.

Потім перейдіть до налаштування на сторінці Інтернет-безпека в розділі меню Мережеві правила. Перейдіть на вкладку Конфігурація DNS.

DNS-over-TLS
Натисніть посилання Додати сервер внизу сторінки.

З’являться поля для заповнення параметрів сервера. Вкажіть Адресу DNS-сервера (у нашому прикладі 1.1.1.1 та 1.0.0.1), Доменне ім’я TLS (у нашому прикладі cloudflare-dns.com) і, за потреби, Інтерфейс підключення (налаштування за замовчуванням — Будь-який інтерфейс).

Наприклад:

У полі 'Адреса DNS-сервера' дозволяється вказувати доменне ім’я FQDN, наприклад:

Підказка
У полі Адреса DNS-сервера можна вказати IP-адресу сервера (8.8.8.8) або доменне ім'я FQDN (dns.google), а також адресу з TLS-портом, наприклад 8.8.8.8:853 або dns.google:853 (додавати TLS-порт не обов'язково, оскільки система автоматично підставляє порт 853).
Важливо
Для стабільної роботи розпізнавання DNS-імен необхідно одночасно вказати кілька серверів DoT/DoH, бажано з різних DNS-сервісів. Наприклад:
Адреса DNS-сервера | Доменне ім'я TLS |
|---|---|
8.8.8.8 | dns.google |
8.8.4.4 | dns.google |
1.1.1.1 | cloudflare-dns.com |
1.0.0.1 | cloudflare-dns.com |
9.9.9.9 | dns.quad9.net |
94.140.14.14 | dns.adguard-dns.com |
94.140.15.15 | dns.adguard-dns.com |
DNS-over-HTTPS
Натисніть посилання Додати сервер внизу вкладки Конфігурація DNS.

З’являться поля для заповнення певних параметрів. У полі Тип DNS-сервера вкажіть DNS-over-HTTPS, у полі Адреса DNS-сервера вкажіть ім’я DNS-сервера та, за потреби, вкажіть інтерфейс підключення (за замовчуванням Будь-який інтерфейс). Ці запити використовують формат DNS-повідомлень. У нашому прикладі додано сервери https://cloudflare-dns.com/dns-query та https://dns.comss.one/dns-query.
Наприклад:

Примітка
Якщо в налаштуваннях роутера вказано кілька серверів DNS-over-TLS та/або DNS-over-HTTPS, системний резолвер буде використовувати їх у порядку пріоритету за виміряним часом відгуку.
У роутерах Keenetic можна використовувати максимум 8 серверів DoT/DoH.
Перевірка налаштувань
Після налаштування DoT/DoH роботу розпізнавання DNS-імен можна перевірити за допомогою онлайн-сервісу.

У нашому прикладі DNS-запити проходять через сервери Google.
Підказка
Якщо ви не хочете налаштовувати DoT/DoH вручну, увімкніть інтернет-фільтр AdGuard DNS або Cloudflare DNS. У цьому випадку вам не потрібно буде робити жодних додаткових налаштувань. Коли ви вмикаєте AdGuard DNS або Cloudflare DNS, підтримка DoT/DoH вмикається автоматично, але тільки якщо в інтернет-фільтрі встановлені системні компоненти для підтримки DoT/DoH. В іншому випадку інтернет-фільтр не використовуватиме зазначені протоколи шифрування.
Ви можете перевірити підтримку DoT/DoH через інтерфейс командного рядка (CLI) роутера, виконавши команду
show adguard-dns availabilityабоshow cloudflare-dns availability.Коли AdGuard DNS і Cloudflare DNS увімкнено, перевірка статусу служби на https://adguard.com/en/test.html і https://1.1.1.1/help може не пройти.
Це нормально, і коли інтернет-фільтри ввімкнені, за замовчуванням встановлено блокування транзитного DoT/DoH, щоб уникнути витоку DNS-запитів.
Коли проксі DoT/DoH вказані вручну в Keenetic, і ввімкнено один з інтернет-фільтрів, Adguard DNS або Cloudflare DNS, внутрішні системні домени та перевірки Інтернету розпізнаються спершу через DNS-проксі, тобто вручну вказані DNS-адреси.
Щоб запобігти перехопленню DNS-запиту, ви повинні вказати домен у налаштуваннях додавання DNS-сервера. Наприклад:

Ви можете перевірити DNS-запити для служби Cloudflare, відвідавши https://www.cloudflare.com/ssl/encrypted-sni/
Натисніть Перевірити мій браузер, щоб запустити тест.

Якщо DoT/DoH налаштовано правильно, тест має успішно завершитися для Безпечного DNS, DNSSEC та TLS 1.3. Правильний результат тесту DoT/DoH та безпеки браузера залежить від доступності серверів/адрес DoT/DoH у мережі інтернет-провайдера/мобільного оператора.

Важливо
Це приклад перевірки DoT/DoH для Cloudflare. Якщо ви використовуєте інші DNS-сервіси, перевірка на https://www.cloudflare.com/ssl/encrypted-sni/ може не вдатися. Вона також не вдасться, якщо в налаштуваннях DHCP домашньої мережі Keenetic були вказані будь-які DNS-адреси. У цьому випадку пристрої, підключені до Keenetic, будуть звертатися до цих DNS-серверів напряму, а не до Keenetic з налаштованим DoT/DoH.
Щоб запустити тест знову, натисніть Запустити тест знову.
Якщо тест не вдається, можливо, сторонні DNS-сервери були раніше визначені в IP-налаштуваннях мережевого адаптера в операційних системах Windows, Linux і macOS. У цьому випадку всі DNS-запити будуть оброблятися через сторонні DNS, і DoT/DoH не працюватиме. Видаліть раніше вказані сторонні DNS-адреси та повторіть тест.
Також майте на увазі, що якщо ви вказуєте кілька адрес DoT/DoH від різних служб, результат тесту залежить від того, який сервер наразі має пріоритет. Наприклад, якщо сервер DoH https://dns.google/dns-query вказаний у форматі повідомлення DNS, він не проходить перевірку Безпечний DNS.