Релиз DNS-сервера BIND 9.10

После двух лет разработки консорциум ISC представил первый стабильный релиз новой ветки DNS-сервера BIND 9.10. При подготовке новой ветки основное внимание было уделено увеличению производительности работы рекурсивного и авторитотивного сервера, а также развитию средств для диагностики проблем и вывода статистики о работе сервера. Ключевые новшества BIND 9.10.0:

Возможность сохранения предкомпилированного представления файлов с DNS зонами, что позволяет существенно сократить время загрузки зон при запуске сервера, благодаря исключения стадии парсинга зоны. Новая возможность окажется особенно полезной на slave-серверах, для использования предкомпилированного формата для кэшируемых зон следует добавить опцию «masterfile-format map»; В резолвер добавлена и включена по умолчанию функция упреждающего обновления кэша (режим pre-fetch). Если ранее, содержимое прокэшированной записи не обновлялось до истечения её времени жизни, то теперь, если не истёк заданный через директиву prefetch таймаут, запрос прокэшированного элемента приводит к отложенному обновлению данных в кэше, т.е. актуальность элемента в кэше продляется на время TTL относительно последнего запроса. Например, TTL некоторых популярных доменов установлен всего в несколько десятков секунд, что приводило к постоянному выпаданию элементов из кэша, при использовании pre-fetch время жизни записи постоянно сдвигается; Представления (views) теперь могут совместно использовать данные зон, что позволяет избежать дублирвоания информации зоны в нескольких представлениях. Управление производится через опцию «in-view»; Существенно увеличена производительность и масштабируемость механизма Response Policy Zones (RPZ), позволяющего на лету вычислять «репутацию» для DNS-имен через создание специальной децентрализованной DNS-зоны (аналог DNSBL для борьбы с хостами спамеров и мошенников); При обработке EDNS (механизм работы с пакетами, размером более 512 байт) улучшено отслеживание возможностей удалённого сервера при выполнении рекурсивных запросов. Вместо изначальной отправки больших пакетов с последующим уменьшением размера при возникновении ошибок, BIND теперь применяет более эффективный противоположный метод, начинает с мелких пакетов и постепенно увеличивает их размер до возникновения ошибок; Добавлен набор преднастроенных опций для тюнинга производительности крупных серверов, подходящий для систем с большим объёмом памяти. Параметры меняются при сборке с использованием флага «configure --with-tuning=large»; Обеспечена возможность отдачи статистики в форматах XML и JSON. Отдача в JSON осуществляется значительно быстрее, чем XML, но пока не поддерживается на платформе Windows. Поддержка формата XML теперь включена по умолчанию и не требует сборки со специальной опцией. Добавлены новые виды статистики, доступные для систем мониторинга. Например, добавлен вывод статистики работы резолвера, кэша, базы адресов, менеджера задач и отправки. Обеспечено отслеживание счётчиков TCP и UDP запросов для отдельных зон. Обеспечено кэширование XSL-стилей для наглядной интерпретации XML-статистики; 0_1399923237.png0_1399923260.png Поддержка GeoIP для привязки правил доступа к местоположению (например, можно открыть доступ только для IP из определённой страны); BIND теперь по умолчанию принимает запросы по IPv6, без необходимости указания опции listen-on-v6; По умолчанию включена сборка с поддержкой многопоточности, в том числе и на платформе Linux; Добавлена поддержка расширения Source Identity Token (SIT) для защиты от спуфинга; На смену связке dig и sigchase пришла новая утилита диагностики delv (Domain Entity Lookup and Validation). По своим возможностям и методам использования delv во многом напоминает dig, но отличается полноценной встроенной поддержкой DNSSEC и полностью новой кодовой базой; В dig добавлена поддержка опций EDNS client-subnet (dig +subnet) и EDNS Expire (dig +expire); В утилиту named-checkconf добавлена поддержка опции »-px» для вывода содержимого файлов конфигурации со скрытием конфиденциальных данных, что позволяет не заботиться о вырезании приватной информации при прикреплении файла конфигурации к отчёту об проблемах; В утилитах named-checkzone и named-compilezone обеспечена возможность чтения файлов с журналом для вывода текущего состояния динамической зоны без предварительной синхронизации зоны с журналом; Добавлена утилита named-rrchecker для проверки синтаксической корректности отдельных ресурсных записей или для преобразования нового формата записей RR в канонический, поддерживаемый старыми версиями BIND; Добавлена команда «rndc zonestatus» для вывода детальной информации о состоянии определённой зоны, включая данные о конфигурации, времени последней загрузки, серийном номере и времени запланированных событий. Поддержка технологии RRL (Response Rate Limiting), позволяющей ограничить интенсивность отправки ответов DNS-сервером, что даёт администраторам средства для эффективной защиты от вовлечения их сервера в проведение DDoS-атак, в которых DNS сервер используется в роли усилителя трафика. RRL даёт возможность установить лимит на интенсивность отправки ответов в привязке к адресу получателя. Заданные через RRL ограничения действуют только на исходящие запросы и не влияют на входящие. Управление RRL производится через директиву responses-per-second, указываемую в блоке rate-limit и позволяющую задать допустимое число ответов в секунду. Поддержка RRL также была бэкпортирована в ветку 9.9 и вошла в состав выпуска 9.9.4. Почти сразу выпущено первое корректирующее обновление 9.10.0-p1, в котором по горячим следам устранена уязвимость, позволяющая вызвать крах обслуживающего рекурсивные запросы серверного процесса через отправку специально оформленного запроса.

© OpenNet