Cloudflare WAF (Web Application Firewall) — это один из самых эффективных инструментов для защиты сайта от вредоносного трафика. Он анализирует каждый входящий запрос и блокирует попытки эксплуатации уязвимостей, перебора паролей, SQL-инъекций, XSS-атак и других распространённых угроз.
При правильной настройке WAF работает практически незаметно для обычных посетителей, но при этом значительно снижает количество автоматических атак на сайт.
В этой инструкции рассмотрим, как включить и настроить Cloudflare WAF, а также разберём наиболее полезные правила для сайтов на WordPress и других CMS.
Что такое WAF
WAF — это межсетевой экран для веб-приложений.
В отличие от обычного файрвола, который фильтрует сетевой трафик, WAF анализирует HTTP- и HTTPS-запросы к сайту.
Он помогает защитить сайт от:
- SQL Injection;
- Cross-Site Scripting (XSS);
- Remote Code Execution (RCE);
- попыток подобрать пароль;
- массового сканирования сайта;
- эксплуатации известных уязвимостей CMS;
- вредоносных ботов;
- подозрительных запросов к административной панели.
Большинство атак блокируется ещё до того, как запрос попадёт на сервер.
Какие тарифы поддерживают WAF
Поддержка WAF зависит от выбранного тарифа Cloudflare.
На бесплатном тарифе доступны базовые механизмы защиты, включая отдельные функции WAF и управление пользовательскими правилами.
На платных тарифах доступны:
- Managed Rules;
- расширенные пользовательские правила;
- защита API;
- защита от известных уязвимостей;
- дополнительные инструменты анализа.
Даже бесплатный тариф обеспечивает хороший базовый уровень защиты для большинства сайтов.
Где находятся настройки WAF
Войдите в панель Cloudflare.
Выберите нужный домен.
Откройте раздел:
Security → WAF
Именно здесь находятся все настройки веб-файрвола.
В зависимости от тарифа список доступных функций может немного отличаться.
Включение Managed Rules
Если ваш тариф поддерживает управляемые правила, откройте вкладку:
Managed Rules
Включите основные наборы правил.
Cloudflare регулярно обновляет их автоматически.
Эти правила защищают сайт от наиболее распространённых видов атак и практически не требуют ручной настройки.
Отключать их без необходимости не рекомендуется.
Настройка пользовательских правил
Иногда требуется самостоятельно определить, какие запросы необходимо блокировать.
Для этого откройте:
Custom Rules
Нажмите:
Create rule
Введите название правила.
Например:
Block suspicious countries
Далее укажите условия срабатывания и выберите действие.
Cloudflare позволяет:
- разрешить запрос;
- заблокировать запрос;
- выполнить проверку (Managed Challenge);
- показать CAPTCHA;
- записать событие в журнал.
Как заблокировать доступ к административной панели по странам
Если вы управляете сайтом только из одной или нескольких стран, можно ограничить доступ к панели управления.
Создайте правило.
Условие:
URI Path contains /wp-admin
Добавьте второе условие:
Country is not Ukraine
или укажите любую страну, из которой вы обычно работаете.
В качестве действия выберите:
Managed Challenge
или:
Block
Это значительно уменьшит количество автоматических атак на административную панель.
Защита страницы входа WordPress
Практически каждый WordPress-сайт регулярно подвергается попыткам подбора пароля.
Создайте правило для страницы:
/wp-login.php
В качестве действия рекомендуется использовать:
Managed Challenge
Обычные пользователи смогут войти без проблем, а большинство автоматических ботов не сможет пройти проверку.
Ограничение доступа к XML-RPC
Если XML-RPC не используется, его лучше защитить.
Создайте правило для:
/xmlrpc.php
Если эта функция не нужна вашему сайту, можно выбрать действие:
Block
Если XML-RPC используется внешними сервисами, лучше выбрать:
Managed Challenge
Защита от SQL Injection
При использовании Managed Rules защита от SQL-инъекций уже включена.
Дополнительных действий обычно не требуется.
Cloudflare автоматически распознаёт характерные признаки SQL Injection и блокирует такие запросы.
Защита от XSS
Cloudflare также умеет обнаруживать попытки выполнения вредоносного JavaScript-кода.
Если используется Managed Rules, защита от XSS уже работает автоматически.
Отключать соответствующие правила не рекомендуется.
Защита от ботов
Перейдите:
Security → Bots
Если функция доступна на вашем тарифе, включите:
Bot Fight Mode
или:
Super Bot Fight Mode
Эти инструменты помогают блокировать вредоносных ботов, сканеры и автоматические системы сбора данных.
Для большинства сайтов рекомендуется оставить настройки по умолчанию.
Настройка Rate Limiting
Даже если WAF включён, большое количество запросов к одной странице может создать нагрузку на сервер.
Для защиты можно использовать Rate Limiting.
Откройте:
Security → WAF → Rate Limiting Rules
Создайте правило.
Например:
- URL содержит:
/wp-login.php
- количество запросов:
10 requests
- период:
1 minute
- действие:
Managed Challenge
или:
Block
Такая настройка эффективно защищает от перебора паролей.
Просмотр событий WAF
После создания правил полезно наблюдать за их работой.
Откройте:
Security → Events
Здесь отображаются:
- заблокированные запросы;
- выполненные проверки;
- страна отправителя;
- IP-адрес;
- причина блокировки;
- правило, которое сработало.
Эти данные помогают понять, какие атаки происходят чаще всего и требуется ли корректировка правил.
Что делать, если WAF блокирует обычных посетителей
Иногда легитимные запросы могут попасть под действие правил.
Если пользователи сообщают о проблемах:
- Откройте журнал событий.
- Найдите заблокированный запрос.
- Посмотрите, какое правило его обработало.
- При необходимости измените действие с Block на Managed Challenge.
- Если это безопасно, создайте исключение для конкретного URL или действия.
Не рекомендуется полностью отключать WAF из-за единичных ложных срабатываний.
Частые ошибки
Не открывается административная панель
Проверьте пользовательские правила.
Чаще всего причиной становится слишком строгое правило для:
/wp-admin
Не работает API
Если сайт использует REST API или сторонние интеграции, убедитесь, что они не блокируются WAF.
При необходимости создайте отдельное правило-исключение.
Не удаётся загрузить изображения
Иногда защитные правила могут блокировать большие POST-запросы.
Проверьте журнал событий и определите, какое правило сработало.
Рекомендуемая настройка для WordPress
Для большинства сайтов на WordPress достаточно следующей конфигурации:
- включены Managed Rules;
- включён Bot Fight Mode;
- страница /wp-login.php защищена через Managed Challenge;
- для /xmlrpc.php используется Block или Managed Challenge;
- настроено ограничение запросов (Rate Limiting) для страницы входа;
- регулярно просматривается журнал событий WAF.
Такая конфигурация обеспечивает хороший уровень защиты без сложной настройки и подходит как для небольших сайтов, так и для крупных проектов.
Cloudflare WAF не заменяет обновление CMS, плагинов и серверного программного обеспечения, но значительно снижает риск успешной атаки.
Даже базовая настройка помогает блокировать большинство автоматических угроз ещё до того, как они достигнут сервера. Если дополнительно использовать надёжные пароли, двухфакторную аутентификацию, SSL-сертификат и своевременно устанавливать обновления, уровень безопасности сайта станет значительно выше.