Домены, 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 / AAAAIPv4 / IPv6 хостареальные адреса, диапазоны, хостинг
MXпочтовые серверыпочтовый провайдер (Google, свой сервер)
NSDNS-серверы зоныкто управляет 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 на домене.
Проверьте себя
1. Какая DNS-запись напрямую перечисляет серверы и сервисы, которым разрешено отправлять почту от имени домена, и потому особенно полезна разведчику?
AA-запись
BTXT-запись с SPF
CNS-запись
DAAAA-запись
2. Что такое subdomain takeover?
AПерехват домена при истечении срока регистрации
BЗахват поддомена через оставшийся CNAME на удалённый облачный ресурс
CПодмена ответов DNS-сервера
DКража учётной записи у регистратора