Тема
Режим
Язык
Тема
Режим
Язык
Консультация
FREE Бесплатный аудит сайта за 15 мин Заказать →
NEW Остановили 2 млн атак credential stuffing Кейс →
Разборы атак и инструменты Telegram →
70% трафика могут быть ботами Проверить →
SOS Сайт под атакой? Поможем за 30 мин SOS →

Проверьте DNS-историю: как найти реальный IP за CDN

Реальный IP-адрес сервера — главная тайна за CDN. DNS-история может её раскрыть. Разбираемся, как проверить свою защиту и как её обходят атакующие.

Зачем это знать?
Если атакующий найдёт реальный IP вашего сервера — CDN и WAF бесполезны. Трафик пойдёт напрямую. DNS-история — первое, что проверяют.

Что такое DNS-история

Каждый раз, когда вы меняете DNS-записи домена, старые значения не исчезают. Десятки сервисов по всему миру постоянно сканируют DNS и сохраняют все изменения в архив.

Это значит: если вы подключили Cloudflare или другой CDN после того, как домен уже указывал на реальный сервер — старый IP навсегда сохранён в истории. Любой может его найти за 30 секунд.

Как атакующие используют DNS-историю

Типичный сценарий атаки:

  1. Разведка — находят реальный IP через DNS-историю
  2. Проверка — отправляют HTTP-запрос напрямую на IP с заголовком Host: ваш-домен.ru
  3. Атака — направляют DDoS-трафик на реальный IP, минуя CDN полностью

CDN в этом случае не увидит ни одного пакета — весь удар придётся на origin-сервер.

Сервисы проверки DNS-истории

Вот основные инструменты, которые используют и защитники, и атакующие:

1. SecurityTrails

securitytrails.com — крупнейшая база исторических DNS-записей. Бесплатный аккаунт даёт 50 запросов в месяц.

Что показывает: все A, AAAA, MX, NS, TXT, CNAME записи за всю историю домена. Даты изменений, IP-адреса, хостинг-провайдеры.

curl -H "APIKEY: ваш_ключ" \n  "https://api.securitytrails.com/v1/history/example.com/dns/a"

# Ответ покажет ВСЕ IP-адреса, на которые когда-либо указывал домен
# first_seen / last_seen — даты использования каждого IP

2. ViewDNS.info

viewdns.info/iphistory — бесплатный, без регистрации. Показывает историю IP-адресов для любого домена.

Ограничения: данные не всегда полные, особенно для небольших доменов. Но для популярных сайтов — работает отлично.

3. DNSdumpster

dnsdumpster.com — бесплатный инструмент от HackerTarget. Находит поддомены, MX-записи и визуализирует DNS-инфраструктуру.

Почему важен: часто реальный IP утекает не через основной домен, а через поддомены (mail.example.com, ftp.example.com, dev.example.com), которые забыли спрятать за CDN.

4. Shodan + Censys

shodan.io и censys.io — сканеры всего интернета. Индексируют баннеры, сертификаты, открытые порты.

Трюк: ищут SSL-сертификат вашего домена на всех IP-адресах. Если сервер отдаёт сертификат для example.com на IP 1.2.3.4 — реальный IP найден.

# Поиск серверов с SSL-сертификатом для вашего домена
ssl.cert.subject.cn:"example.com"

# Censys — аналогично
parsed.names: example.com

5. crt.sh

crt.sh — бесплатная база Certificate Transparency логов. Показывает все SSL-сертификаты, когда-либо выданные для домена.

Каждый сертификат может содержать IP или поддомены, которые раскрывают инфраструктуру.

# Все сертификаты для домена
https://crt.sh/?q=%25.example.com

# Через curl
curl -s "https://crt.sh/?q=%25.example.com&output=json" | \n  jq ".[].name_value" | sort -u

Проверяем свой домен: пошаговая инструкция

1
SecurityTrails
2
Проверьте поддомены
3
Поиск по сертификату
4
Прямой запрос на IP
5
MX и SPF записи

Как защититься

Если DNS-история уже раскрыла ваш IP — просто подключить CDN недостаточно. Нужно менять инфраструктуру:

Миграция на новый IP

Единственный надёжный способ — перенести сервер на новый IP-адрес, который никогда не был связан с доменом. Затем подключить CDN и направить домен только на CDN.

Блокировка прямого доступа

Настройте файрвол origin-сервера:

# Пример для Cloudflare (актуальные IP: cloudflare.com/ips)
# Сначала запрещаем всё входящее на 80/443
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP

# Разрешаем только IP-адреса Cloudflare
for ip in 173.245.48.0/20 103.21.244.0/22 103.22.200.0/22   
         103.31.4.0/22 141.101.64.0/18 108.162.192.0/18   
         190.93.240.0/20 188.114.96.0/20 197.234.240.0/22   
         198.41.128.0/17 162.158.0.0/15 104.16.0.0/13   
         104.24.0.0/14 172.64.0.0/13 131.0.72.0/22; do
  iptables -I INPUT -p tcp -s $ip --dport 80 -j ACCEPT
  iptables -I INPUT -p tcp -s $ip --dport 443 -j ACCEPT
done

Изоляция поддоменов

Все поддомены — включая почту, dev, staging — должны проксироваться через CDN или использовать отдельные IP, не связанные с основным сервером.

Контроль SSL-сертификатов

Настройте ssl_reject_handshake в nginx — сервер не будет отдавать сертификат при обращении по IP напрямую:

server {
    listen 443 ssl default_server;
    ssl_reject_handshake on;
}

server {
    listen 443 ssl;
    server_name example.com;
    # ... ваш обычный конфиг
}

Чек-лист: DNS-гигиена

ПроверкаИнструментЧто искать
DNS-история A-записейSecurityTrailsРеальный IP в старых записях
ПоддоменыDNSdumpster, crt.shПоддомены без CDN
SSL-сертификаты на IPCensys, ShodanВаш домен на чужих IP
MX / SPF записиdig, nslookupIP почтового сервера = IP сайта?
Прямой доступ по IPcurl -H Host:Сайт отвечает без CDN?
Firewall originiptables / ufwПорты 80/443 открыты всем?
Регулярная проверка
Проверяйте DNS-историю своего домена хотя бы раз в квартал. Новые поддомены, изменения MX, случайные A-записи — всё это может раскрыть реальный IP. Автоматизируйте через SecurityTrails API или аналоги.

Тест: Проверьте DNS-историю: как найти реальный IP за CD

Вопрос 1 из 4
Что сохраняется в DNS-истории?
Сервисы архивируют все изменения DNS-записей.
Как атакующие используют DNS-историю?
Находят старый IP и атакуют, минуя CDN.
Какой сервис имеет крупнейшую базу DNS-истории?
SecurityTrails — крупнейшая база DNS-истории.
Через что часто утекает реальный IP?
Реальный IP часто утекает через поддомены.
0 / 4

Получите план защиты под ваш сайт

Оставьте контакт и адрес сайта — пришлём план защиты и список приоритетных шагов.

  • Приоритетные шаги на 7 дней
  • Быстрая обратная связь
  • План в удобном формате
Без спама. Можно указать Telegram (@username) или email.
Написать в Telegram