Domain IP Lookup

Почему проверка показывает CDN, а не исходный сервер

Посетитель

запрашивает домен

Edge-сервер CDN

104.21.x.x

именно его возвращает DNS

Исходный сервер

реальный IP не раскрывается

Инфраструктура и эксплуатация

Почему CDN скрывает IP исходного сервера: так и задумано

3 мин чтения

Вы проверяете крупный сайт, ожидая увидеть адрес его сервера, а получаете адрес, принадлежащий Cloudflare, Fastly или Akamai. Ничего не сломалось. Вы видите именно то, что публикует домен, а настоящего адреса сервера в DNS никогда и не было.

Почему проверка показывает CDN, а не исходный сервер

Посетитель

запрашивает домен

Edge-сервер CDN

104.21.x.x

именно его возвращает DNS

Исходный сервер

реальный IP не раскрывается

DNS возвращает адрес пограничной точки. Исходный сервер стоит за ней и не публикуется.

Что на самом деле делает CDN

Сеть доставки контента (CDN) — это парк серверов, распределённых по миру. Вместо того чтобы каждый посетитель подключался к вашему единственному исходному серверу, он подключается к ближайшему узлу CDN, который отдаёт кешированный контент напрямую, а недостающее запрашивает у исходного сервера.

Довод в пользу производительности прост: посетитель из Сингапура, подключающийся к серверу в Вирджинии, платит примерно 200 мс задержки на круговой путь при каждом запросе. Сингапурский пограничный узел сокращает это до нескольких миллисекунд для кешированного контента.

Чтобы это работало, домен должен разрешаться в CDN, а не в исходный сервер. Это не побочный эффект, а весь механизм. Если бы DNS возвращал адрес вашего исходного сервера, посетители подключались бы к нему напрямую, и CDN вообще не участвовал бы.

Как распознать адрес CDN

  • Обратный DNS называет провайдера. Адрес разрешается во что-то вроде *.cloudflare.com, *.fastly.net или *.cloudfront.net. См. обратный DNS.
  • Один и тот же адрес обслуживает множество не связанных сайтов. Пограничные узлы по замыслу являются общей инфраструктурой.
  • Из разных мест приходят разные ответы. Геомаршрутизация направляет вас на ближайший узел, поэтому адрес зависит от того, откуда вы запрашиваете.
  • CNAME указывает на имя хоста провайдера. Запись вроде www.example.com CNAME example.com.cdn.cloudflare.net не оставляет сомнений.
Узнайте, как называется адрес
dig +short example.com
dig +short -x 104.21.32.47

Вторая команда — это обратный запрос. Если она возвращает имя хоста провайдера, ответ у вас в руках.

Почему исходный сервер скрывают намеренно

Скрытие не является побочным продуктом. Это свойство безопасности, за которое платят.

УгрозаЧто даёт скрытие исходного сервера
DDoS-атакаАтакующий трафик упирается в мощности CDN, а не в ваш единственный сервер. Это основная причина, по которой крупные сайты используют CDN.
Прямая эксплуатацияАтакующие не могут добраться до исходного сервера, не найдя его, поэтому сканирование и зондирование приходятся на пограничную точку.
Обход WAFЕсли бы исходный сервер был доступен напрямую, любое правило межсетевого экрана на границе можно было бы просто пропустить.
Обход ограничений частоты запросовОграничения, применяемые на границе, нельзя обойти, подключаясь за ними.

Что это значит для результата проверки

Это меняет то, как нужно читать ответ, но не то, верен ли он.

Ключевой вывод

Проверка показывает, куда сейчас направляется трафик для этого домена. Для сайта за CDN это пограничная точка, а это действительно правильный, полезный и единственный публичный ответ.

Практические следствия:

  • Геолокация бессмысленна. Город пограничного узла показывает, куда направлены вы, а не где находится бизнес или его данные.
  • Обратный поиск по IP даёт шум. Тысячи не связанных доменов законно делят один адрес пограничной точки.
  • Адрес нестабилен. CDN постоянно переназначают адреса пограничных точек. Не прописывайте его жёстко и не стройте вокруг него правила межсетевого экрана.
  • Блокировка адреса блокирует всех. Блокировка общего адреса пограничной точки затрагивает каждый сайт за этим узлом.

Замечание о попытках всё же найти исходный сервер

Существуют статьи с описанием методов раскрытия исходных серверов: архивы исторических данных DNS, журналы прозрачности сертификатов, поддомены, которые так и не перенесли за CDN, заголовки писем, отправленных исходным сервером.

Все они работают за счёт ошибки, допущенной самой целью, а не за счёт взлома CDN. А причина, по которой кто-то скрыл исходный сервер, обычно в том, что его атакуют. Зондирование чужой инфраструктуры ради обхода защиты, которую владелец намеренно развернул, не является нейтральным действием, а во многих юрисдикциях и не является законным.

Инструмент проверки показывает полный набор публичных записей любого домена, включая цепочку CNAME, а это обычно самый быстрый способ вообще выяснить, стоит ли сайт за CDN.

Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.

Часто задаваемые вопросы

Читайте также

Одно имя хоста — несколько записей A

1-й ответ

93.184.216.34

2-й ответ

93.184.216.35

3-й ответ

93.184.216.36

Резолвер возвращает все записи, обычно с ротацией порядка

Инфраструктура и эксплуатация

Почему у одного домена несколько IP-адресов

Четыре разных механизма дают несколько адресов для одного имени. Умение их различать объясняет, почему ваш ответ отличается от чужого.

4 мин чтения

Что на самом деле стоит за разрешённым адресом

Общий IP

Много сайтов на одном адресе — ваш определяется заголовком Host

Выделенный IP

Только вы — вы управляете его обратным DNS

Edge-сервер CDN

Не исходный сервер — соединение завершается на edge

Инфраструктура и эксплуатация

Общий и выделенный IP-адрес: что вам нужно

Честный ответ: большинству сайтов выделенный IP не нужен. Когда он действительно важен и какие мнимые преимущества — мифы.

3 мин чтения

Рекурсивный DNS-запрос: шаг за шагом

Браузер

нужен example.com

Резолвер

ваш провайдер / 1.1.1.1

Корень + TLD

кто отвечает за .com?

Авторитетный

настоящий ответ

Каждый шаг цепочки — тоже DNS-запрос, и его ответ потом кэшируется

Основы DNS

Как узнать IP-адрес сайта: 5 надёжных способов

Онлайн-инструмент, ping, nslookup, dig или DevTools: пять способов разрешить домен с точными командами для Windows, macOS и Linux.

4 мин чтения