Выпуск PowerDNS Authoritative Server 4.1
1 декабря 2017 года
Представлен значительный релиз авторитетного (authoritative) DNS-сервера PowerDNS Authoritative Server 4.1, предназначенного для организации отдачи DNS-зон. По данным разработчиков проекта, PowerDNS Authoritative Server обслуживает примерно 30% из общего числа доменов в Европе (если рассматривать только домены с подписями DNSSEC, то 90%). Код проекта распространяется под лицензией GPLv2.
PowerDNS Authoritative Server предоставляет возможность хранения информации о доменах в различных базах данных, включая MySQL, PostgreSQL, SQLite3, Oracle, и Microsoft SQL Server, а также в LDAP и обычных текстовых файлах в формате BIND. Отдача ответа может быть дополнительно отфильтрована (например, для отсеивания спама) или перенаправлена при помощи подключения собственных обработчиков на языках Lua, Java, Perl, Python, Ruby, C и C++. Из особенностей также выделяются средства для удалённого сбора статистики, в том числе по SNMP или через Web API (для статистики и управления встроен http-сервер), мгновенный перезапуск, встроенный движок для подключения обработчиков на языке Lua, возможность балансировки нагрузки с учётом географического местоположения клиента.
Основные новшества:
- Проведена большая работа по увеличению производительности. Например, в результате переработки системы кэширования скорость выполнения некоторых видов запросов при работе в роли корневого сервера, обслуживающего сотни тысяч доменов, возросла до 4 раз. Кроме того более чем в два раза увеличена скорость генерации пакетов, оптимизирован процесс выделения памяти, расширено кэширование данных с бэкендов, добавлены дополнительные индексы для данных в бэкендах;
- Обеспечен полный набор средств для управления ключами шифрования и настройками DNSSEC через RESTful API. Из достоинств нового API называется возможность управления зонами с DNSSEC без оглядки на особенности DNSSEC;
- Добавлена поддержка механизма быстрого открытия TCP-соединений (TFO - TCP Fast Open, RFC 7413), который позволяет сократить число шагов установки соединения за счёт комбинирования в один запрос первого и второго шагов классического 3-этапного процесса согласования соединения и даёт возможность отправки данных на начальном этапе установки соединения;
- Возможность привязки к нелокальным сетевым адресам ( non-local-bind), например, можно привязать обработчик к отсутствующему на сетевом интерфейсе IP при настройке отказоустойчивых конфигураций;
- Поддержка криптографической библиотеки Botan 2.x и прекращение поддержки Botan 1.10;
- Включена поддержка спецификации PKCS #11 для доступа к криптографическим устройствам и смарткартам (ранее для поддержки PKCS #11 требовалась перекомпиляция);
- Расширено число проблем, выявляемых командой "pdnsutil check-zone";
- Улучшена интеграция с системой ведения логов systemd;
- Изменена логика отслеживания обрывов соединения с СУБД, что позволило снизить задержки на установку повторного соединения. Структуры хранения данных в СУБД переведены на использование 64-разрядных идентификаторов;
- Расширены возможности бэкенда для хранения зон в текстовых файлах в формате BIND (например, добавлена поддержка зон с типом "native"). Улучшен скрипт для миграции зон из BIND в хранилища на базе СУБД;
- Переработан бэкенд для хранения DNS-зон в LDAP;
- Удалена поддержка проброса запросов для резолвинга через рекурсивный DNS-сервер PowerDNS Recursor (опция "recursor="). В качестве причин называется неверная трактовка данной возможности многими администраторами, что часто приводило к непредсказуемым результатам (например, когда запрос заканчивается ссылкой на CNAME). Для двух типовых применений проброса на рекурсивный сервер (использование авторитетного сервера как рекурсивного с несколькими приватными зонами или одновременное использования для резолвинга запросов клиентов и обслуживание общедоступных зон) подготовлена инструкция по решению данных задач другими способами.
Дополнительно можно отметить выход корректирующих выпусков PowerDNS Authoritative Server 4.0.5 и PowerDNS Recursor 4.0.7, в которых устранено несколько уязвимостей и бэкпортирована большая порция исправлений из ветки 4.1.x. В частности, устранены уязвимости, связанные с неверной проверкой доступа к API ( CVE-2017-15091), некорректной валидацией сигнатур DNSSEC ( CVE-2017-15090), межсайтовым скриптингом в web-интерфейсе ( CVE-2017-15092), подстановкой сторонних конфигурационных файлов через API ( CVE-2017-15093) и отказом в обслуживании из-за исчерпания доступной памяти при разборе запросов DNSSEC ( CVE-2017-15094).
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.