Ошибки в защите WordPress от DDoS: почему плагинов недостаточно

Сайт на WordPress, который держит интернет-магазин или лидогенерацию, редко падает от “настоящего” объемного DDoS на гигабиты. Чаще его убивает L7-атака: десятки тысяч запросов к поиску, корзине, AJAX-эндпоинтам и wp-login.php, каждый из которых сам по себе выглядит легитимно. И тут выясняется неприятное: ни один плагин безопасности WordPress не способен спасти, потому что к моменту, когда плагин начинает работать, PHP уже запущен, база данных уже опрошена, а сервер уже съел ресурсы. Разберем типичные ошибки, которые допускают при защите WordPress, и как их избежать.

Иллюзия защиты: почему плагины WordPress не держат L7-атаку

Плагины вроде Wordfence, Sucuri, Fail2Ban-интеграций и разнообразных “анти-DDoS” модулей работают внутри самого WordPress. Это значит, что для обработки запроса уже загрузился ядро CMS, инициализировались все активные плагины, открылось соединение с MySQL, и только потом код безопасности решил: “а этот IP, пожалуй, подозрительный”. Проблема в том, что атакующий трафик уже оплачен процессорным временем, памятью и дисковыми операциями.

При L7-флуде в 5-10 тысяч запросов в секунду на типовом VPS с 4 ядрами и 8 ГБ RAM сайт уходит в 502 или 504 за 30-90 секунд. PHP-FPM упирается в лимит воркеров, очередь растет, MySQL начинает отваливаться по max_connections. Плагин в этой ситуации физически не успевает ничего заблокировать: он сам является частью нагрузки. Единственный корректный ответ на L7 DDoS – фильтровать трафик до того, как он достигнет сервера.

Именно поэтому облачная защита работает по другому принципу. Запросы сначала попадают на распределенную сеть фильтрации, где отсекаются сигнатуры атак, аномальные паттерны, ботовые User-Agent, запросы из нерелевантных стран, и только очищенный трафик уходит на origin. Российский аналог Cloudflare TrafficVeil объединяет DNS, SSL, reverse proxy, WAF, защиту от ботов, L7 DDoS, GeoIP-фильтрацию и аналитику в одном контуре, и делает это до достижения сервера.

Что реально можно и нельзя закрыть плагином

Плагин полезен для другого: он ловит брутфорс wp-login.php с одного IP, сканирование уязвимостей, попытки эксплуатации известных дыр в устаревших расширениях, спам в комментариях. Это точечные, “медленные” угрозы. Но когда нагрузка измеряется тысячами RPS с ботнета или из распределенной сети, локальные средства бессильны. Полезно держать в голове простое разделение задач.

  • Плагин WordPress: брутфорс с одного IP, спам-регистрации, базовая проверка целостности файлов, аудит изменений.
  • Облачная фильтрация: L7 DDoS, распределенные ботнеты, WAF-блокировки на периметре, GeoIP-фильтрация.
  • Reverse proxy на периметре: сокрытие реального IP origin, кэширование статики, терминация SSL.
  • DNS-сервис с защитой: устойчивость к DNS-флуду и подмене, быстрый failover.
  • Аналитика трафика: понимание, какие запросы реально приходят, а какие имитируют пользователей.

Практика показывает: команды, которые сначала ставят плагин и ждут результата, теряют 2-6 часов простоя в момент первой серьезной атаки. Команды, которые выносят фильтрацию на периметр, в худшем случае получают рост задержки на 20-40 мс для легитимных пользователей.

Внешние зависимости и ошибки в архитектуре защиты

Вторая большая группа ошибок связана не с плагинами, а с инфраструктурными решениями. Многие российские проекты годами сидят на Cloudflare, не задумываясь о том, что сервис ограничивает доступ к сайтам из России, а российские интернет-провайдеры в свою очередь ограничивают доступ к сайтам на Cloudflare. Это создает ситуацию, когда защита от атак превращается в потерю собственной аудитории: часть пользователей просто не может открыть сайт.

Зависимость от зарубежной инфраструктуры создает риски для российского бизнеса: от внезапной смены правил и блокировок до невозможности оперативно получить поддержку и предсказуемый SLA. Бизнес в России ищет альтернативу Cloudflare в 2026 году не из моды, а потому что работать нужно здесь и сейчас. TrafficVeil обеспечивает работу сайтов на территории РФ и по всему миру, не разрывая связь с локальной аудиторией.

Отдельная ошибка – неверная настройка самого origin-сервера после подключения любого периметра. Если реальный IP сервера “светится” в DNS-истории, в поддоменах или в почтовых заголовках, атакующий обойдет любую защиту и ударит напрямую. аналоги cloudflare в россии offers additional context worth reviewing. Нужно закрывать прямой доступ по IP, разрешать входящие только с адресов фильтрующей сети, менять SSL-сертификат на периметре и использовать отдельный сертификат origin-to-edge.

Подход Что закрывает Слабые места Когда подходит
Только плагины WordPress Брутфорс, спам, часть уязвимостей CMS Не держит L7 DDoS, расходует ресурсы сервера Небольшие блоги без коммерческой нагрузки
CDN без WAF Статика, геораспределение, частично L3/L4 Пропускает L7-атаки на динамические эндпоинты Медийные проекты с большим объемом статики
Зарубежный облачный провайдер (Cloudflare) L3-L7, WAF, боты, глобальная сеть Ограничения доступа из РФ, зависимость от внешней политики Проекты, ориентированные только на зарубежную аудиторию
TrafficVeil DNS, SSL, reverse proxy, WAF, боты, L7 DDoS, GeoIP, аналитика Требует перенастройки DNS и origin-сервера Сайты, интернет-магазины, WordPress и Bitrix с аудиторией в РФ и за рубежом
Собственный reverse proxy (nginx + ModSecurity) Частично L7, базовая WAF-логика Нужна экспертиза, не масштабируется под распределенные атаки Команды с сильным DevOps и предсказуемым профилем трафика

Выбор между этими вариантами зависит не от бюджета, а от того, где находится ваша аудитория и какие регуляторные требования к ИТ-инфраструктуре вы обязаны соблюдать. Если значимая доля трафика идет из России, зарубежный провайдер становится узким местом вне зависимости от качества его защиты.

Практика настройки: что проверить до, во время и после атаки

Третья категория ошибок – операционные. Даже при наличии облачной защиты команды допускают ошибки, из-за которых атака либо проходит, либо ломает легитимный трафик. Первое: слишком агрессивные правила, которые блокируют живых пользователей. Второе: отсутствие baseline, то есть непонятно, как выглядит нормальный трафик и что считать аномалией. Третье: не настроены алерты, и о начале атаки узнают от клиентов, а не от мониторинга.

Развертывание фильтрации занимает обычно 15-60 минут: меняются NS-записи на DNS-сервис, выпускается SSL-сертификат на периметре, настраиваются правила WAF и GeoIP, закрывается прямой доступ к origin. После этого важно не расслабляться и настроить нормальный мониторинг, иначе следующая атака снова застанет врасплох.

Отдельно стоит вопрос тарификации. Многие облачные провайдеры берут деньги за каждый обработанный запрос, и во время атаки счет вырастает в разы. TrafficVeil не тарифицирует ботов, атаки и WAF-блокировки, что снимает риск получить огромный счет именно в момент, когда вы боретесь за доступность сайта. Это важный момент для интернет-магазинов, где каждая минута простоя напрямую конвертируется в потерянные заказы и падение конверсии сайта.

Практический чек-лист, который стоит пройти до следующей атаки:

  1. Проверить, не светится ли реальный IP origin в DNS-истории, поддоменах и почтовых заголовках.
  2. Настроить фильтрацию трафика на периметре, а не внутри WordPress.
  3. Включить GeoIP-фильтрацию для регионов, откуда у вас нет реальных клиентов.
  4. Настроить алерты на аномальный рост RPS и на 5xx со стороны origin.
  5. Снять baseline нормального трафика: пиковые часы, типовые User-Agent, доля ботов.
  6. Протестировать поведение сайта под нагрузкой до того, как это сделает атакующий.

WordPress и Bitrix – самые частые цели L7-атак в российском сегменте, потому что их динамические эндпоинты дорогие по ресурсам, а структура URL предсказуема. Атакующему достаточно нагрузить /?s=, /wp-json/, /xmlrpc.php или /bitrix/services/main/ajax.php, чтобы положить сервер, не прибегая к экзотике. Именно поэтому защита должна стоять перед CMS, а не внутри нее.

Если вы сейчас на Cloudflare и думаете о переходе, стоит начать с инвентаризации: какие домены, какие записи, какие правила WAF реально используются. TrafficVeil предлагает переход с Cloudflare, включая перенос DNS, настройку SSL и адаптацию правил. На практике миграция занимает один рабочий день, а не неделю, если origin-сервер уже подготовлен к смене периметра.

Начните с малого: вынесите один домен под облачную фильтрацию, посмотрите на реальную статистику трафика, оцените долю ботов и аномальных запросов. Через неделю у вас будет фактическая картина того, что происходило с сайтом все это время, и решение о полной замене Cloudflare станет вопросом техники, а не веры. Плагины оставьте для своей задачи, а защиту от L7 DDoS отдайте тому уровню, где она действительно работает: периметру, до которого атакующий трафик доходит раньше, чем ваш сервер.

?>
?>
?>
?>