Домены, DNS и WHOIS
Домен и его DNS — это первое, что видит о вас весь интернет; научимся читать эти данные глазами защитника.
DNS (Domain Name System) — распределённая телефонная книга интернета, переводящая имена (
example.com) в IP-адреса и хранящая служебные записи о почте, сертификатах и инфраструктуре.
Прежде чем атаковать сеть, разведчик собирает её «паспорт» из абсолютно открытых данных: кто зарегистрировал домен, на каких серверах он живёт, какие поддомены засветились, куда уходит почта. Ничего из этого не требует доступа к вашим системам — всё лежит в публичных реестрах и резолверах. Значит, и защитник обязан смотреть на свою поверхность теми же глазами: что я невольно рассказываю о себе миру?
Зачем это знать защитнику
Атака почти всегда начинается с разведки (recon). Чем больше открытых данных утекает, тем дешевле злоумышленнику построить карту целей: найти забытый поддомен old-admin.example.com, тестовый стенд staging.example.com или почтовый шлюз. Регулярная самопроверка DNS/WHOIS превращает эту асимметрию в вашу пользу — вы находите дыры первыми. Это пассивная разведка: вы лишь читаете публичные ответы, не трогая чужие хосты.
WHOIS: регистрационные данные
WHOIS — протокол запроса к реестру о том, кто и когда зарегистрировал домен. Исторически он выдавал ФИО, телефон и почту администратора. После GDPR большинство регистраторов скрывают персональные поля за «privacy»-заглушкой, но остаётся полезное для защитника: регистратор, даты регистрации и истечения, серверы имён (NS), статусы блокировок.
whois example.com
Вывод (фрагмент):
Registrar: Example Registrar, Inc. Creation Date: 2014-03-08T10:21:00Z Registry Expiry Date: 2027-03-08T10:21:00Z Name Server: ns1.example-dns.net Name Server: ns2.example-dns.net Domain Status: clientTransferProhibited
На что смотреть защитнику: близкая дата истечения (риск перехвата домена, если забыть продлить), отсутствие clientTransferProhibited (домен легче угнать), почта администратора на публичном ящике (фишинг и социнженерия). По RDAP — современной замене WHOIS — те же данные приходят в JSON, что удобно автоматизировать.
DNS-записи: что вы публикуете
DNS-зона — это набор записей, и каждая что-то сообщает. Самые показательные:
| Тип | Что хранит | Что выдаёт разведчику |
A / AAAA | IPv4 / IPv6 хоста | реальные адреса, диапазоны, хостинг |
MX | почтовые серверы | почтовый провайдер (Google, свой сервер) |
NS | DNS-серверы зоны | кто управляет DNS |
TXT | произвольный текст | SPF, DKIM, верификации сервисов |
CNAME | псевдоним | сторонние сервисы (CDN, SaaS) |
Запрашивают записи стандартным dig:
dig example.com A +short
dig example.com MX +short
dig example.com TXT +short
Особенно «болтливы» TXT-записи. SPF (v=spf1 ...) перечисляет все серверы и сервисы, которым разрешено слать почту от вашего имени, — фактически список вашей рассылочной инфраструктуры. Записи верификации (google-site-verification=..., _acme-challenge) подсказывают, какими внешними платформами вы пользуетесь.
Поддомены и история домена
Главная цель технической разведки — поддомены: именно среди них находят забытые админки, тестовые стенды и устаревшие приложения. Источники для пассивного перечисления (без перебора по вашим серверам): публичные пассивные DNS-базы, агрегаторы и логи сертификатов (им посвящён отдельный урок). История DNS-записей через сервисы пассивного DNS показывает, какие IP домен использовал раньше, — это помогает найти инфраструктуру, которую вы считали выключенной, но забыли убрать из зоны.
Опасность «висящих» записей
Если CNAME поддомена указывает на облачный ресурс, который вы удалили (например, S3-бакет или старый PaaS-проект), а сама запись осталась — возникает subdomain takeover: посторонний регистрирует освободившийся ресурс и получает контроль над вашим поддоменом. Поэтому при выводе сервиса из эксплуатации запись в DNS нужно удалять первой.
Как это работает под капотом
Когда вы открываете example.com, резолвер спрашивает корневые серверы про зону .com, те указывают на NS-серверы вашего домена, и уже они отдают конкретные записи. Все эти ответы публичны по своей природе — без публичности DNS интернет не работал бы. Поэтому защита строится не на «спрятать DNS» (невозможно), а на дисциплине: публиковать только то, что действительно должно резолвиться снаружи, и держать зону в актуальном состоянии. Внутренние имена (бухгалтерия, внутренние API) держат в приватных зонах, не доступных публичному резолверу.
Как защититься
- Инвентаризируйте зону. Раз в квартал выгружайте все записи и сверяйте: каждая
A/CNAMEдолжна вести к живому, нужному ресурсу. Удаляйте записи выведенных из эксплуатации сервисов сразу. - Закройте subdomain takeover. Сначала удаляйте DNS-запись, потом — облачный ресурс. Проверяйте «висящие» CNAME, ведущие на чужие платформы.
- Не светите лишнее в TXT. Держите SPF минимальным и актуальным; удаляйте старые записи верификации сервисов, которыми больше не пользуетесь.
- Защитите сам домен. Включите
clientTransferProhibitedи Registrar Lock, автопродление, двухфакторную аутентификацию в личном кабинете регистратора — угон домена страшнее многих взломов. - Скройте персональные данные. Используйте WHOIS-privacy и ролевые ящики (
dns-admin@) вместо личных, чтобы не упрощать фишинг. - Разделяйте зоны. Внутренние сервисы — в split-horizon DNS, недоступном из интернета.
Правовая рамка: читать публичные WHOIS/DNS-ответы законно. Но активный перебор поддоменов и сканирование чужих хостов без разрешения владельца — уже вторжение; в России несанкционированный доступ к компьютерной информации наказуем (ст. 272 УК РФ). Перечисляйте и сканируйте только свою или письменно разрешённую инфраструктуру.
Итоги
- DNS и WHOIS — публичный «паспорт» вашей инфраструктуры; разведчик начинает recon именно с них.
- TXT-записи (SPF, верификации) и поддомены раскрывают больше всего — следите за ними особенно.
- Главные риски: забытые поддомены, «висящие» CNAME (subdomain takeover) и слабо защищённый домен.
- Защита — это дисциплина: регулярная инвентаризация зоны, удаление мёртвых записей, lock и 2FA на домене.