Курс администрирования DNS · Урок 7/11

DNS как поверхность атаки

Открытый резолвер на инфраструктуре, которую вы контролируете, может быть незаметно использован в reflection/amplification DDoS-атаке против третьей стороны — вы становитесь невольным участником атаки, и это полностью предотвратимо одной настройкой.

«Раз это авторитативный сервер, открытая рекурсия не проблема». Ошибка: авторитативный сервер, который к тому же отвечает на рекурсивные запросы от произвольных источников, — это ровно тот открытый резолвер, который используют для амплификации. Авторитативная роль и рекурсия должны быть строго разделены.

Лабораторное окружение не обязательно для базовой проверки:

  • NODA (noda.marinadns.io) — Open Recursor Check (CAT-SEC) автоматически определяет, отвечает ли ваш сервер на рекурсивные запросы извне.

Для практической проверки с реальной внешней точки (не localhost) и проверки размера ответа как фактора амплификации — см. Урок 7 на странице Лабораторное окружение курса.

# Проверьте, отвечает ли ВАШ сервер на рекурсивные запросы от произвольных источников (не должен, для авторитативного-only сервера)
dig @your-lab-box-ip google.com A         # с машины, ОТЛИЧНОЙ от самого сервера

# Убедитесь, что рекурсия отключена на авторитативном-only сервере (пример для BIND)
grep -i recursion /etc/bind/named.conf.options    # должно показывать "recursion no;"

# Проверьте, не уязвим ли ваш домен к использованию в качестве усилителя отражения через ANY-запросы
dig yourdomain.com ANY @ns1.yourdnsprovider.com +norecurse

# Базовая проверка размера ответа — больше размер ответа = больше коэффициент усиления при злоупотреблении
dig yourdomain.com ANY +norecurse | wc -c

Если шаг 1 возвращает реальный ответ с машины, не имеющей права запрашивать ваш сервер, — рекурсия открыта и требует немедленного исправления. Это именно та проверка, что стоит за Open Recursor Check в NODA (CAT-SEC).

Вы должны уметь объяснить, не подглядывая:

  • Почему открытый резолвер опасен даже без прямого ущерба вашей инфраструктуре.
  • Разницу между проверкой localhost и проверкой с реальной внешней точки.
  • Статус RFC 5358 (рекомендательный, не MUST/SHALL) применительно к этой теме.

Если можете ответить на всё без подсказок — переходите к Уроку 8.


Попрактикуйтесь с инструментами

← Курс администрирования DNS Лабораторное окружение