Риск: Высокий 8.1 High CWE-284: Improper Access Control

Захват поддомена (Subdomain Takeover): CNAME на удаленный сервис

Захват поддомена возникает, когда в DNS существует CNAME-запись, указывающая на внешний сервис (GitHub Pages, S3, Vercel, Heroku), который был удален или деактивирован.

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

Степень критичности и чем опасна уязвимость

Полноценный фишинг на доверенном домене компании, перехват сессионных cookie и рассылка спама от лица бренда.

Вектор атаки: Автоматизированные сканеры и поисковые ботнеты постоянно исследуют интернет по данной сигнатуре. При обнаружении уязвимости атака запускается в автоматическом режиме без участия человека.

Как наш сканер находит эту уязвимость

Site Check проверяет DNS-записи поддоменов на наличие признаков отключенных или бесхозных облачных сервисов (Dangling CNAME).

Диагностика сетевых заголовков и серверных политик выполняется сбором и парсингом HTTP response headers на корневом и вспомогательных путях. Оценивается присутствие политик Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, а также атрибутов безопасности куки-файлов (HttpOnly, Secure, SameSite).

Как устранить уязвимость (Пошаговое руководство)

Для ликвидации риска выполните следующие действия в конфигурации вашего сервера или приложения:

Удаление устаревших CNAME-записей в DNS
      ; Проверьте DNS-зону и удалите неиспользуемые CNAME-записи:
; blog.yourdomain.com. CNAME old-project.github.io. <- УДАЛИТЬ
    
  • Проведите ревизию всех поддоменов компании.
  • Удалите неиспользуемые CNAME-записи перед отключением сторонних сервисов.

Анатомия атаки и реальные последствия для проекта

Когда CNAME-запись поддомена указывает на удаленный ресурс в стороннем облаке (GitHub Pages, S3, Vercel), злоумышленник регистрирует освободившееся имя в этом сервисе и получает контроль над вашим поддоменом с возможностью перехвата кук.

Финансовые и юридические риски: Эксплуатация вектора «subdomain takeover» приводит к обходу периметра безопасности, несанкционированному доступу к служебным ресурсам и потенциальной компрометации данных пользователей приложения.

Влияние на соответствие стандартам: Нарушение требований безопасности стандартов OWASP Top 10 (A05:2021 Security Misconfiguration), ISO/IEC 27001 и отраслевых норм 152-ФЗ.

Матрица эшелонированной защиты (Defense-in-Depth)

Уровень защиты Техническое действие Инструмент / Механизм
Периметр веб-сервера (Nginx / Edge) Применение изолирующих правил блокировки для маршрутов, связанных с subdomain-takeover Nginx Security Directives
Среда исполнения и конфигурация Отключение отладочных механизмов и разграничение прав доступа к компоненту subdomain-takeover Runtime Security Hardening
Пайплайн DevSecOps контроля Автоматическое тестирование конфигурации subdomain-takeover в CI/CD пайплайне при каждом релизе Site Check Security Gate

Верификация устранения: команды для быстрой проверки

После внесения изменений в настройки сервера или исходный код приложения проверьте отсутствие уязвимости с помощью терминальных утилит:

Терминал: Проверка эндпоинта и заголовков ответа
dig CNAME sub.ваш-домен.com +short
# Убедитесь, что целевой сервис активен и привязан к вашей учетной записи
    

Рекомендации DevSecOps для безопасного развертывания

Регулярно проводите ревизию DNS-записей и удаляйте неиспользуемые CNAME-записи перед удалением сервисов в облаке.

Контрольный чеклист инженера безопасности:
  • ✓ Внедрить строгую политику Content-Security-Policy без небезопасных инлайн-скриптов
  • ✓ Включить заголовок HSTS с директивой includeSubDomains и сроком не менее 1 года
  • ✓ Установить флаги Secure, HttpOnly и SameSite=Lax для всех авторизационных куки
  • ✓ Настроить редирект HTTP на HTTPS с корректным статус-кодом 301 Permanent

Часто задаваемые вопросы по устранению

Как быстро автоматизированные сканеры находят уязвимость subdomain takeover?
Специализированные сканеры и ботнеты непрерывно обходят публичные диапазоны IP-адресов, выявляя открытый эндпоинт в течение считанных часов после развертывания.
Требуется ли перезапуск сервера для устранения уязвимости subdomain takeover?
Для большинства параметров веб-сервера достаточно применить мягкую перезагрузку настроек командой nginx -s reload без простоя рабочего сайта.
Экспертное резюме инженера по информационной безопасности

Корректно настроенные заголовки безопасности формируют первый эшелон браузерной защиты клиентов. Отсутствие современных директив CSP и HSTS оставляет пользователей беззащитными перед атаками типа Clickjacking, MIME-sniffing и перехватом трафика в небезопасных сетях Wi-Fi.

Для предотвращения вектора «Захват поддомена (Subdomain Takeover): CNAME на удаленный сервис» зафиксируйте проверочные правила в CI/CD пайплайне и настройте непрерывный мониторинг внешнего периметра через Site Check.