Нашри BIND DNS Server 9.18.0 бо дастгирии DNS-over-TLS ва DNS-over-HTTPS

После двух лет разработки консорциум ISC представил первый стабильный релиз новой значительной ветки DNS-сервера BIND 9.18. Поддержка ветки 9.18 будет осуществляться в течение трёх лет до 2 квартала 2025 года в рамках расширенного цикла сопровождения. Поддержка ветки 9.11 прекратится в марте, а ветки 9.16 в середине 2023 года. Для развития функциональности следующей стабильной версии BIND сформирована экспериментальная ветка BIND 9.19.0.

Выпуск BIND 9.18.0 примечателен реализацией поддержки технологий «DNS поверх HTTPS» (DoH, DNS over HTTPS) и DNS поверх TLS (DoT, DNS over TLS), а также механизма XoT (XFR-over-TLS) для безопасной передачи содержимого DNS-зон между серверами (поддерживается как отдача, так и приём зон по XoT). При соответствующих настройках один процесс named теперь может обслуживать не только традиционные DNS-запросы, но и запросы, отправленные с использованием DNS-over-HTTPS и DNS-over-TLS. Клиентская поддержка DNS-over-TLS встроена в утилиту dig, которая может использоваться для отправки запросов поверх TLS при указании флага «+tls».

Реализация протокола HTTP/2, используемого в DoH, основана на применении библиотеки nghttp2, которая включена в число необязательных сборочных зависимостей. Сертификаты для DoH и DoT могут предоставляться пользователем или генерироваться автоматически во время запуска.

Обработка запросов с использованием DoH и DoT включается через добавление опций «http» и «tls» в директиве listen-on. Для поддержки незашифрованного DNS-over-HTTP в настройках следует указать «tls none». Ключи определяются в секции «tls». Стандартные сетевые порты 853 для DoT, 443 для DoH и 80 для DNS-over-HTTP могут быть переопределены через параметры tls-port, https-port и http-port. Например:

tls local-tls { key-file «/path/to/priv_key.pem»; cert-file «/path/to/cert_chain.pem»; }; http local-http-server { endpoints { «/dns-query»; }; }; options { https-port 443; listen-on port 443 tls local-tls http myserver {any;}; }

Из особенностей реализации DoH в BIND отмечается возможность выноса операций шифрования для TLS на другой сервер, что может понадобиться в условиях, когда хранение TLS-сертификатов осуществляется на другой системе (например, в инфраструктуре с web-серверами) и обслуживается другим персоналом. Поддержка незашифрованного DNS-over-HTTP реализована для упрощения отладки и как уровень для проброса на другой сервер во внутренней сети (для выноса шифрования на отдельный сервер). На выносном сервере для формирования TLS-трафика может использоваться nginx, по аналогии с тем, как организуется обвязка HTTPS для сайтов.

Другой особенностью является интеграция DoH в качестве общего транспорта, который может применяться не только для обработки запросов клиентов к резолверу, но и при обмене данными между серверами, при передаче зон авторитетным DNS-сервером и при обработке любых запросов, поддерживаемых другими транспортами DNS.

Из недостатков, которые можно будет компенсировать отключением сборки с DoH/DoT или выносом шифрования на другой сервер, выделяется общее усложнение кодовой базы — в состав добавляется встроенный HTTP-сервер и TLS-библиотека, которые потенциально могут содержать уязвимости и выступать дополнительными векторами для атак. Также при использовании DoH увеличивается трафик.

Ёдовар мешавем, ки DNS-over-HTTPS метавонад барои пешгирии ихроҷи маълумот дар бораи номҳои хостҳои дархостшуда тавассути серверҳои DNS-и провайдерҳо, мубориза бар зидди ҳамлаҳои MITM ва қаллобии трафики DNS (масалан, ҳангоми пайвастшавӣ ба Wi-Fi ҷамъиятӣ), муқовимат муфид бошад. басташавӣ дар сатҳи DNS (DNS-over-HTTPS наметавонад VPN-ро дар гузаштан бастани дар сатҳи DPI иҷрошуда иваз кунад) ё барои ташкили кор, вақте ки дастрасии мустақим ба серверҳои DNS ғайриимкон аст (масалан, ҳангоми кор тавассути прокси). Агар дар ҳолати муқаррарӣ дархостҳои DNS мустақиман ба серверҳои DNS, ки дар конфигуратсияи система муайян шудаанд, фиристода шаванд, пас дар ҳолати DNS-over-HTTPS дархост барои муайян кардани суроғаи IP-и мизбон дар трафики HTTPS фаро гирифта мешавад ва ба сервери HTTP фиристода мешавад. ҳалкунанда дархостҳоро тавассути Web API коркард мекунад.

"DNS бар TLS" аз "DNS бар HTTPS" дар истифодаи протоколи стандартии DNS (порти шабакавӣ 853 одатан истифода мешавад) фарқ мекунад, ки дар канали иртиботи рамзгузоришуда бо истифода аз протоколи TLS ташкил карда шудааст ва санҷиши эътибори мизбон тавассути сертификатҳои TLS/SSL тасдиқ карда шудааст. аз ҷониби мақомоти сертификатсия. Стандарти мавҷудаи DNSSEC рамзгузориро танҳо барои тасдиқи аутентификатсияи муштарӣ ва сервер истифода мебарад, аммо трафикро аз боздошт муҳофизат намекунад ва махфияти дархостҳоро кафолат намедиҳад.

Некоторые другие новшества:

  • Добавлены настройки tcp-receive-buffer, tcp-send-buffer, udp-receive-buffer и udp-send-buffer для задания размеров буферов, используемых при отправке и приёме запросов по TCP и UDP. На нагруженных серверах увеличение входящих буферов позволит избежать отбрасывания пакетов в момент пиков трафика, а уменьшение — поможет избавиться от засорения памяти старыми запросами.
  • Добавлена новая категория логов «rpz-passthru», позволяющая отдельно журналировать действия проброса RPZ (Response Policy Zones).
  • В секции response-policy добавлена опция «nsdname-wait-recurse», при установке которой в значение «no» правила RPZ NSDNAME применяются только если для запроса найдены присутствующие в кэше авторитетные серверы имён, иначе правило RPZ NSDNAME игнорируется, но информация извлекается в фоне и применяется к последующим запросам.
  • Для записей с типами HTTPS и SVCB реализована обработка секции «ADDITIONAL».
  • Добавлены настраиваемые типы правил update-policy — krb5-subdomain-self-rhs и ms-subdomain-self-rhs, позволяющие ограничить обновление записей SRV и PTR. В блоках update-policy также добавлена возможность установки ограничений числа записей, отдельных для каждого типа.
  • В вывод утилиты dig добавлены сведения о транспортном протоколе (UDP, TCP, TLS, HTTPS) и префиксах DNS64. Для отладочных целей в dig добавлена возможность указания конкретного идентификатора запроса (dig +qid=<num>).
  • Добавлена поддержка библиотеки OpenSSL 3.0.
  • Для решения проблем с IP-фрагментацией при обработке DNS-сообщений большого размера, обозначенных инициативой DNS Flag Day 2020, из резолвера удалён код, выполняющий корректировку размера буфера EDNS в случае отсутствия ответа на запрос. Размер буфера EDNS теперь устанавливается постоянным (edns-udp-size) для всех исходящих запросов.
  • Система сборки переведена на использование связки из autoconf, automake и libtool.
  • Прекращена поддержка файлов зон в формате «map» (masterfile-format map). Пользователям данного формата рекомендовано преобразовать зоны в формат raw при помощи утилиты named-compilezone.
  • Прекращена поддержка старых драйверов DLZ (Dynamically Loadable Zones), на смену которым пришли модули DLZ.
  • Прекращена поддержка сборки и запуска для платформы Windows. Последней веткой, которую можно установить в Windows, остаётся BIND 9.16.

Манбаъ: opennet.ru

Илова Эзоҳ