Назад | Перейти на главную страницу

Серый список DNS и длинные интервалы повтора - стандартные методы?

Интернет-провайдер моей компании внедрил то, что я называю «серым списком» DNS (или у них есть проблема с конфигурацией) - они блокируют входящие DNS-запросы между парами [IP-адрес преобразователя, IP-адрес сервера], которые не пытались выполнить запрос за последние 60 секунд. Таким образом, если первый запрос завершился неудачно, последующие запросы будут успешными, если с момента предыдущей попытки прошло менее 60 секунд. Я предполагаю, что это сделано для того, чтобы скрыть хосты от сканирования, при условии, что законный преобразователь попытается повторить запрос. Они могут даже блокировать все UDP-пакеты для борьбы со сканированием портов, но я еще не нашел способа проверить это.

Оказывается, что устройства Cisco IronPort обычно имеют интервал повтора более 60 секунд. (15 секунд, чтобы попробовать каждый вторичный DNS-сервер, затем 60 секунд, прежде чем повторить попытку первичного) Моя компания не может получать электронную почту от большинства организаций с устройствами IronPort.

Мне кажется, что по крайней мере одно из этих действий неправильно. Итак, мои вопросы:

1) Каковы рекомендуемые интервалы повторов для распознавателей DNS? Можете ли вы сослаться на RFC или другой источник, или это де-факто отраслевой стандарт?

2) Является ли DNS или UDP «серым списком» стандартной практикой? Ссылки?

РЕДАКТИРОВАТЬ - Некоторые дополнительные подробности фона:

Затронуты оба DNS-сервера моей компании, а также основной сервер имен нашего интернет-провайдера. Их вторичные серверы имен, которые фактически находятся за пределами их сети, и серверы имен в восходящем направлении от любых затронутых хостов не затрагиваются. У нас также есть второй интернет-провайдер, и запросы DNS, поступающие по этому маршруту, не блокируются. Трассировка пакетов на внешнем брандмауэре показывает, что мы отвечаем на все полученные DNS-запросы - отброшенные запросы не доставляются в наши сети. Моя главная цель, задавая этот вопрос, - иметь документ стандартов, показывающий нашему интернет-провайдеру (или, что менее вероятно, Cisco), что их поведение нарушено и его необходимо исправить.

DNS-серверы делятся на несколько разных групп:

  • Авторитетный сервер
  • Общественный рекурсор
  • Непубличный рекурсор

Ни в одном из этих случаев не имеет смысла пытаться скрыть их существование. Авторитетные DNS-серверы должны быть общедоступными, чтобы выполнять задачу, для которой они изначально были настроены. Публичный рекурсор бессмысленен, если вы пытаетесь скрыть его существование. И если вы запустите рекурсор, который не должен быть общедоступным, то вместо того, чтобы пытаться скрыть его, просто заблокируйте запросы к нему с неавторизованного IP-адреса клиента.

Судя по вашему вопросу, DNS-сервер, о котором вы спрашиваете, является авторитетным для вашей зоны. Итак, я предполагаю, что это авторитетный DNS-сервер.

И авторитетные DNS-серверы, и общедоступные рекурсоры получают запросы с произвольных клиентских IP-адресов, а это означает, что они потенциально могут быть использованы в атаках с усилением.

К сожалению, протокол DNS не обеспечивает хорошей защиты от таких атак. Описанное вами поведение может быть очень плохой попыткой защиты от таких атак.

Есть способы, которыми DNS-сервер может защитить от атак с усилением, не оказывая такого сильного воздействия, как то, что вы описываете.

  • Не применяйте контрмеры, когда не происходит атаки. Вместо этого ищите ответы об ошибках ICMP, которые может вызвать атака, и применяйте контрмеры при обнаружении возможной атаки.
  • Не отбрасывайте запросы, вместо этого отправьте ответ без раздела ответов и установите усеченный бит. Это заставит любой правильный DNS-клиент повторить попытку использования TCP.
  • Поскольку TCP более устойчив к спуфингу, ответы можно отправлять, не беспокоясь об атаках усиления.
  • Запомните IP-адреса, которые были успешно опрошены по TCP. В будущем им можно будет разрешить запросы по UDP.

То, что я описываю здесь, не является официальной передовой практикой, это, насколько мне известно, лучшее, что вы можете сделать для защиты от атак усиления с помощью протокола DNS, как он выглядит сегодня. Мне не известно о какой-либо реальной реализации этого подхода.