Что такое CDN
CDN ускоряет и распределяет доставку сайтов, может кэшировать данные и завершать TLS, но является инфраструктурой стороны сайта, а не технологией анонимизации.
Когда вы открываете сайт, данные не всегда приходят только с сервера оператора сайта.
Изображения, CSS, JavaScript, видео, шрифты, файлы для загрузки и другие данные могут доставляться через механизм CDN.
CDN означает Content Delivery Network.
Если сказать просто, это механизм, который размещает данные сайта в нескольких местах и раздает их из точки, близкой к пользователю или менее загруженной.
Понимание CDN показывает, что «доступ к сайту» на практике может включать сервер оператора сайта, CDN, DNS, завершение TLS, журналы, кэш и другие элементы.
Это важно и для анонимности.
Потому что CDN может принимать связь как часть стороны сайта и обрабатывать IP-адрес источника, запросы, Cookie, 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 нужно считать «точкой наблюдения, входящей в сторону веб-сайта».
Что может видеть CDN
CDN может находиться перед сайтом.
В этом случае CDN принимает запросы пользователя. То есть он может обрабатывать IP-адрес источника, время доступа, User-Agent, адрес запроса, Cookie, HTTP-заголовки и другие данные.
| Информация | Может обрабатываться CDN | Значение для анонимности |
|---|---|---|
| IP-адрес источника доступа | Да | Признак сети подключения |
| Время доступа | Да | Ось для сопоставления с другими журналами |
| Путь URL | Да | Видно, какая страница или API запрошены |
| User-Agent | Да | Признак браузера и OS |
| Cookie | Зависит от проекта | Связаны с логином или идентификатором |
| Объем трафика | Да | Видны тенденции отправки файлов или просмотра видео |
Это не значит, что оператор CDN обязательно долго хранит все данные.
Объем журналов, срок хранения, права доступа и цели использования зависят от оператора CDN и настроек оператора сайта.
Важно, что CDN — не прозрачный «воздух» на маршруте.
CDN принимает связь как инфраструктура стороны сайта.
IP, видимый веб-серверу, меняется
При использовании CDN IP-адрес источника, видимый исходному серверу, может измениться.
С точки зрения исходного сервера непосредственным источником является не пользователь, а IP-адрес CDN. Поэтому сайт может использовать заголовки вроде X-Forwarded-For или CF-Connecting-IP, а также журналы CDN, чтобы работать с исходным IP клиента.
| Где смотреть | Какой IP виден | Описание |
|---|---|---|
| CDN | IP-адрес источника пользователя | Принимает запрос напрямую от пользователя |
| Исходный сервер | IP CDN | Непосредственный источник — CDN |
| Приложение | Зависит от настроек | Может получать исходный IP через заголовок |
| Журнал доступа | Зависит от проекта | Записи могут оставаться и на CDN, и на origin |
При чтении журналов нужно проверять, журнал какой именно точки вы смотрите.
Журналы CDN, балансировщика нагрузки, исходного сервера и приложения показывают разную информацию.
CDN — не технология анонимизации
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.
URL : https://www.cloudflare.com/learning/cdn/what-is-a-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 как «точку промежуточной передачи и обработки на стороне веб-сайта» и отдельно рассматривать назначение, журналы, завершение TLS, кэш и Cookie.
Связанные инструменты
BrowserLeaks WebRTC
Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.
Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.
Google Search removal tools
Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.
Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.
