Как остановить накрутку трафика на сайте? 6 способов защиты для CDN
В статье объясняем причины внезапного роста трафика на веб-странице и делимся способами, как это исправить.

Когда компании используют CDN (Content Delivery Network) для ускорения сайтов и приложений, то нередко сталкиваются с резким ростом трафика, который не связан с реальными пользователями. Такая проблема увеличивает загрузку контента и задержку в сети, в худшем случае приводит к огромному счету за услугу CDN. Для компаний это может стать серьезной финансовой нагрузкой.
Часто причиной увеличения трафика становятся конкуренты, которые используют боты и скрипты для отправки тысячи запросов на ресурс. В результате вместо стандартного 1 ТБ в месяц клиент может потребить 500 ТБ за три дня, а его чек вырастет в 1 000 раз. В тексте разберем, как определить накрутку трафика и какие меры предпринять для защиты.
Как работает накрутка трафика
Обычно накруткой считают процесс искусственного увеличения посещаемости веб-ресурса. Ниже рассмотрим основные виды атак на CDN.
- Массовые запросы. Боты генерируют тысячи запросов к файлам. Обычно всплески трафика происходят в нехарактерное время для ресурса, например когда клиенты спят.
- Запросы с подозрительных IP-адресов или географических регионов. Большое количество IP-адресов с неизвестным местоположением затрудняет отслеживание и блокировку.
- Злоупотребление кэшированием. Злоумышленники могут обходить кэш-сервер CDN и увеличивать его нагрузку.
- Аномальные User-Agent или одинаковые заголовки у множества запросов. Фальшивые запросы маскируются под обычных пользователей, чтобы обходить фильтры и системы защиты.
User-Agent — это строка, которую браузер или другое клиентское приложение — например, мобильное, бот или скрипт — отправляет серверу в заголовке HTTP-запроса. Она содержит информацию об устройстве, операционной системе, браузере и его версии. Чтобы выглядеть как обычные пользователи, атакующие используют разные User-Agent. Боты и злоумышленники могут маскироваться под обычные браузеры, чтобы обходить фильтры.
Как защитить ресурс от накрутки трафика
Настройка лимитов и уведомлений
В Selectel мы не отслеживаем клиентский трафик в реальном времени, потому его анализ и контроль находится в зоне ответственности самого клиента. Это связано с тем, что характер трафика может значительно различаться в зависимости от типа ресурса, аудитории и специфики использования CDN.
Однако внезапные скачки потребления трафика могут привести к неожиданным расходам, поэтому у нас предусмотрена настройка уведомлений, которые помогут клиенту своевременно реагировать на изменения нагрузки. Для этого необходимо создать тикет и указать, при каком объеме потребленного трафика необходимо отправить уведомление.
Как это работает?
- Вы можете задать пороговое значение трафика — например, 1 ТБ, 10 ТБ и т. д.
- Когда потребление достигнет указанного уровня, система отправит вам уведомление.
Функция позволяет оперативно анализировать ситуацию и при необходимости принимать меры: проверить источник трафика, скорректировать настройки CDN или включить дополнительные механизмы защиты. Таким образом, мы предоставляем инструменты для контроля трафика, но ответственность за мониторинг и реакцию на аномальные изменения остается на стороне клиента.
Блокировка подозрительных IP-адресов и стран
В панели управления есть опция Политика доступа с IP-адресов, которая позволяет ограничивать доступ к CDN-контенту по указанному списку IP-адресов. По умолчанию опция выключена, а доступ к контенту ресурса разрешен всем IP. Клиенты могут использовать эту функцию, чтобы повысить безопасность ресурса, снизить вероятность атак и эффективнее контролировать трафик.
Атаки на CDN могут исходить из любых стран, но есть регионы, откуда такие угрозы встречаются чаще. Они могут быть связаны с ботнетами, прокси-сетями, VPN, а также деятельностью злоумышленников.
Настройка защиты по токену или заголовкам
В панели управления доступна функция, которая защищает файлы от нежелательных загрузок. Опция позволяет сделать ссылки на контент временными и ограничить доступ по IP. Если мошенник будет использовать истекшую ссылку или запрашивать контент не с доверенного IP, то не сможет ничего загрузить.
Настройка игнорирования параметров
Злоумышленники могут обходить кэш CDN и повышать нагрузку на Origin, добавляя к URL некорректные параметры. Каждый такой запрос CDN воспринимает как уникальный, поэтому отправляет его на Origin. В результате проблема приводит к росту трафика и увеличению расходов. Чтобы этого избежать, рекомендуем включить Игнорирование параметров запросов.
Игнорирование Set-Cookie при кэшировании
Set-Cookie — это HTTP-заголовок, который сервер отправляет в ответе, чтобы установить куки (cookies) в браузере пользователя. Куки — это небольшие фрагменты данных, которые хранятся на стороне клиента и используются для аутентификации, персонализации и хранения настроек.
Set-Cookie — полезный инструмент для аутентификации и персонализации трафика, но при некорректном использовании он может негативно повлиять на кэширование и производительность CDN.
- По умолчанию CDN не кэширует файлы с заголовком Set-Cookie — предполагается, что они персонализированы.
- Если Set-Cookie используют для статических файлов, например image.jpg, то его можно игнорировать в CDN, чтобы кэшировать файлы и снизить нагрузку на Origin.
По умолчанию файлы с HTTP-заголовком Set-Cookie не кэшируются. В результате каждый новый запрос пользователя проксируется на Origin, а не отдается из кэша. Это снижает процент кэшированного трафика и увеличивает нагрузку на источник.
Если Origin-сервер добавляет Set-Cookie к статическим файлам, но сами файлы одинаковы для всех пользователей, опция Игнорировать Set-Cookie поможет снизить нагрузку на Origin, уменьшить расход трафика и ускорить раздачу контента.
Анализ логов CDN и выявление аномалий
Анализ логов — один из самых эффективных способов обнаружения и предотвращения накрутки трафика. Логи позволяют увидеть реальные запросы, выявить подозрительную активность и вовремя принять меры, прежде чем накрутка приведет к росту расходов.
У нас в Selectel доступна опция автоматической выгрузки логов CDN-ресурсов в реальном времени. Логи содержат информацию о запросах пользователей, которые поступают на кэшируемые CDN-серверы и серверы предварительного кэширования. Логи можно выгружать сразу в объектное хранилище Selectel или любое доступное хранилище — например, S3, FTP или SFTP.
Заключение
Накрутка трафика через CDN — серьезная проблема, которая может привести к неконтролируемому росту расходов. Но если знать механизмы атак и использовать доступные инструменты защиты, то можно минимизировать эти риски. Использование описанных методов позволяет не только защититься от накрутки трафика, но и оптимизировать работу CDN, сократить нагрузку на сервер и снизить издержки.