Почему проверка показывает CDN, а не исходный сервер
Посетитель
запрашивает домен
Edge-сервер CDN
104.21.x.x
именно его возвращает DNS
Исходный сервер
реальный IP не раскрывается
Почему CDN скрывает IP исходного сервера: так и задумано
Вы проверяете крупный сайт, ожидая увидеть адрес его сервера, а получаете адрес, принадлежащий Cloudflare, Fastly или Akamai. Ничего не сломалось. Вы видите именно то, что публикует домен, а настоящего адреса сервера в DNS никогда и не было.
Почему проверка показывает CDN, а не исходный сервер
Посетитель
запрашивает домен
Edge-сервер CDN
104.21.x.x
именно его возвращает DNS
Исходный сервер
реальный IP не раскрывается
Что на самом деле делает 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-адресов
Четыре разных механизма дают несколько адресов для одного имени. Умение их различать объясняет, почему ваш ответ отличается от чужого.
Что на самом деле стоит за разрешённым адресом
Общий IP
Много сайтов на одном адресе — ваш определяется заголовком Host
Выделенный IP
Только вы — вы управляете его обратным DNS
Edge-сервер CDN
Не исходный сервер — соединение завершается на edge
Общий и выделенный IP-адрес: что вам нужно
Честный ответ: большинству сайтов выделенный IP не нужен. Когда он действительно важен и какие мнимые преимущества — мифы.
Рекурсивный DNS-запрос: шаг за шагом
Браузер
нужен example.com
Резолвер
ваш провайдер / 1.1.1.1
Корень + TLD
кто отвечает за .com?
Авторитетный
настоящий ответ
Каждый шаг цепочки — тоже DNS-запрос, и его ответ потом кэшируется
Как узнать IP-адрес сайта: 5 надёжных способов
Онлайн-инструмент, ping, nslookup, dig или DevTools: пять способов разрешить домен с точными командами для Windows, macOS и Linux.