- PVSM.RU - https://www.pvsm.ru -

Привет! Когда компании используют CDN (Content Delivery Network) [1] для ускорения сайтов и приложений, они нередко сталкиваются с резким ростом трафика, который не связан с реальными пользователями. Такая проблема увеличивает загрузку контента и задержку в сети, в худшем случае — приводит к огромному счету за услугу CDN. Для компаний это может стать серьезной финансовой нагрузкой.
Часто причиной увеличения трафика становятся конкуренты, которые используют ботов и скрипты для отправки тысяч запросов на ресурс. В результате вместо стандартного 1 ТБ в месяц клиент может потребить 500 ТБ за три дня, а его чек вырастет в 1 000 раз. В тексте разберем, как определить накрутку трафика и какие меры предпринять для защиты.
Обычно накруткой считают процесс искусственного увеличения посещаемости веб-ресурса. Ниже рассмотрим основные виды атак на CDN.
User-Agent — это строка, которую браузер или другое клиентское приложение — например, мобильное, бот или скрипт — отправляет серверу в заголовке HTTP-запроса. Она содержит информацию об устройстве, операционной системе, браузере и его версии. Чтобы выглядеть как обычные пользователи, атакующие хосты используют разные User-Agent. Боты и злоумышленники могут маскироваться под обычные браузеры, чтобы обходить фильтры.

В Selectel мы не отслеживаем клиентский трафик в реальном времени, потому его анализ и контроль находится в зоне ответственности самого клиента. Это связано с тем, что характер трафика может значительно различаться в зависимости от типа ресурса, аудитории и специфики использования CDN.
Однако внезапные скачки потребления трафика могут привести к неожиданным расходам, поэтому у нас предусмотрена настройка уведомлений, которые помогут клиенту своевременно реагировать на изменения нагрузки. Для этого необходимо перейти в панель управления [2], нажать на кнопку Помощь → Создать тикет. После — выбрать тему Услуги → CDN и указать в форме, при каком объеме потребленного трафика необходимо отправить уведомление.
Как это работает?
Функция позволяет оперативно анализировать ситуацию и при необходимости принимать меры: проверить источник трафика, скорректировать настройки CDN или включить дополнительные механизмы защиты. Таким образом, мы предоставляем инструменты для контроля трафика, но ответственность за мониторинг и реакцию на аномальные изменения остается на стороне клиента.
В панели управления есть опция, которая позволяет ограничивать доступ к CDN-контенту по указанному списку IP-адресов. По умолчанию опция выключена, а доступ к контенту ресурса разрешен всем IP. Клиенты могут использовать эту функцию, чтобы повысить безопасность ресурса, снизить вероятность атак и эффективнее контролировать трафик.
Чтобы включить опцию, нужно перейти в раздел CDN-ресурсы → Настройки и выбрать пункт Политика доступа IP-адресов. Настроить можно как разрешающую политику, так и запрещающую — для этого достаточно ввести список IP-адресов.

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

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

Set-Cookie — это HTTP-заголовок, который сервер отправляет в ответе, чтобы установить куки (cookies) в браузере пользователя. Куки — это небольшие фрагменты данных, которые хранятся на стороне клиента и используются для аутентификации, персонализации и хранения настроек.
Set-Cookie — полезный инструмент для аутентификации и персонализации трафика, но при некорректном использовании он может негативно повлиять на кэширование и производительность CDN.
По умолчанию файлы с HTTP-заголовком Set-Cookie не кэшируются. В результате каждый новый запрос пользователя проксируется на Origin, а не отдается из кэша. Это снижает процент кэшированного трафика и увеличивает нагрузку на источник.
Если Origin-сервер добавляет Set-Cookie к статическим файлам, но сами файлы одинаковы для всех пользователей, опция поможет снизить нагрузку на Origin, уменьшить расход трафика и ускорить раздачу контента. Чтобы ее включить, нужно добавить галочку на пункт Игнорировать Set-Cookie.

Анализ логов — один из самых эффективных способов обнаружения и предотвращения накрутки трафика. Логи [3] позволяют увидеть реальные запросы, выявить подозрительную активность и вовремя принять меры, прежде чем накрутка приведет к росту расходов.

У нас в Selectel доступна опция автоматической выгрузки логов CDN-ресурсов в реальном времени. Логи содержат информацию о запросах пользователей, которые поступают на кэшируемые CDN-серверы и серверы предварительного кэширования. Их можно выгружать сразу в объектное хранилище Selectel [4] или любое доступное хранилище — например, S3, FTP или SFTP.
Автор: AfanasevaT
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/boty/416743
Ссылки в тексте:
[1] CDN (Content Delivery Network): https://selectel.ru/services/additional/cdn/?utm_source=habr.com&utm_medium=referral&utm_campaign=services_article_cdn_100425_content
[2] в панель управления: https://my.selectel.ru
[3] Логи: https://docs.selectel.ru/networks-services/cdn/resources/logs/
[4] в объектное хранилище Selectel: https://docs.selectel.ru/cloud/object-storage/
[5] Источник: https://habr.com/ru/companies/selectel/articles/898318/?utm_source=habrahabr&utm_medium=rss&utm_campaign=898318
Нажмите здесь для печати.