Когда вы открываете сайт, данные не всегда приходят только с сервера оператора сайта.
Изображения, CSS, JavaScript, видео, шрифты, файлы для загрузки и другие данные могут доставляться через механизм CDN.
CDN означает Content Delivery Network.
Если сказать просто, это механизм, который размещает данные сайта в нескольких местах и раздает их из точки, близкой к пользователю или менее загруженной.
Понимание CDN показывает, что «доступ к сайту» на практике может включать сервер оператора сайта, CDN, DNS, завершение TLS, журналы, кэш и другие элементы.
Это важно и для анонимности.
Потому что CDN может принимать связь как часть стороны сайта и обрабатывать IP-адрес источника, запросы, , User-Agent, время доступа и другую информацию.
В этой статье разбираются основы CDN, что становится быстрее, где остаются журналы и на что смотреть с точки зрения анонимности.
Что такое CDN
CDN — сеть для эффективной доставки Web-контента.
Сервер, на котором находятся исходные данные сайта, иногда называют origin server, или исходным сервером. В конфигурации с CDN браузер не всегда обращается напрямую к исходному серверу; иногда он получает данные через сервер CDN.
Элемент
Роль
Описание
Браузер пользователя
Отправляет запрос
Запрашивает страницу, изображения, CSS, JavaScript и другое
CDN
Посредничает в доставке
Возвращает данные из места, близкого к пользователю
Исходный сервер
Хранит исходные данные
Исходный сервер на стороне оператора сайта
Кэш
Временное хранение
Сохраняет часто используемые данные на стороне CDN
DNS
Определяет адрес подключения
Может направлять к серверу CDN
CDN — не просто «устройство для ускорения».
В современном Web CDN может выполнять несколько ролей: доставка, балансировка нагрузки, защита от DDoS, завершение TLS, WAF, оптимизация изображений, защита от ботов, анализ журналов и другие.
Зачем используют CDN
Основные причины использования CDN — скорость, стабильность, распределение нагрузки и защита от атак.
Если пользователь находится в одной стране, а исходный сервер — далеко, каждый запрос к далекому серверу может быть медленным. CDN размещает данные в нескольких точках по миру и возвращает их из ближайшей точки.
Цель
Что делает CDN
Что видит пользователь
Ускорение
Возвращает данные из ближайшей точки
Страница открывается быстрее
Распределение нагрузки
Обрабатывает трафик в нескольких точках
Сайт лучше выдерживает всплески доступа
Кэш
Сохраняет одинаковые изображения и файлы
Нагрузка на origin уменьшается
Защита от DDoS
Принимает атакующий трафик на стороне CDN
Сайт труднее вывести из строя
Завершение TLS
Обрабатывает HTTPS-подключение на стороне CDN
Управление сертификатами и доставкой становится эффективнее
CDN часто используется у крупных сайтов, новостных сайтов, видеосервисов, интернет-магазинов, SaaS и API приложений.
С точки зрения пользователя это выглядит как обычный доступ к сайту.
Но внутри может отвечать не исходный сервер, а точка CDN.
CDN и кэш
Один из центральных механизмов CDN — кэш.
Кэш — это механизм, который временно сохраняет уже полученные данные и затем возвращает сохраненную копию.
Например, один и тот же логотип, CSS, JavaScript, шрифт или публичное изображение одинаковы для многих пользователей. Такие данные удобно сохранять на стороне CDN.
Данные
Насколько легко кэшируются
Внимание
Изображения
Высокая
Старое изображение может некоторое время оставаться
CSS
Высокая
Обновление может отразиться с задержкой
JavaScript
Высокая
Важно управлять версиями
Видео
Высокая
Из-за большого объема CDN особенно полезна
Страница после входа
Низкая
Персональные данные нужно обрабатывать осторожно
Ответ API
Зависит от проекта
Нужно быть осторожным, если есть данные аутентификации или персональные сведения
С точки зрения анонимности и приватности кэш удобен, но требует внимания.
Старые изображения или страницы могут оставаться на стороне CDN. Даже если сайт удалил их, они могут быть видны до обновления кэша CDN.
Кроме того, ошибка в проектировании сайта может привести к сохранению персональных данных в CDN, хотя они не должны кэшироваться.
CDN и DNS
У сайтов с CDN результат DNS может указывать на сторону CDN.
Когда пользователь обращается к домену, DNS может вернуть информацию для подключения не к исходному серверу, а к edge-серверу CDN.
Edge-сервер — сервер CDN, который принимает запросы в месте, близком к пользователю.
Этап
Что происходит
1
Пользователь обращается к доменному имени
2
DNS возвращает адрес подключения на стороне CDN
3
Браузер подключается к edge-серверу CDN
4
CDN проверяет кэш
5
Если кэш есть, CDN возвращает данные
6
Если кэша нет, CDN идет за данными к исходному серверу
Поэтому один и тот же домен может возвращать разные IP-адреса в зависимости от региона и сети.
Это не обязательно ошибка.
CDN и балансировка нагрузки меняют адрес подключения в зависимости от места пользователя, загруженности и сбоев.
CDN и завершение TLS
В HTTPS используется TLS.
В конфигурации с CDN HTTPS-подключение с точки зрения браузера может завершаться на CDN.
В этом случае зашифрованная TLS-связь один раз расшифровывается на CDN, и CDN обрабатывает запрос. Затем CDN пересылает его к исходному серверу отдельной связью.
Участок
Связь
Внимание
Браузер — CDN
Защищено HTTPS
Для пользователя точка подключения находится на стороне CDN
Внутри CDN
Зона управления оператора CDN
CDN обрабатывает запрос
CDN — origin
HTTPS в зависимости от конфигурации
Важны настройки оператора сайта
Исходный сервер
Обрабатывает исходные данные
Может видеть подключение как приходящее от CDN
Это не значит, что HTTPS бессмысленен.
HTTPS защищает связь между браузером и точкой подключения. Но если CDN является завершением TLS, CDN оказывается стороной, которая обрабатывает связь.
С точки зрения анонимности CDN нужно считать «точкой наблюдения, входящей в сторону Web-сайта».
Что может видеть CDN
CDN может находиться перед сайтом.
В этом случае CDN принимает запросы пользователя. То есть он может обрабатывать IP-адрес источника, время доступа, User-Agent, адрес запроса, Cookie, HTTP-заголовки и другие данные.
Информация
Может обрабатываться CDN
Значение для анонимности
IP-адрес источника доступа
Да
Признак сети подключения
Время доступа
Да
Ось для сопоставления с другими журналами
Путь URL
Да
Видно, какая страница или API запрошены
User-Agent
Да
Признак браузера и OS
Cookie
Зависит от проекта
Связаны с логином или идентификатором
Объем трафика
Да
Видны тенденции отправки файлов или просмотра видео
Это не значит, что оператор CDN обязательно долго хранит все данные.
Объем журналов, срок хранения, права доступа и цели использования зависят от оператора CDN и настроек оператора сайта.
Важно, что CDN — не прозрачный «воздух» на маршруте.
CDN принимает связь как инфраструктура стороны сайта.
IP, видимый Web-серверу, меняется
При использовании CDN IP-адрес источника, видимый исходному серверу, может измениться.
С точки зрения исходного сервера непосредственным источником является не пользователь, а IP-адрес CDN. Поэтому сайт может использовать заголовки вроде X-Forwarded-For или CF-Connecting-IP, а также журналы CDN, чтобы работать с исходным IP клиента.
Где смотреть
Какой IP виден
Описание
CDN
IP-адрес источника пользователя
Принимает запрос напрямую от пользователя
Исходный сервер
IP CDN
Непосредственный источник — CDN
Приложение
Зависит от настроек
Может получать исходный IP через заголовок
Журнал доступа
Зависит от проекта
Записи могут оставаться и на CDN, и на origin
При чтении журналов нужно проверять, журнал какой именно точки вы смотрите.
CDN ускоряет доставку сайта, повышает устойчивость и облегчает защиту.
Это не механизм для анонимизации пользователя.
С точки зрения пользователя CDN может сделать IP-адрес подключения не IP-адресом исходного сервера, а IP-адресом CDN. Но это не гарантирует анонимность пользователя.
CDN — инфраструктура стороны сайта.
Если сайт назначения, CDN, приложение, аналитика, рекламные теги и система аутентификации работают вместе, доступ пользователя обрабатывается в разных местах.
Ошибка
На практике
Если трафик проходит через CDN, он становится анонимным
CDN — инфраструктура доставки стороны сайта, а не технология анонимизации
Origin IP не виден, значит безопасно
Информация пользователя обрабатывается CDN и стороной сайта
При HTTPS CDN тоже ничего не видит
Если TLS завершается на CDN, CDN обрабатывает запрос
Если данные из кэша, журналов нет
На стороне CDN могут оставаться журналы доступа
При размышлении об анонимности CDN рассматривают как часть стороны назначения.
Смотрите официальную информацию CDN
При изучении CDN полезны и официальные объяснения операторов CDN.
Cloudflare — один из известных операторов, предоставляющих CDN, защиту от DDoS, WAF, DNS и другое. В официальном учебном материале можно проверить, что делает CDN.
Однако это не означает, что использование конкретного CDN делает безопасным.
CDN — инфраструктура стороны оператора сайта, а не инструмент, который завершает анонимность пользователя. Официальную информацию уместно читать как справку для понимания механизма.
Что проверять с точки зрения анонимности
При доступе к сайту с CDN пользователь не может полностью узнать все детали CDN-конфигурации.
Но можно разложить важные точки для размышления.
Точка
Что проверять
Назначение
Может участвовать не только сайт, но и CDN
Журналы
Разделять журналы CDN, origin и приложения
IP-адрес
IP назначения у CDN не означает анонимизацию
Cookie
Cookie и состояние входа остаются даже через CDN
TLS
Учитывать, где завершается TLS
Удаление
Старые данные могут оставаться в кэше CDN
CDN — важный механизм современного Web.
Одновременно для анонимности это важная точка наблюдения, через которую нужно думать, где обрабатывается связь.
Итоги
CDN размещает данные сайта в нескольких местах и эффективно раздает их из точки, близкой к пользователю.
Использование CDN ускоряет показ страниц, повышает устойчивость к всплескам доступа и атакам и уменьшает нагрузку на исходный сервер.
С другой стороны, CDN принимает запросы как инфраструктура стороны сайта.
Он может обрабатывать IP-адрес источника доступа, время доступа, URL, User-Agent, Cookie, объем трафика и другую информацию.
CDN — не технология анонимизации.
При размышлении об анонимности нужно понимать CDN как «точку промежуточной передачи и обработки на стороне Web-сайта» и отдельно рассматривать назначение, журналы, завершение TLS, кэш и Cookie.
Связанные инструменты
WebRTC Leak Test
BrowserLeaks WebRTC
Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.
Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.
CDN ускоряет и распределяет доставку сайтов, может кэшировать данные и завершать TLS, но является инфраструктурой стороны сайта, а не технологией анонимизации.