Основные новшества:
- Добавлен KASP (Key and Signing Policy), упрощённый способ управления ключами и цифровыми подписями DNSSEC, основанный на задании правил, определённых при помощи директивы «dnssec-policy». Данная директива позволяет настроить генерацию для DNS-зон необходимых новых ключей и автоматическое применение ключей ZSK и KSK.
- Существенно переработана сетевая подсистема, которая переведена на механизм асинхронной обработки запросов, реализованный на основе библиотеки libuv. Переработка пока не привела к видимым изменениям, но в дальнейших выпусках она даст возможность реализовать некоторые существенные оптимизации производительности и добавить поддержку новых протоколов, таких как DNS over TLS.
- Улучшен процесс управления доверительными привязками DNSSEC (Trust anchor, привязанный к зоне открытый ключ для проверки подлинности этой зоны). Вместо настроек trusted-keys и managed-keys, которые теперь объявлены устаревшими, предложена новая директива trust-anchors, позволяющая управлять обоими типами ключей.
При использовании trust-anchors с ключевым словом initial-key, поведение данной директивы идентично managed-keys, т.е. определяет настройку доверительной привязки в соответствии с RFC 5011. При использовании trust-anchors с ключевым словом static-key, поведение соответствует директиве trusted-keys, т.е. определяет постоянный ключ, который не обновляется автоматически. Также в trust-anchors предлагаются ещё два ключевых слова initial-ds и static-ds, позволяющие использовать доверительные привязки в формате DS (Delegation Signer) вместо DNSKEY, который даёт возможность настройки привязок для ещё не опубликованных ключей (в будущем организация IANA планирует использовать формат DS для ключей коревых зон).
- В утилиты dig, mdig и delv добавлена опция «+yaml» для вывода в формате YAML.
- В утилиту dig добавлена опция «+[no]unexpected», разрешающая приём ответов от хостов, отличающихся от сервера, которому был отправлен запрос.
- В утилиту dig добавлена опция «+[no]expandaaaa», при указании которой IPv6-адреса в записях AAAA показываются в полном 128-битном представлении, а не в формате RFC 5952.
- Добавлена возможность переключения групп каналов статистики.
- Записи DS и CDS теперь генерируются только на базе хэшей SHA-256 (генерация на базе SHA-1 прекращена).
- Для DNS Cookie (RFC 7873) по умолчанию задействован алгоритм SipHash 2-4, а поддержка HMAC-SHA прекращена (AES оставлен).
- Вывод команд dnssec-signzone и dnssec-verify теперь направляется в стандартный выходной поток (STDOUT), а в STDERR выводятся только сведения об ошибках и предупреждениях (при указании опции «-f» также выводится подписанная зона). Для приглушения вывода добавлена опция «-q».
- Переработан код валидации DNSSEC, который избавлен от дублирования кода с другими подсистемами.
- Для вывода статистики в формате JSON теперь может использоваться только библиотека JSON-C. Опция configure «—with-libjson» переименована в «—with-json-c».
- В скрипте configure больше не выставляется по умолчанию параметр «—sysconfdir» в /etc, а «—localstatedir» в /var, если не указан параметр «—prefix». По умолчанию теперь используются пути $prefix/etc и $prefix/var, применяемые в Autoconf.
- Удалён код с реализацией сервиса DLV (Domain Look-aside Verification, опция dnssec-lookaside), который был объявлен устаревшим в BIND 9.12, а связанный с ним обработчик dlv.isc.org был выключен в 2017 году. Удаление DLV позволило избавить код BIND от лишних усложнений.
Источник: http://www.opennet.ru/opennews/art.shtml?num=52405