Программу DNS следует выбирать по роли и эксплуатационным требованиям, а не искать универсальный «лучший сервер». Авторитетная служба публикует зоны; рекурсивная отвечает клиентам, разрешая и кешируя имена; пересылающий резолвер отправляет запросы другому резолверу. Совмещение ролей меняет поверхность атаки.
DNS · Урок 5
Настройка DNS
Узнайте, как выбирать, защищать, проверять и эксплуатировать авторитетные или рекурсивные службы DNS.
Выбор роли и реализации
- BIND может предоставлять авторитетную и рекурсивную службу с широкой поддержкой стандартов.
- Unbound часто развёртывают как валидирующий рекурсивный резолвер.
- dnsmasq предоставляет лёгкие функции пересылки, кеширования и DHCP для небольших контролируемых сетей.
- PowerDNS предлагает отдельные авторитетный и рекурсивный продукты с несколькими вариантами хранилища данных.
Возможности и состав пакетов меняются, поэтому сверяйтесь с официальной документацией установленной версии. Развёртывайте только необходимую роль и отключайте непредусмотренную рекурсию или обслуживание зон.
Какая роль публикует окончательные записи обслуживаемых ею зон?
Проектирование до установки
Определите зоны, клиентов, объём запросов, механизм обновления, потребность в DNSSEC, журналирование, мониторинг, резервные копии и восстановление. Авторитетным зонам нужны резервные серверы и правильно зарегистрированные делегирования. Рекурсивной службе нужны явный контроль доступа клиентов, политика кеша, доступность вышестоящих серверов или итеративных запросов и защита от злоупотреблений.
Никогда не открывайте неограниченную рекурсию в Интернет. Открытые резолверы могут использоваться для атак отражения и расходовать локальные ресурсы.
Почему рекурсивные запросы следует разрешать только авторизованным клиентам?
Проверка конфигурации и данных зоны
До перезагрузки используйте средства реализации для проверки синтаксиса и зон. Для BIND типичны такие примеры:
$ named-checkconf
$ named-checkzone example.com /etc/bind/zones/db.example.com
Запускайте их с подходящими для хоста правами и путями. Успешный разбор не доказывает исправность делегирования, распространение serial, цепочку DNSSEC, доступность через межсетевой экран или правильность ответов, поэтому затем выполните контролируемые запросы.
Чего не доказывает успешная проверка синтаксиса зоны?
Безопасное применение и тестирование
Сохраните текущую конфигурацию и доступ для восстановления, выполните проверку, а затем по возможности перечитайте конфигурацию без перезапуска службы. Напрямую запросите каждый авторитетный сервер с отключённой рекурсией и сравните serial SOA, набор NS, существующие записи, несуществующие имена и поведение UDP и TCP:
$ dig @192.0.2.53 example.com SOA +norecurse
$ dig @192.0.2.53 missing.example.com A +norecurse
$ dig @192.0.2.53 example.com SOA +norecurse +tcp
Для рекурсии проверьте разрешённые и запрещённые клиентские сети, валидацию DNSSEC, поведение кеша и отказ вышестоящих зависимостей.
Зачем запрашивать авторитетный сервер с +norecurse?
Эксплуатация службы
Отслеживайте ошибки запросов, задержку, поведение кеша, использование ресурсов, передачи зон, согласованность serial, истечение DNSSEC и состояние делегирования. Надёжно сохраняйте исходную конфигурацию и материалы подписи, но также проверяйте, что новый экземпляр может загрузить зоны и выдавать правильные ответы. Обновляйте поддерживаемые версии и ограничивайте доступ к управляющим интерфейсам, динамическим обновлениям и передаче зон.
Что должна включать проверка отказоустойчивости авторитетного DNS?
Урок завершён
Вы завершили Настройка DNS
Теперь вы можете проектировать развёртывание DNS вокруг явно заданной авторитетной или рекурсивной роли.
Выбирать программу только после определения нужной роли.
Ограничивать рекурсию и административные интерфейсы.
Проверять конфигурацию и зоны до их перезагрузки.
Напрямую тестировать авторитетность, отрицательные ответы, транспорт и клиентскую политику.
Контролировать резервирование, DNSSEC, согласованность данных и восстановление.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт