YOUDNSCrypt encryptedRESOLVERsigned cert

DNSCrypt

10 хв. читанняКонфіденційність

До того, як DNS через HTTPS перетворив зашифрований DNS на мейнстрім, DNSCrypt був єдиним широко розповсюдженим варіантом збереження конфіденційності розпізнавання імен. Він досі поставляється з pfSense, проксі-сервером Pi-hole DoH і кількома дистрибутивами Linux, а варіанти дизайну протоколу — анонімні реле, ротація сертифікатів сервера, відсутність накладних витрат на TLS — роблять його цікавим навіть зараз.

Повний текст статті подано англійською мовою нижче.

DNSCrypt був створений інженером OpenDNS Френком Денісом у 2011 році для шифрування та автентифікації DNS-запитів між клієнтом і резолвером. Звичайний протокол DNS 1983 року взагалі не має автентифікації: запит — це UDP-пакет, і будь-який пристрій на шляху може прочитати його, змінити відповідь або підробити відповідь. DNSCrypt вирішив обидві проблеми за роки до появи DNS через HTTPS.

Протокол в одному абзаці

Клієнт отримує підписаний сертифікат із резолвера, рекламуючи свій короткостроковий відкритий ключ і підтримувані шифри. Потім клієнт шифрує кожен запит за допомогою X25519 + XChaCha20-Poly1305 або XSalsa20-Poly1305 і надсилає його на розпізнавач на порт 443 (або 53 з магічними байтами DNSCrypt). Резолвер розшифровує, шукає відповідь, шифрує відповідь і повертає її. Ефемерний сертифікат часто змінюється, тому компрометація ключа має обмежений вплив.

DNSCrypt проти DoH проти DoT

Усі три шифрують запит. Відмінності є прагматичними:

  • DNSCrypt: користувацький протокол , низькі накладні витрати, підтримує анонімні ретрансляції з коробки, вимагає клієнта, який підтримує DNSCrypt.
  • DNS через TLS (DoT): стандартний TLS на порту 853, прозорий для мереж, але легко блокується, закривши цей порт.
  • DNS через HTTPS (DoH): запити через HTTPS на порт 443, невідрізнити від веб-трафіку, важко заблокувати, не порушуючи роботу Інтернету.

DoH виграв гонку за стандартами, оскільки використовує найбільш активно використовуваний порт в Інтернеті. DNSCrypt зберігається через робочі функції, яких DoH не має, особливо анонімні ретранслятори.

Anonymized DNSCrypt: відокремлення запитуваного від того, що запитувано

Вбивчою функцією є Anonymized DNSCrypt, доданий у 2019 році. Запит є подвійне шифрування: зовнішній рівень для ретранслятора, внутрішній рівень для резольвера. Реле розшифровує зовнішній рівень, бачить лише адресу резолвера (не питання) і пересилає внутрішній зашифрований текст. Резолвер розшифровує внутрішній рівень, бачить питання, але не бачить вихідну IP-адресу клієнта. Поки ретранслятором і резолвером керують різні сторони й вони не вступають у змову, жодна з них окремо не може пов’язати користувача із запитом.

Це така ж властивість конфіденційності, як Apple Oblivious DNS через HTTPS (ODoH), але DNSCrypt надіслав його першим і підтримує значно більший загальнодоступний список ретрансляторів і резолверів, керованих незалежними. волонтерів у всьому світі.

Клієнтський ландшафт

dnscrypt-proxy — це еталонний клієнт — єдиний двійковий файл Go, який працює в Linux, macOS, Windows, OpenBSD і FreeBSD. Він приймає звичайний DNS на локальному хості, пересилає на налаштований резолвер через DNSCrypt або DoH, підтримує фільтрацію, блокування, журналювання запитів і балансування навантаження між резолверами. pfSense і OPNsense надсилаються в комплекті. Pi-hole підтримує DNSCrypt через dnscrypt-proxy як висхідний канал.

На стороні резолвера загальнодоступні резолвери з підтримкою DNSCrypt включають Cisco OpenDNS, NextDNS, Quad9, AdGuard і десятки менших вузлів спільноти. Список, який підтримується, знаходиться в репозиторії dnscrypt-resolvers.

Що не вирішує DNSCrypt

Шифрування DNS не робить ваш перегляд приватним. Місце призначення кожного HTTPS-з’єднання видно в мережі в полі TLS ServerName Indication (SNI), тому Encrypted Client Hello має значення. DNSCrypt також не допомагає проти зловмисного резолвера: якщо ви вказуєте dnscrypt-proxy на резолвер, який реєструє все, резолвер усе ще матиме ваші запити. Протокол просто не дозволяє спостерігачам бачити їх.

Де підходить DNSCrypt 2026

Для більшості користувачів достатньо вбудованого DoH в ОС або браузер. Для людей, які мають власну інфраструктуру — домашні лабораторії, малі підприємства, орієнтовані на конфіденційність маршрутизатори — dnscrypt-proxy залишається найбільш гнучким вибором. Поєднання анонімних ретрансляторів, легкого балансування навантаження та сертифікатів резолвера, які можна перевірити в автономному режимі, важко знайти.

Часті запитання

Чи DNSCrypt кращий за DNS через HTTPS?
Ні те, ні інше не краще. DoH є ширшим стандартом, поставляється в браузерах і витримує блокування портів завдяки роботі на 443. DNSCrypt має менші накладні витрати на протокол, власну підтримку анонімних ретрансляторів і розширеніший довідковий клієнт. Якщо вам потрібен анонімний DNS сьогодні за допомогою однієї зміни конфігурації, DNSCrypt залишається найчистішим шляхом.
Чи використання DNSCrypt уповільнить мій перегляд?
Ледве. Автентифікація додає десятки мікросекунд роботи з шифруванням і одну додаткову зворотну передачу UDP під час першого запиту сеансу. Після кешування сертифіката резолвера запити мають приблизно таку ж затримку, як і звичайний DNS. Анонімний DNSCrypt додає ще один стрибок, який додає кілька мілісекунд.
Чи може мій Інтернет-провайдер усе ще бачити мої DNS-запити за допомогою DNSCrypt?
Ні, не вміст. Вони бачать зашифрований UDP або TCP до IP-адреси резолвера. Вони все ще можуть бачити, з яким розв’язувачем ви спілкуєтесь. Якщо мета полягає в тому, щоб приховати і запити, і вибір резолвера, запустіть DNSCrypt через VPN.
Чи DNSCrypt запобігає викраденню DNS?
Так, для викрадення на шляху — сертифікат резолвера перевіряється клієнтом, тому впроваджені або підроблені відповіді виявляються та видаляються. Це не захищає від ворожого резолвера <em>chosen</em> або викрадення реєстратора домену на авторитетній стороні; перегляньте нашу статтю про викрадення <a href="/learning/dns-hijacking">DNS </a>, щоб отримати повну інформацію про атаку.
DNSCrypt ще розробляється?
так dnscrypt-proxy випускає випуски регулярно, а функцію анонімної передачі протоколу було додано нещодавно у 2019 році. Це вже не єдиний варіант із зашифрованим DNS, але розробники продовжують вдосконалювати його для бази користувачів, яка від нього залежить.
DNSCrypt: оригінальний зашифрований протокол DNS і чому він все ще важливий