Кратко

  • RFC 9567 позволяет авторитетному ответу без предварительного запроса объявить домен агента в EDNS Report-Channel. Поддерживающий механизм валидирующий резолвер затем превращает собственное наблюдение Extended DNS Error в отдельный TXT-запрос; исходный ответ от этого не исправляется.
  • Сквозной аутентификации между сообщающим резолвером и агентом нет. TCP или DNS Cookies повышают уверенность в адресе источника, но не в диагнозе; кэш, предел имени и независимая проверка продолжают определять ценность сигнала.

В одной копии зоны истекает RRSIG. Авторитетный сервер продолжает получать вопросы и отправлять RRset, поэтому его показатели могут выглядеть здоровыми. Отказ возникает позже: валидирующий резолвер проверяет цепочку и не принимает данные. Тот, кто первым устанавливает ошибку, не обладает правом исправить зону.

RFC 9567 создаёт для такого знания небольшой обратный маршрут. В авторитетном ответе может находиться EDNS-опция 18, Report-Channel, с полным доменным именем агента. Опция не запрашивается клиентом и никогда не должна присутствовать в вопросе. Сервер выбирает адрес для обратной связи, а не обязанность резолвера сообщать.

Если резолвер реализует и включает функцию, а сбой получает код Extended DNS Error, появляется новая DNS-транзакция. Ошибка EDE 7 для типа A имени broken.test может превратиться в _er.1.broken.test.7._er.a01.agent-domain.example. Запрашивается TXT, но имя уже содержит исходный тип, сбойное имя и диагностический код.

Отчёт не дописывается к отвергнутому ответу и не меняет его RCODE. Это обычное разрешение нового имени под другой авторитетной зоной. RFC 9567 не определяет смысл TXT RDATA. Положительный ответ закрывает запрос и даёт TTL, которым кэш сдерживает повторения.

Адрес обратной связи не передаёт власть над диагнозом

Оператор исходного авторитетного сервера выбирает домен агента. Резолвер валидирует, выбирает EDE и применяет свою политику сообщений. Агент принимает, оценивает происхождение и объединяет наблюдения. Владелец зоны санкционирует изменение. Общая грамматика не превращает эти роли в один центр управления.

Реестр параметров DNS IANA подтверждает, что код 18 означает Report-Channel, а _er зарегистрирован для TXT. Регистрация доказывает уникальность синтаксиса, но не реализацию, включение, доставку или правдивость.

EDE тоже остаётся ограниченным свидетельством. RFC 8914 не меняет обработку RCODE, а добавляет пояснение. RFC 9567 не решает за все системы, что считать ошибкой, и не требует поддержки каждого кода. Агент получает утверждение конкретного процесса: этот резолвер присвоил такой код данному имени и типу.

Правила валидации DNSSEC часто позволяют независимо воспроизвести истёкшую подпись или разрыв DS/DNSKEY. Но устаревший локальный якорь доверия может создать ошибку на стороне самого резолвера. Поэтому агенту сначала нужна чистая повторная проверка, а не немедленное изменение зоны.

Инцидент помещается в QNAME не всегда

Имя отчёта состоит из _er, десятичного QTYPE, меток сбойного имени, десятичного кода EDE, второго _er и домена агента. DNS-класс и обычный RCODE не передаются. Первая метка показывает, что агент получил полный отчёт, а не префикс, открытый при минимизации имени; вторая отделяет событие от адреса.

Если собранный QNAME длиннее 255 октетов, отправлять его нельзя. Резолвер также обязан ограничить глубину или расходы, потому что разрешение домена агента само может завершиться ошибкой и породить новый отчёт. Пропустить одно наблюдение безопаснее, чем запустить бесконечную рекурсию.

Домен агента нельзя размещать внутри наблюдаемого домена: исходный сбой тогда нарушит собственный обратный путь. Короткое имя агента оставляет больше места длинному исходному имени. Размещение — это граница отказоустойчивости.

Достижимый адрес не удостоверяет содержание

RFC 9567 не аутентифицирует резолвер перед агентом. Источник UDP можно подделать, а реальный источник может ошибаться. Резолверу следует использовать DNS Cookies, DNS поверх TCP или другой транспорт с соединением. Получив UDP без Cookie, агенту следует вернуть TC и потребовать повтор по TCP.

Эти меры дают более сильное свидетельство, что кто-то доступен по указанному адресу. Они не подтверждают организацию, клиента, состояние якорей или точность EDE. Известный адрес можно поставить выше в очереди, но нельзя наделить правом изменять производственную зону.

Автоматизация должна идти ступенями. UDP без Cookie создаёт наблюдение. Cookie или TCP повышают класс происхождения. Совпадающие сигналы независимых резолверов и чистое воспроизведение создают инцидент. Для изменения зоны всё ещё нужны владелец и возможность отката.

Кэш снижает нагрузку и скрывает частоту

Агенту рекомендуется давать положительный TXT-ответ. TTL не позволяет одному резолверу сообщать об одном и том же после каждого пользовательского вопроса. Благодаря этому механизм остаётся лёгким, но число полученных запросов перестаёт быть числом пользователей или отказов.

NXDOMAIN может подавить гораздо больше. RFC 8020 распространяет отсутствие на нижние имена, а RFC 2308 сохраняет отрицательный ответ. Одна ошибка агента способна закрыть разные отчёты. Поэтому для наблюдаемых имён нельзя отвечать NXDOMAIN; положительная wildcard-запись — один из вариантов.

Если зона агента подписана, RFC 8198 позволяет локально синтезировать отрицательные ответы из уже проверенных NSEC или NSEC3. Позднейшие запросы не достигнут агента. RFC 9567 упоминает неподписанный домен агента как способ избежать этой особой нагрузки, но сохраняет обычную валидацию: действительно подписанный домен жертвы нельзя считать небезопасным по предположению.

Поэтому тишина неоднозначна. Исправление, действующий TTL, отрицательный синтез, недоступный агент, отключённая поддержка и фильтр злоупотреблений выглядят одинаково. Восстановление доказывает новая успешная валидация с независимой точки.

Обратный маршрут можно направить на жертву

QNAME раскрывает агенту имя, тип и код ошибки, а иногда и локальную проблему вроде старого якоря. Минимизация уменьшает раскрытие промежуточным авторитетам, но не конечному агенту.

Злоумышленник может намеренно опубликовать сломанную зону и указать домен жертвы как агент. Открытые резолверы и распределённые измерители начнут слать туда дополнительный трафик. Поток ложных отчётов способен скрыть настоящий отказ. Нужны ограничения скорости, классы происхождения, проверка связи между зоной и агентом и внешняя валидация.

TXT-данные ответа тоже не являются доверенным вводом. Стандарт не задаёт их смысл, поэтому агент может возвращать фиксированное значение и разбирать только ожидаемые метки QNAME. Произвольный текст в журнале должен считаться враждебным. Сам отчёт находится в вопросе, а не в удалённой инструкции.

Различия Хэн Лу между работающим кодом, минимальной спецификацией и локальным решением и слоями реальности удерживают цепочку от упрощения. Стандарт задаёт грамматику. Авторитет объявляет. Резолвер наблюдает. Сеть доставляет. Агент взвешивает. Оператор исправляет. Пользователь снова валидирует — или нет.

Аудит должен отдельно хранить исходный ответ, состояние DNSSEC, объявленный домен, собранное имя отчёта, причину отказа, транспорт, Cookie, TTL, независимое воспроизведение, изменение и результат после него. Новый вопрос полезен именно потому, что не выдаёт себя за окончательный приговор.