Что такое subdomain takeover и как от него защититься
«Висячие» CNAME-записи открывают путь к захвату поддомена. Как обнаружить риск, устранить его и не допустить снова.
Как это происходит
Допустим, для blog.domen.uz в DNS есть CNAME, указывающий на облачный сервис (GitHub Pages, Heroku, S3, Azure и т. п.). Позже вы удаляете проект в сервисе, но забываете про DNS-запись. Злоумышленник может зарегистрировать в этом сервисе ресурс с тем же именем и показывать свою страницу на вашем поддомене.
Чем опасно
- Фишинг: пользователи доверяют странице на вашем настоящем домене.
- Кража cookie: cookie основного домена могут отправляться и на поддомены.
- Потеря репутации и санкции поисковых систем.
Как обнаружить
- Составьте список всех поддоменов (DNS-панель, журналы сертификатов).
- Проверьте, существует ли сейчас цель каждого CNAME (резолвится ли она).
- Если на странице сообщения вроде «There isn't a GitHub Pages site here», «NoSuchBucket», «No such app» — ресурс свободен.
Как устранить
- Удалите неиспользуемую CNAME-запись из DNS.
- Если сервис нужен — сначала заново создайте ресурс и займите имя, и только потом трогайте DNS.
- Сделайте правилом: сначала удалять DNS-запись, потом проект.
SecScan в глубокой проверке находит поддомены, анализирует их CNAME-записи и признаки 26 популярных сервисов и перечисляет «висячие» записи.