Как закрыть DNS Open Resolver

После установки и настройки кэширующего DNS-сервера, если сервер доступен по внешнему (белому) адресу, необходимо проверить, что сервер отвечает только на запросы от доверенных хостов (клиентов). В случае, если сервер отвечает на запросы от всех хостов, то такой сервер называется DNS Open Resolver.

Существует риск, что DNS Open Resolver может быть использован злоумышленниками для проведения различных видов атак:

  • Загрузить сервер случайными DNS-запросами, забивая трафиком канал. Это может привести к отказу в обслуживании (DoS) и недоступности DNS-сервиса для других пользователей.
  • Отправлять на сервер специальные запросы с поддельным IP-адресом источника для организации атаки на третий хост с участием вашего сервера. DNS Open Resolver посылает ответы на этот поддельный адрес, что может привести к большому объему сетевого трафика, направленного на жертву атаки. Такая атака называется DNS Amplification.
  • Подменять ответы вашему серверу ложными данными, которые попадут в кэш (Cache Poisoning). Когда клиентский компьютер обращается к DNS-серверу, который скомпрометирован таким образом, он может получить ложные или вредоносные IP-адреса для доменных имен.

Справка

Кэширующий DNS-сервер – это сервер, который обрабатывает рекурсивные запросы клиентов.

Рекурсивные и итеративные DNS-запросы

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

Как проверить, является ли сервер открытым

Проверить, является ли ваш сервер открытым к рекурсивным запросам, можно по ссылке https://openresolver.com/.

Или командами, которые выполняют запросы к DNS:

dig +short @XXX.XXX.XXX.XXX mysite.ru host mysite.ru XXX.XXX.XXX.XXX nslookup mysite.ru XXX.XXX.XXX.XXX

В качестве XXX.XXX.XXX.XXX укажите IP-адрес проверяемого сервера. В примере имя mysite.ru, вы можете проверить любое.

Если на запрос выдаётся IP-адрес при запросе с любого хоста, то ваш сервер является DNS Open Resolver.

Как отключить или ограничить доступ только доверенными хостами/сетями

  1. Ограничить доступ к порту сервера (udp/53) на периметре сети, либо локально на самом DNS-сервере.
  2. Если сервер должен отвечать только за одну или несколько конкретных зон, то можете отключить рекурсивные запросы добавлением опции “recursion no;” в файл конфигурации named.conf (named.conf.local или другой, в зависимости от настроек).
  3. Разрешить рекурсивные запросы только для доверенных сетей/хостов, пример: allow-recursion { localhost; 10.16.0.0/16; } (10.16.0.0/16 — заменить доверенными адресами).

Для реализации основных услуг и функций нашего сайта, а также для сбора данных о том, как посетители взаимодействуют с нашими сайтом, продуктами и услугами, мы применяем различные инструменты, включая файлы cookie. Нажимая «Принимаю», вы соглашаетесь с текущими правилами и условиями использования сайта и даете разрешение на использование этих данных. В противном случае, пожалуйста, покиньте сайт.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: