Learn

284 статейКатегория: Все
Сеть

Что такое CDN

Когда вы открываете сайт, данные не всегда приходят только с сервера оператора сайта.

Изображения, 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Пользователь обращается к доменному имени
2DNS возвращает адрес подключения на стороне CDN
3Браузер подключается к edge-серверу CDN
4CDN проверяет кэш
5Если кэш есть, CDN возвращает данные
6Если кэша нет, CDN идет за данными к исходному серверу

Поэтому один и тот же домен может возвращать разные IP-адреса в зависимости от региона и сети.

Это не обязательно ошибка.

CDN и балансировка нагрузки меняют адрес подключения в зависимости от места пользователя, загруженности и сбоев.

CDN и завершение TLS

В HTTPS используется TLS.

В конфигурации с CDN HTTPS-подключение с точки зрения браузера может завершаться на CDN.

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

УчастокСвязьВнимание
Браузер — CDNЗащищено HTTPSДля пользователя точка подключения находится на стороне CDN
Внутри CDNЗона управления оператора CDNCDN обрабатывает запрос
CDN — originHTTPS в зависимости от конфигурацииВажны настройки оператора сайта
Исходный серверОбрабатывает исходные данныеМожет видеть подключение как приходящее от 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 виденОписание
CDNIP-адрес источника пользователяПринимает запрос напрямую от пользователя
Исходный сервер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 не означает анонимизацию
CookieCookie и состояние входа остаются даже через 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, поэтому перед использованием его нужно проверить.

URL : https://browserleaks.com/webrtc

Открыть внешний сайт
Search result removal

Google Search removal tools

Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://support.google.com/websearch/answer/3143948

Открыть внешний сайт

Связанные статьи