DNS через TLS (DoT)
DNS через TLS шифрує DNS-запити так само, як DNS через HTTPS, але на власному порту та як власний протокол, а не тунелюється всередині HTTPS. Обидва часто плутаються; відмінності важливі для конкретних сценаріїв розгортання.
Повний текст статті подано англійською мовою нижче.
DNS через TLS (DoT) — це протокол із зашифрованим DNS, визначений у RFC 7858 (2016). Він загортає DNS-запити в TLS-з’єднання на TCP-порт 853 — виділений порт для зашифрованого DNS. Супутній протокол DNS через HTTPS (DoH) використовує HTTPS на порту 443 і виглядає невідрізним від веб-трафіку. Обидва шифрують DNS-запит під час передачі між клієнтом і резолвером; відмінності є операційними, а не теоретичними.
Як працює DoT
- Client відкриває TCP-з’єднання з резолвером на порту 853.
- TLS рукостискання встановлює зашифрований канал.
- DNS-запити надсилаються через TLS-з’єднання як повідомлення з префіксом довжини, однакового формату як DNS через TCP.
- Резолвер повертає відповіді DNS через те саме з’єднання TLS.
- З’єднання можна підтримувати для кількох запитів — зменшує накладні витрати на рукостискання.
DoT проти DoH порівняння
| DoT | DoH | |
|---|---|---|
| Port | 853XPLZ 33X | 443 |
| Протокол | Виділений | HTTPS |
| Мережа видимість | Iідентифікується як DNS | Змішується з веб-трафіком |
| Стійкість до блокування | Легше заблокувати (заблокувати порт 853) | Важче заблокувати (зламається) веб) |
| Обхід цензури | Слабший | Сильніший |
| Фільтрація оператора мережі | Легше — розпізнається як DNS | Harder — виглядає як web |
| Standardization | RFC 7858 (2016) | RFC 8484 (2018) |
| Браузер підтримка | Немає (тільки на рівні ОС) | Нативний у Chrome, Firefox тощо. |
| OS підтримка | Android (приватний DNS), Linux systemd-resolved | Обмежено на рівні ОС; зростає |
Де перемагає DoT
- OS-рівень розгортання. Функція «Приватний DNS» Android використовує DoT. Якщо ввімкнути, він направляє всі DNS-адреси пристрою через зашифрований розпізнавач DoT, незалежно від того, яка програма надсилає запити.
- Керування мережею підприємства. ІТ-відділи можуть бачити, що трафік DNS відбувається (порт 853), не бачачи вмісту. Дозволяє мережевій політиці дозволяти зашифрований DNS, водночас відрізняючи його від веб-трафіку.
- Простота роботи для резолверів. Немає HTTP-рівня, немає складного аналізу URL-адреси, менше коду.
- Знизькі накладні витрати. Немає заголовків HTTP на запит; лише саме повідомлення DNS.
Де DoH перемагає
- Стійкість до цензури. Блокування DoH означає блокування HTTPS, який порушує мережу. Блокування DoT означає просто блокування порту 853, який завдає невеликої побічної шкоди.
- Вбудована підтримка браузера. Firefox і Chrome можуть використовувати DoH без змін ОС.
- Наявна інфраструктура. Будь-який сервер із підтримкою HTTPS може запропонувати DoH; Для DoT потрібна спеціальна конфігурація сервера.
- Краще через обмежувальні мережі. Портали приєднання та корпоративні брандмауери часто дозволяють 443 без обмежень.
Основні постачальники DoT
Підтримується більшість загальнодоступних резолверів обидва:
- Cloudflare:
1.1.1.1на порту 853 (DoT) — такожcloudflare-dns.comдля DoH - Google:
8.8.8.8на порту 853 — такожdns.google - Quad9:
9.9.9.9на порту 853 — такожdns.quad9.net - AdGuard:
94.140.14.14на порту 853 — багато варіантів для рівнів фільтрації - NextDNS, ControlD, OpenDNS — усі пропонують DoT endpoints
Приватний DNS Android
Найпоширенішим споживачем використання DoT є функція приватного DNS Android (Android 9+). Установіть у «Параметрах» → «Мережа» → «Додатково» → «Приватний DNS» ім’я хоста постачальника (наприклад, 1dot1dot1dot1.cloudflare-dns.com), і всі DNS-запити від пристрою використовують DoT до цього резолвера. Працює через стільниковий зв'язок і Wi-Fi; мережа не може це змінити.
Це одне з найчистіших оновлень конфіденційності, доступних для користувачів Android: єдине налаштування, яке шифрує DNS для кожної програми на пристрої, включно з тими, які не мають власних елементів керування конфіденційністю.
Реальність роботи
Для більшості користувачів вибір DoT проти DoH не має великого значення — обидва забезпечують однаковий захист вмісту (шифрують DNS, запобігають спостереженню на шляху). Відмінності важливі для:
- Користувачі в обмежувальних мережах, де один заблокований, а інший — ні
- Корпоративні середовища, які потребують розрізнення на рівні мережі
- OS-рівень розгортання, де DoT має кращу підтримку
- Використання лише через браузер, де DoH є єдиним практичним варіантом
Зрілий шаблон: DoT для шифрування на рівні ОС на рівні всього пристрою, DoH для зашифрованого DNS для конкретного браузера, обидва працюють із резолвером, який поважає конфіденційність.
Часті запитання
- DoT чи DoH безпечніше?
- Так само безпечно для самого шифрування. Відмінності оперативні. DoT простіше; DoH важче заблокувати. Для більшості користувачів обидва працюють добре.
- Чому Android використовує DoT замість DoH?
- Простота роботи — DoT працює з конфігурацією імені хоста без аналізу URL-адреси чи бібліотек HTTP. Приватний DNS Android був першим розгортанням DoT для споживачів; Підтримка DoH у DNS на рівні ОС з’явилася пізніше.
- Чи може моя мережа блокувати DoT?
- Так — порт 853 призначений для DoT і може бути заблокований, не порушуючи нічого іншого. Багато корпоративних мереж роблять це або для забезпечення внутрішнього використання DNS, або для забезпечення моніторингу. DoH на порту 443 набагато важче заблокувати.
- Чи варто використовувати DoT вдома?
- Корисно, якщо ви хочете зашифрувати DNS на всіх пристроях за допомогою єдиного налаштування. Приватний DNS Android — найпростіший шлях; конфігурація DoT на рівні маршрутизатора охоплює всі пристрої. Перевага полягає в зменшенні того, що ваш провайдер може бачити про ваші домени призначення.
- Чи заважає DoT моєму провайдеру реєструвати мої запити?
- Так, якщо ви використовуєте резолвер не від постачальника послуг Інтернету. Ваш Інтернет-провайдер бачить зашифрований DoT для публічного резолвера (Cloudflare, Quad9) і не може прочитати запити. Загальнодоступний розпізнавач бачить їх із власною політикою журналювання. Довіра переходить від провайдера до розв’язувача.