Как провести DNS-аудит для выявления и устранения уязвимостей безопасности
Что такое DNS-аудит и почему это важно
Система доменных имен (DNS) является основополагающей основой Интернета, переводя считываемые человеком доменные имена в IP-адреса, которые машины используют для связи. Несмотря на свою критическую роль, DNS часто упускается из виду в оценках безопасности, оставляя веб-сайты и сети уязвимыми для целого ряда атак, включая спуфинг, отравление кэшем и усиление распределенного отказа в обслуживании (DDoS). DNS-аудит систематически проверяет записи DNS вашего домена, файлы зоны и конфигурации провайдеров, чтобы выявить неверные конфигурации, устаревшие записи и пробелы в безопасности. Выполнение регулярного аудита не является одноразовой задачей; это важная дисциплина для любой организации, которая ценит время безотказной работы, доставку электронной почты и доверие.
Без аудита вы можете неосознанно разоблачать свою инфраструктуру. Например, незащищенная запись MX может позволить злоумышленникам подделать электронную почту из вашего домена, нанести ущерб вашей репутации и включить фишинговые кампании. Устаревшая запись A, указывающая на выведенный из эксплуатации сервер, может быть захвачена и использована для размещения вредоносного ПО. Отсутствующая политика DMARC означает, что любой может подделать вашу электронную почту. Каждый из этих сценариев можно предотвратить с помощью тщательного аудита DNS с последующим корректирующим действием. Процесс не требует специального оборудования - только базовое понимание типов записей DNS, несколько надежных инструментов и методический подход.
Анатомия DNS-аудита: что вы действительно проверяете
Полный аудит DNS выходит за рамки простого перечисления записей. Он проверяет правильность (записи указывают на предполагаемые цели), полноту (отсутствующие записи безопасности), согласованность (нет противоречивых данных на авторитетных серверах имен) и упрочнение (использование современных расширений безопасности). Вы будете изучать каждый тип записи и окружающую инфраструктуру — серверы имен, клейовые записи, TTL и статус блокировки регистратора.
Рекордные типы, требующие внимания
Каждая зона DNS содержит по крайней мере несколько типов стандартных записей.
- A и AAAA записи — Эти карты вашего домена на IPv4 и IPv6 адреса. Убедитесь, что они указывают на текущие, активные серверы, а не на заброшенные IP-адреса, которые вы больше не контролируете. Старая запись A может использоваться злоумышленниками для претензии на ваш домен через обратный поиск IP.
- MX-записи — Они обрабатывают маршрутизацию электронной почты. Неправильная настройка MX-записей может привести к доставке почты на неправильные серверы или вообще не доставлять. Убедитесь, что приоритетные значения имеют смысл и что хосты принимают почту для вашего домена.
- TXT-записи — Большинство политик безопасности живут здесь: SPF, DKIM, DMARC и строки проверки домена. SPF должен включать только серверы, уполномоченные отправлять почту. Подписи DKIM должны быть действительными и соответствовать вашему почтовому потоку. Политика DMARC «ни один» не предлагает никакой защиты — вы должны стремиться к «карантину» или «отклонению».
- Записи CNAME — Убедитесь, что они не создают круговые зависимости или не указывают на внешние домены, которыми вы больше не владеете.
- NS-записи — Проверьте, что серверы имен вашего домена верны и что они авторитетны для вашей зоны.Неравные записи NS между поставщиками могут вызывать периодические сбои разрешения.
- SOA запись — Старт полномочий содержит первичный сервер имен, контактную электронную почту и значения времени. Убедитесь, что интервалы обновления и повторного использования являются подходящими (слишком короткие могут перегружать серверы; слишком длительные задержки распространения исправлений).
Зона трансфера и DNSSEC
Менее распространенной, но критической проверкой является то, позволяет ли ваш DNS-сервер несанкционированную передачу зон (FLT:1]] (AXFR/IXFR). Если включен публично, любой может загрузить все содержимое вашей зоны, включая внутренние имена хостов, которые раскрывают вашу сетевую архитектуру. Используйте такие инструменты, как из внешней сети для тестирования. Если это удастся, немедленно ограничьте передачу зоны на авторизованные вторичные серверы.
Также проверьте, что DNSSEC (Расширения безопасности системы доменных имен) включены и правильно настроены. DNSSEC использует криптографические подписи, чтобы гарантировать, что ответы на записи не были подделаны. Без него злоумышленники могут подделывать ответы и перенаправлять пользователей на вредоносные сайты (отравление кэша). Проверьте, что ваш регистратор поддерживает DNSSEC, что вы опубликовали записи DS в родительской зоне и что ваши серверы имен обслуживают действительные записи RRSIG. Многие поставщики DNS теперь позволяют это с помощью одного переключателя, но все равно стоит проверять вручную.
Уязвимости DNS, которые проверяются
Понимание того, что вы ищете, помогает сфокусировать аудит. Ниже приведены наиболее распространенные проблемы безопасности DNS, каждая из которых имеет реальное влияние.
DNS-спуфинг и отравление кэшем
Без DNSSEC злоумышленник, который контролирует рекурсивный решитель или сидит на сетевом пути, может вводить ложные ответы DNS. Ваши пользователи будут направлены на поддельный веб-сайт, не зная. Это классический вектор атаки «человек посередине». DNSSEC - единственная комплексная защита.
Открытые DNS-решители
Если ваш DNS-сервер настроен на ответ на запросы с любого IP (открытый решитель), он может использоваться для усиления DDoS-атак. Атакующие отправляют небольшой запрос с поддельным IP-адресом жертвы, а решитель отправляет гораздо больший ответ на затопление жертвы. Проверьте, что ваши авторитетные серверы имен отвечают только на запросы для доменов, которые они обслуживают, и что рекурсивные решители либо не подвергаются, либо ограничены вашими внутренними сетями.
Субдоменное поглощение
Когда запись CNAME или NS указывает на внешний сервис, который был выведен из эксплуатации (например, балансировщик облачной нагрузки, CDN или сайт GitHub Pages), злоумышленник может зарегистрировать этот сервис и получить контроль над вашим поддоменом. Это может привести к фишингу или распространению вредоносных программ под вашим доверенным брендом. Аудит должен идентифицировать все внешние цели A и CNAME и проверить, что они все еще принадлежат вам.
Электронная почта Spoofing and Phishing
Отсутствующие или неправильно сконфигурированные записи SPF, DKIM и DMARC делают тривиальным для злоумышленников отправлять электронные письма, которые, по-видимому, поступают из вашего домена. Политики DMARC должны быть по крайней мере p = карантин и в идеале p = отклонять после периода мониторинга. Без DKIM получатели электронной почты не могут проверить, что содержимое сообщения не было изменено в пути.
Угон домена
Если ваша учетная запись регистратора скомпрометирована или ваш домен не заблокирован, злоумышленник может изменить записи NS и перенаправить весь трафик.Установка замка регистратора (также называемого ) и использование надежной аутентификации на вашей учетной записи регистратора являются основными защитными мерами. Аудит должен подтвердить, что блокировка регистратора включена и что контактная информация вашей учетной записи обновлена.
Пошаговое руководство по проведению аудита DNS
Вы можете использовать инструменты командной строки (, , ) или онлайн-платформы, такие как MXToolbox и DNSChecker . Оба подхода действительны; выберите тот, который соответствует вашим техническим потребностям в комфорте и автоматизации.
1. Перечислите все записи DNS
Начните с вытягивания полной зоны. Используйте , перекачайте любой или AXFR (если разрешено) для полного списка. Также можно выполнить ручные проверки для каждого типа записи:
- [8] (для каждого поддомена, о котором вы заботитесь)
Если у вас много поддоменов, рассмотрите возможность использования инструмента, такого как Subfinder или DNSRecon для автоматического перечисления. Документируйте каждую запись в электронной таблице или файле управления конфигурацией.
2.Проверка цели и задачи каждой записи
Для каждой записи A/AAAA убедитесь, что IP соответствует активному серверу под вашим контролем. Используйте , чтобы проверить право собственности на IP, если не уверены. Для записей MX проверьте, что каждый почтовый сервер принимает соединения на порту 25 и что они не занесены в черный список (используйте MXToolbox Blacklist Check). Для записей TXT проверьте синтаксис SPF с помощью инструмента, такого как spf-инструменты — распространенные ошибки включают в себя недостающие механизмы, превышающие 10-DNS-Lookup лимит, или пропуск для вашего ESP. Для DKIM проверьте, что открытый ключ в записи TXT соответствует частному ключу, используемому для подписи писем. Инструменты проверки DMARC могут анализировать политику и предлагать улучшения.
3.Проверка орфанных записей
Сравните записи DNS с инвентарем активов. Любая запись, указывающая на услугу, которую вы больше не используете (списанный облачный экземпляр, удаленный почтовый сервер, закат CDN), должна быть помечена для удаления. Орфанированные записи являются основным источником поглощения поддоменов. Если вы найдете CNAME к или аналогичный, немедленно удалите его.
4. Обзор значений TTL
Время в реальном времени (TTL) определяет, как долго запись кэшируется растворителями. Слишком короткий TTL (например, 30 секунд) увеличивает нагрузку на запрос; слишком длинный (например, 1 месяц) препятствует реагированию на инцидент. Как правило, устанавливают TTL от 300 до 3600 секунд для производственных записей и уменьшают их до 60 секунд до запланированного изменения, а затем восстанавливают первоначальное значение после распространения. Аудит должен поймать любые аномально высокие или низкие TTL.
5 Безопасность передачи зоны испытаний
Запустите из внешнего IP. Если вы получаете данные зоны, это критическая уязвимость. Ограничьте AXFR только авторизованными вторичными серверами имен (используя , разрешающие передачу , связывайте утверждения или эквивалент).
6. Подтвердить действительность DNSSEC
Используйте инструмент, такой как Verisign DNSSEC Analyzer, чтобы проверить цепочку DNSSEC вашего домена. Он сообщит вам, присутствуют ли подписи, соответствует ли запись DS DNSKEY, и если какие-либо записи истекли. Исправьте любые ошибки, связавшись с вашим поставщиком DNS или регенерируя ключи, если это необходимо.
7. Проверить блокировку регистратора и контакты
Войдите в панель регистратора и подтвердите, что включен блокировка передачи (или блокировка реестра. Также проверьте, что административные и технические контактные адреса электронной почты верны и контролируются. Эти контакты получают уведомления об истечении срока действия и злоупотреблении; если они застопорятся, вы можете потерять свой домен без уведомления.
Как исправить общие уязвимости DNS
Как только ваш аудит выявит проблемы, определите приоритеты исправлений на основе тяжести. Ниже приведены шаги по исправлению наиболее частых выводов.
Включение и настройка DNSSEC
Если DNSSEC отсутствует, попросите вашего провайдера DNS подписать вашу зону. Процесс обычно включает в себя создание ключа регистрации зоны (ZSK) и ключа подписи ключа (KSK) и публикацию записей DS у вашего регистратора. После включения используйте анализатор Verisign, упомянутый выше, для проверки цепочки. В то время как DNSSEC добавляет некоторые операционные накладные расходы (управление ключами), преимущество безопасности от спуфинга огромно.
Коррекция SPF, DKIM и DMARC
Переписать вашу запись SPF, чтобы включить только авторизованные серверы. Используйте механизм для сторонних служб и (softfail) или (hardfail) в конце. Для DKIM, сгенерируйте пару ключей 2048 бит, поместите открытый ключ в запись TXT под и настройте свой почтовый сервер для подписи с помощью закрытого ключа. Установите запись DMARC с и для получения сводных отчетов. Постепенно перейдите к после подтверждения того, что никакие законные электронные письма не блокируются.
Удаление орфанного имени или записи
Удалите записи, указывающие на обездоленные внешние сервисы. Если вам нужно сохранить поддомен по историческим причинам, перенаправьте его на контролируемую целевую страницу через собственную инфраструктуру. Регулярно пересканируйте поддомены с помощью автоматизированных инструментов для ловли новых сирот.
Упрощение DNS-серверов
Если вы управляете авторитетными серверами имен напрямую, отключите рекурсию (если намеренно не запускает внутренний решитель), ограничьте передачу зон через списки разрешений IP и отключите раскрытие версии DNS. Используйте брандмауэр, чтобы разрешить только необходимый трафик (UDP / TCP 53). Рассмотрите возможность использования управляемого поставщика DNS, который обрабатывает эти конфигурации для вас.
Реализация блокировки регистратора и сильная аутентификация
Включите блокировку передачи и используйте двухфакторную аутентификацию (2FA) на своей учетной записи регистратора. Если ваш регистратор поддерживает ее, также включите блокировку реестра (более высокий уровень защиты, который требует ручного одобрения реестра для любых изменений).
Создание долгосрочной практики безопасности DNS
Один аудит не является упражнением «настрой и забудь». Конфигурации DNS меняются по мере добавления поддоменов, поставщиков коммутаторов или серверов вывода из эксплуатации. Примите эти привычки для поддержания безопасной позиции.
Расписание регулярных проверок
Запустите полный DNS-аудит ежеквартально и проверьте быстро после каждого изменения инфраструктуры, которое включает в себя новые имена хостов или службы. Автоматизированные скрипты могут предупредить вас об отклонениях от базового уровня; рассмотрите возможность использования подхода «инфраструктура как код», когда записи DNS управляются через файлы, контролируемые версией.
Используйте мониторинг и оповещение
Настройте мониторинг сбоев в разрешении DNS, внесение MX в черный список и истечение срока действия сертификата, привязанного к вашему домену (сертификаты TLS часто полагаются на валидацию DNS). Многие поставщики DNS предлагают проверки здоровья; внешние службы, такие как DNSOps , могут обеспечить постоянное сканирование.
Ограничение доступа к DNS и логистика
Включите регистрацию запросов на ваших авторитетных серверах для обнаружения необычных шаблонов (например, внезапный большой объем запросов для конкретной записи может указывать на злоупотребление).
Обновление DNS-угроз
Ресурсы, такие как OWASP DNS Security Cheat Sheet , для современных лучших практик. Новые расширения, такие как DANE (DNS-based Authentication of Named Entities) могут стать актуальными по мере их принятия.
Заключение
Выполнение DNS-аудита является простой, но высокоэффективной практикой безопасности. Методически изучая каждую запись, тестируя на открытость, проверяя настройки DNSSEC и проверяя настройки регистратора, вы можете устранить наиболее распространенные векторы атак, которые компрометируют домены сегодня. Требуемые усилия невелики по сравнению с стоимостью успешного взлома, захваченного домена или поврежденной репутации от подделки электронной почты. Сделайте первый аудит на этой неделе, а затем запланируйте следующий как повторяющийся вход в календарь. Ваша инфраструктура DNS станет сильным активом, а не слабым звеном в вашей позиции безопасности.