DNS over HTTPS (DoH)

DNS over HTTPS (DoH) — спосіб надсилати DNS-запити зашифрованими всередині HTTPS, щоб їх не бачили сторонні вузли мережі.

Оновлено · Редакція Prokso

Перш ніж відкрити сайт, програма питає DNS, яка IP-адреса стоїть за доменом. Звичайний DNS-запит іде відкритим текстом, тому його бачить провайдер і будь-хто на шляху. DNS over HTTPS загортає такий запит у HTTPS-з'єднання з DNS-сервером, і зовні він виглядає як звичайний вебтрафік.

Є схожий спосіб — DNS over TLS (DoT). Він теж шифрує запити, але використовує окремий порт 853, тому його легше помітити і відфільтрувати в мережі. DoH працює через порт 443, як і більшість сайтів.

З проксі DoH пов'язаний через витік DNS. Це ситуація, коли сторінки йдуть через проксі, а запити імен — напряму через вашого провайдера. Тоді DNS-сервер бачить, які сайти ви відкриваєте і з якої мережі.

Де саме визначається ім'я, залежить від типу проксі. Для HTTPS через HTTP CONNECT клієнт передає проксі ім'я хоста, і адресу шукає вже проксі. У SOCKS5 є два варіанти: клієнт може сам знайти IP і передати його, або передати ім'я, щоб його визначив проксі. У curl це різниця між socks5:// і socks5h://: з літерою h ім'я визначає проксі.

Різниця має практичне значення. Якщо ім'я визначає ваш комп'ютер, запит до DNS іде з вашої мережі, а програма може отримати адресу сервера, підібрану для вашого регіону. Якщо ім'я визначає проксі, DNS бачить мережу проксі, а адреса сервера підбирається під країну виходу. Для роботи через проксі другий варіант зазвичай логічніший, бо всі дані про з'єднання тоді йдуть з одного місця. До того ж ваш провайдер не бачить, які домени ви відкриваєте.

У браузерах DoH вмикається в налаштуваннях безпеки, пункт зазвичай називається «Безпечний DNS» або «Використовувати захищений DNS». Майте на увазі: при роботі через проксі браузер може поводитися з DoH по-різному, залежно від версії та налаштувань. Тому після змін перевіряйте результат, а не покладайтеся на назву опції.

Простий порядок дій такий. Налаштуйте проксі, для SOCKS5 оберіть режим, у якому імена визначає проксі, а потім відкрийте будь-який сервіс перевірки витоку DNS. Приклади команд для різних протоколів є в інструкції curl.

Питання й відповіді

Чи захищає DoH від витоку DNS при роботі через проксі?

Він шифрує запити, але вони можуть іти повз проксі. Надійніше, щоб імена визначав сам проксі: для HTTP CONNECT це відбувається автоматично, для SOCKS5 потрібен відповідний режим клієнта, наприклад socks5h у curl.

Чим DoH відрізняється від DoT?

Обидва шифрують DNS-запити. DoH іде через HTTPS на порту 443 і схожий на звичайний вебтрафік, DoT використовує окремий порт 853.

Резидентські $1.59, мобільні $2.50, серверні $0.65 за 1 ГБ

Реєстрація за хвилину, доступи одразу після оплати.

Створити акаунт