Кратко
- RPZ доставляет триггеры и предлагаемые действия как DNS-зону. Аутентифицированный перенос доказывает источник и версию, но не точность записи и не полномочие применить последствие ко всем клиентам.
- Подписчик выбирает порядок зон, override, PASSTHRU, область клиентов, DNSSEC, TTL, кэш и EDE. Именно оператор рекурсора публикует изменённый ответ и отвечает за время его отмены.
Ложное срабатывание удалили у поставщика через пять минут. Вторичный сервер получил IXFR ещё через минуту. Однако часть пользователей продолжала видеть NXDOMAIN. Один пакетный кэш не был очищен, а нижестоящий форвардер хранил отрицательный ответ до конца TTL. С точки зрения фида ошибка уже исчезла; с точки зрения клиента она всё ещё была действующей политикой.
Этот гипотетический случай показывает, почему serial недостаточен. Доставка правила, его локальное исполнение и прекращение наблюдаемого эффекта происходят в разное время и принадлежат разным владельцам.
Текущая документация BIND 9 описывает Response Policy Zone как открытый, независимый от поставщика формат правил DNS-фильтра: триггеры и действия кодируются в зоне и распространяются обычными DNS-механизмами. Unbound и PowerDNS Recursor реализуют ту же модель с собственными настройками.
Формальный статус скромнее. draft-vixie-dnsop-dns-rpz-00 — просроченный индивидуальный Internet-Draft, не RFC и не одобренный стандарт IETF. История Datatracker фиксирует состояние dormant с июля 2020 года. Документ полезен как описание общего языка, но не как вымышленный действующий стандарт.
В нём хорошо видна граница полномочий. Производитель передаёт данные политики. Конфигурация рекурсивного сервера подписчика превращает их в локальную плоскость управления. TSIG способен удостоверить сторону переноса и защитить содержимое в пути. Он не подтверждает, что домен вредоносен, действие соразмерно, а клиент согласен.
RPZ использует пять семейств триггеров: адрес клиента, QNAME, адрес из исходного ответа, имя авторитетного сервера и его адрес. Они срабатывают на разных этапах. NSDNAME и NSIP могут захватить множество независимых доменов на общей DNS-инфраструктуре. BIND отдельно предупреждает о широком радиусе такого решения.
Шесть действий создают разные факты. NXDOMAIN утверждает отсутствие имени. NODATA оставляет имя, но возвращает пустой набор нужного типа. DROP молчит. TCP-only требует повторить запрос по TCP. Local Data подставляет локальную запись. PASSTHRU делает исключение. Слово «блокировка» скрывает последствия для приложений, кэша и диагностики.
Справочник BIND сначала выбирает более раннюю зону в response-policy, затем учитывает тип триггера и специфичность. Unbound тоже применяет зоны в заданном порядке; PASSTHRU считается совпадением и останавливает последующие зоны. Поэтому BIND рекомендует ставить внутреннюю RPZ первой, чтобы локальные исключения партнёров имели приоритет над будущими внешними правилами.
Подписчик может заменить действия всей зоны. В BIND доступны NXDOMAIN, NODATA, DROP, TCP-only, PASSTHRU и локальный CNAME. Unbound сохраняет внешние триггеры, но может направить все совпадения на собственный адрес. PowerDNS предлагает Custom, Drop, NXDOMAIN, NODATA, Truncate и NoAction. Итог не обязан совпадать с тем, что написал поставщик.
Режим наблюдения также неодинаков. В Unbound disabled журналирует, не считается действительным совпадением и пропускает проверку дальше; PASSTHRU считается совпадением и закрывает путь последующим зонам. У BIND собственная семантика DISABLED. Без проверки работающего ответа безопасный тест легко перепутать с действующим исключением.
PowerDNS документирует изменения порядка оценки между версиями и компромиссы производительности и приватности. Client IP, QNAME, NSDNAME, NSIP и адрес ответа проверяются на разных стадиях. Одинаковые файлы на разных версиях могут выбрать разные правила. Версия исполняемого кода — часть доказательства.
DNSSEC не передаёт подпись локальной подмене. Черновик RPZ технически называет модифицированный результат намеренно неправдивым относительно авторитетных данных. По умолчанию BIND избегает RPZ, если клиент запросил DNSSEC и исходная зона содержит подписи. break-dnssec yes разрешает переписать ответ, который после этого не проверяется.
RFC 4035 относит к Bogus набор, для которого ожидалась цепочка доверия, но валидация не удалась из-за атаки, ошибки конфигурации или порчи. Он также подчёркивает местную политику рекурсивного сервера. DNSSEC подтверждает авторитетные RRset, а не синтетический NXDOMAIN подписчика. TSIG подтверждает другой слой — доставку RPZ.
Временная власть определяется отрицательным кэшем. RFC 2308 задаёт хранение NXDOMAIN и NODATA с TTL и разными ключами повторного использования. BIND локально ограничивает TTL изменённой записи. PowerDNS управляет синтетическим TTL и очисткой кэша. Отзыв, получение IXFR, инвалидация пакетного кэша и истечение нижестоящего кэша — четыре разных срока.
RFC 8914 позволяет точнее назвать источник решения. EDE 15 Blocked означает внутреннюю политику безопасности оператора, 16 Censored — внешнее требование, 17 Filtered — фильтрацию по запросу клиента, 18 Prohibited — неавторизованного клиента. BIND и PowerDNS могут добавлять EDE при совпадении RPZ.
Но EDE — диагностика, а не разрешение. Он не меняет обработку RCODE, может быть неаутентифицирован и способен раскрыть наличие имени в списке. Полезная запись соединяет EDE с serial, локальным именем политики, выигравшим триггером, действием, группой клиентов и TTL.
Просроченный черновик требует минимизировать задержку не только добавления угроз, но и удаления ошибочной или устаревшей политики. PowerDNS умеет сохранять последнюю успешно принятую зону и загружать её как seed перед IXFR. BIND позволяет ждать готовности RPZ или отвечать с теми зонами, которые загрузились. Максимальный возраст, частичная загрузка и rollback остаются локальными решениями.
Различия Heng Lu между работающим кодом, минимальной общей спецификацией и локализованным будущим решением и слоями реальности здесь практичны. Формат переносит кандидата. Конфигурация принимает решение. Наблюдаемый ответ показывает действительность.
Аудит связывает издателя, serial, аутентификацию переноса, локальный допуск, порядок, override, выигравшее правило, действие, TTL и EDE с пробой из каждой группы клиентов и сравнением с нефильтрованным авторитетным ответом. Подлинность фида — лишь первый факт. Последний факт — когда его последствие действительно прекратилось.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
