מעלדונג פון 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 אנפאלן און דנס פאַרקער ספּאָאָפינג (למשל ווען קאַנעקטינג צו ציבור Wi-Fi), קאַונטערינג. בלאַקינג אויף די דנס מדרגה (דנס-איבער-הטטפּס קענען נישט פאַרבייַטן אַ וופּן אין בייפּאַסינג בלאַקינג ימפּלאַמענאַד אויף די דפּי מדרגה) אָדער פֿאַר אָרגאַנייזינג אַרבעט ווען עס איז אוממעגלעך צו גלייַך אַקסעס דנס סערווערס (למשל, ווען ארבעטן דורך אַ פראקסי). אויב אין אַ נאָרמאַל סיטואַציע דנס ריקוועס זענען גלייך געשיקט צו דנס סערווערס דיפיינד אין די סיסטעם קאַנפיגיעריישאַן, אין דעם פאַל פון דנס-איבער-הטטפּס די בקשה צו באַשטימען די באַלעבאָס IP אַדרעס איז ענקאַפּסאַלייטיד אין הטטפּס פאַרקער און געשיקט צו די הטטפּ סערווער, ווו דער רעסאָלווער פּראַסעסאַז ריקוועס דורך וועב אַפּי.

"דנס איבער טלס" איז אַנדערש פון "דנס איבער הטטפּס" אין די נוצן פון די סטאַנדאַרט דנס פּראָטאָקאָל (נעץ פּאָרט 853 איז יוזשאַוואַלי געוויינט), אלנגעוויקלט אין אַ ינקריפּטיד קאָמוניקאַציע קאַנאַל אָרגאַניזירט מיט די טלס פּראָטאָקאָל מיט באַלעבאָס גילטיקייַט קאָנטראָלירונג דורך טלס / ססל סערטיפיקאַץ סערטאַפייד דורך אַ סערטאַפאַקיישאַן אויטאָריטעט. די יגזיסטינג 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

לייגן אַ באַמערקונג