Защита WordPress от DDoS-атак с помощью Cloudflare

Cloudflare принимает соединение с посетителем и передаёт запрос серверу только после проверки. При сетевой DDoS-атаке часть вредоносного трафика отсеивается на инфраструктуре Cloudflare, а статические файлы и разрешённые страницы отдаются из кэша. WordPress при этом остаётся на прежнем хостинге, но защищённый слой располагается ближе к пользователю. Подробнее о Vstプラグイン Exciter で高域に倍音を加えて音にキラリ感を出す調整.

Одного переключения прокси в Cloudflare недостаточно. Если исходный IP-адрес сервера доступен напрямую, злоумышленник может отправить трафик в обход Cloudflare. Поэтому защиту строят в несколько слоёв: проксирование DNS, ограничение доступа к серверу, правила WAF, лимиты запросов, мониторинг и проверенные резервные копии.

Механизм Что он защищает Ограничение Роль в схеме WordPress
Прокси и кэш Cloudflare Сетевой трафик и повторные обращения к статике Динамические запросы всё равно достигают PHP Основной внешний слой
WAF и лимиты запросов Подозрительные HTTP-запросы и всплески частоты Возможны ложные срабатывания Защита входа, API и XML-RPC
Брандмауэр сервера Прямой доступ к исходному серверу Не анализирует содержимое HTTP Разрешает соединения только от Cloudflare
Защита хостинга Объёмные атаки до пределов тарифа Возможности зависят от провайдера Резервная граница инфраструктуры

Как Cloudflare перехватывает трафик

Сетевые DDoS-атаки перегружают каналы, а прикладные атаки имитируют обычные обращения к WordPress. В первом случае помогают распределённая сеть Cloudflare и поглощение трафика. Во втором важны WAF, ограничение частоты запросов и проверка логики плагинов. Эти меры закрывают разные части атаки, поэтому их применяют вместе.

Защищённый маршрут выглядит так: посетитель обращается к адресу Cloudflare, DNS возвращает адреса его сети, а соединение с хостингом устанавливается оттуда. В панели домена запись со значком оранжевого облака передаёт трафик через прокси. Сервер должен принимать эти соединения и не отвечать посторонним посетителям.

Кэш уменьшает число обращений к PHP и базе данных, но не устраняет вредоносные запросы к динамическим адресам. Страницы входа, поиска, оформления заказа и административные панели обычно не кэшируют. Для них нужны отдельные правила, иначе защита кэша создаст лишь иллюзию безопасности.

Подготовка WordPress и инфраструктуры

Сначала составьте карту домена, блога и связанных сервисов: где размещены файлы и база данных, какие CDN, почтовые и внешние API используются, какие плагины постоянно выполняют запросы. Для проверки внешних зависимостей полезен отдельный разбор звукового плагина Exciter: перед переносом стоит убедиться, что медиамодуль не удерживает ресурсы и не создаёт лишних обращений.

Затем усильте WordPress: обновите ядро, тему и плагины, включите двухфакторную аутентификацию, выдавайте учётным записям минимальные права и запретите редактирование файлов из панели. Удалите неиспользуемые расширения. Каждая лишняя точка входа увеличивает поверхность атаки и усложняет диагностику необычного трафика.

Зафиксируйте нормальный режим: среднее число запросов, время ответа PHP, долю ошибок 5xx и нагрузку на базу данных. Эти значения станут базой сравнения во время инцидента. Также проверьте, можно ли быстро отключить дорогие поисковые запросы, массовые уведомления и задачи по расписанию.

Перенос DNS и настройка брандмауэра сервера

Перевод DNS на серверы Cloudflare обычно выполняют после создания зоны и проверки имён. В разделе DNS включите проксирование для записей A и AAAA, если они должны получать защищённый трафик. После проверки замените серверы имён у регистратора на назначенные Cloudflare. Не оставляйте одну запись с прокси, а другую открытой: обход по прямому адресу вернёт уязвимость.

На сервере включите брандмауэр и разрешите соединения только с актуальными диапазонами IP-адресов Cloudflare для IPv4 и IPv6. Управление через SSH и панель хостинга должно иметь отдельный список разрешённых адресов. Если почта должна отправляться напрямую, её маршрут следует отделить от маршрута сайта, а не открывать весь сервер.

Для HTTPS используйте сертификат на стороне Cloudflare и режим с полной проверкой сертификата источника. DNSSEC включайте только при поддержке со стороны регистратора и тестируйте после изменения. Заранее снижайте TTL у критических записей, если в плане есть быстрое переключение DNS; во время атаки частные изменения могут ухудшить управление.

Правила WAF и лимиты запросов

WAF Cloudflare анализирует HTTP-запросы и может блокировать очевидные признаки сканирования, внедрения и неправомерного использования API. В зависимости от тарифа доступны управляемые и пользовательские правила. Начните с управляемых правил, затем добавляйте собственные условия для редких методов, необычных параметров и обращений к несуществующим адресам. Сначала тестируйте их в режиме наблюдения, чтобы не отсечь мобильных посетителей и автоматических публикаций.

Лимит частоты полезнее настроить для wp-login.php, xmlrpc.php, wp-admin и тяжёлых маршрутов REST API. При превышении ограничения сервер может вернуть код 429. Если XML-RPC не нужен для pingback и внешних приложений, его лучше отключить. Не закрывайте API целиком без проверки: обновления, плагины и вебхуки могут перестать работать.

Для восстановления после инцидента заранее проверяйте резервные копии WordPress: нужны согласованные копии файлов и базы данных, отдельные учётные данные и проверка восстановления в чистое окружение. Храните архивы вне публичной директории и ограничивайте доступ. Резервная копия не остановит атаку, но сократит время возврата сайта в рабочее состояние.

Мониторинг и разбор инцидентов

Во время событий смотрите графики запросов, уникальных адресов, скорости ответов, кодов ошибок и трафика в панели Cloudflare. Сопоставляйте их с журналами WordPress, PHP-FPM, MySQL и брандмауэра. Резкий рост одинаковых маршрутов с одного адреса указывает на автоматизацию; широкий всплеск на разных адресах может быть органической популярностью или распределённой атакой.

Сохраняйте временной отрезок, источник, URL, код ответа и сработавшее правило. Полные журналы с персональными данными лучше не выгружать без необходимости. Если логи показывают тысячи запросов к дорогой функции, исправляйте её логику и кэширование. Если запросы не достигают WordPress, защита уже работает на границе Cloudflare.

Понимание устройства WordPress-сайта помогает определить, какой компонент отвечает за всплеск: DNS, кэш, PHP, база данных, задачи по расписанию или внешний API. Отметьте критические зависимости и владельцев их настроек. Особое внимание уделите процессам, которые запускаются автоматически и способны внезапно создавать тысячи одинаковых запросов.

Проверка защиты и план реагирования

Проверяйте защиту без риска для пользователей. Сначала повторите маршрут через тестовый домен и убедитесь, что сервер напрямую не отвечает извне. Затем включите правила в режиме наблюдения, проверьте обновление кэша, вход в административную панель и работу API. Нагрузочный тест согласуйте с хостингом и проводите в ограниченном диапазоне, а не на основном домене во время активной атаки.

Подготовьте порядок действий: кто переводит сайт в режим ограничений, кто проверяет журналы, кто разрешает смену DNS и кто связывается с провайдером. Зафиксируйте контакты и доступы, но храните их отдельно от публичных страниц. Во время инцидента не внедряйте новые плагины и не очищайте весь кэш: массовая очистка может направить поток одновременно на исходный сервер.


Начните с безопасного набора действий: переведите записи сайта на прокси Cloudflare, закройте прямой доступ к серверу, включите двухфакторную аутентификацию, настройте лимиты для входа и XML-RPC, а также создайте внешнюю проверенную резервную копию. Затем включите наблюдение за WAF и сохраните это состояние как базовый режим.

Защиту считайте работающей только после проверки маршрута, тестового домена и плана реагирования. Настройте предупреждения о резком росте трафика, назначьте ответственных и обновляйте конфигурацию после каждого обновления WordPress. Начните эти шаги сегодня, чтобы во время реального инцидента действовать по проверенной процедуре, а не импровизировать.

Иконка пользователя в серых тонах

Настройка Windows

Доступ к скрытым параметрам конфигурации, отключение телеметрии, работа с диспетчером задач и тонкая настройка меню «Пуск» в стиле Windows XP для Windows 7.

Иконка браузера в серо-синих тонах

Веб-браузеры

Скрытые страницы конфигурации в Firefox, Chrome и Opera, быстрый текстовый редактор прямо в браузере, эффект Lightbox JS для изображений и настройка внешнего вида Firefox.

Иконка папки в нейтральных серых тонах

WordPress и блоги

Выполнение PHP-кода в текстовых виджетах, диагностика времени загрузки разделов страницы, правильная очистка блога и условная загрузка виджетов социальных сетей.

Изометрический 3D-рендер: светлый веб-сайт с серо-голубым заголовком, парящий над чистой белой поверхностью Изометрический 3D-рендер: тёмно-серая иконка социального букмаркинга на светлом фоне

Обратная связь

Есть вопрос или предложение по темам блога? Напишите — автор на связи.