Wordfence — надёжное решение для защиты конечных точек, однако его модель локальной обработки потребляет ресурсы CPU и памяти вашего сервера. Результат? Ваш сайт начинает медленнее работать.
В итоге ваш хостинг может прислать вам в какой-то момент подобное «письмо счастья» (как это было у меня после установки Wordfence):

В этой статье мы подробнее рассмотрим Wordfence и изучим, как он может снижать производительность вашего сайта. Мы поговорим о том, как это влияние масштабируется в зависимости от трафика, и почему архитектура, ориентированная на облако, часто является единственным способом поддерживать адекватную производительность сайта.
Wordfence — популярный плагин безопасности для WordPress, который нередко подвергается критике за значительные проблемы с производительностью веб-сайтов. Некоторые веб-хостинги вообще запрещают его использование.
При этом некоторые функции, улучшающие производительность, могут снизить способность плагина обнаруживать и предотвращать угрозы безопасности. Хотя настройка параметров Wordfence может в некоторой степени улучшить производительность, это не всегда лучшее решение. Но приходится жертвовать безопасностью.
- Как Wordfence замедляет работу сайта
- Скачки нагрузки на CPU во время сканирования
- Правила брандмауэра
- Кэширование
- Разрастание базы данных
- WordFence не устраняет все проблемы безопасности, замедляющие работу вашего сайта
- Вредоносное ПО
- Боты
- Как оптимизировать Wordfence, чтобы он не потреблял столько ресурсов
- Отключите отслеживание трафика в реальном времени
- Включите сканирование с низким потреблением ресурсов
- Оптимизируйте БД
Как Wordfence замедляет работу сайта

Существует два типа проблем, из-за которых Wordfence влияет на скорость и производительность сайта. Давайте рассмотрим их подробнее.
Скачки нагрузки на CPU во время сканирования

Сканер вредоносных программ Wordfence использует ресурсы вашего сервера для поиска вирусов. Если ваш веб-сайт содержит много ресурсоемких файлов, таких как изображения и другие медиафайлы, процесс сканирования может занять больше времени и потребовать больше ресурсов для обнаружения потенциальных уязвимостей.
Для решения этой проблемы Wordfence предлагает возможность выполнения ограниченного сканирования вместо стандартного, что может быть особенно полезно для сайтов с высокой посещаемостью. Однако стоит отметить, что ограниченное сканирование не настолько эффективное.
Для сайта среднего размера, содержащего более 10 000 файлов, процесс стандартного сканирования может исчерпать все доступные ресурсы сервера, вызывая ошибки 503 Service Unavailable у реальных посетителей.
Правила брандмауэра
Один из основных способов защиты вашего сайта — это брандмауэр Wordfence. Брандмауэр предназначен для анализа входящего трафика и блокировки любого подозрительного трафика на основе предопределенных правил. Хотя эти правила созданы для предотвращения атак, они также могут негативно влиять на производительность вашего сайта, увеличивая нагрузку на сервер. В некоторых случаях они могут вызывать задержки в обработке легитимных запросов.

Влияние брандмауэра на производительность веб-сайта может варьироваться в зависимости от различных факторов:
- Размер вашего веб-сайта
- Доступные ресурсы сервера
- Сложность правил брандмауэра
В более ранних версиях плагин Wordfence сканировал весь трафик сайта на наличие вредоносной активности. Однако в последних версиях плагин сфокусирован на сканировании трафика только по определенным параметрам и в основном настроен на блокировку ботов, осуществляющих перебор паролей (брутфорс).
Хотя защита от брутфорса важна, стоит отметить, что лишь небольшой процент успешных атак на сайты WordPress обусловлен слабыми учетными данными. В реальности же большинство успешных атак связано с уязвимостями, таких как SQL-инъекции и XSS-атаки.
Кэширование
Кэширование в Wordfence также может замедлять работу вашего сайта. Кэширование и повышение производительности тяжело заставить работать в связке. Обычно для этого требуется специалист.
Разрастание базы данных
Wordfence хранит часть своих данных в трех основных таблицах: wp_wflogs, wp_wfStatus и wp_wfHits. Поскольку Wordfence — это брандмауэр для конечных точек, любое отдельное решение, сканирование Heartbeat и заблокированные запросы записываются непосредственно в вашу БД WordPress.
На сайте с массированными бот-атаками таблица wflogs может разрастись на несколько сотен мегабайт за считанные дни. По мере расширения этой таблицы запросы к БД замедляются, что может задерживать общий рендеринг страниц вашего сайта.
Справедливости ради следует отметить, что Wordfence использует систему wp-cron для очистки этих таблиц. Если же Cron по какой-либо причине не работает, таблицы не будут очищаться, что приведет к раздуванию базы данных, которая в конечном итоге может превысить лимит дискового пространства вашего хостинга.
Хуже всего то, что разросшаяся база данных влияет не только на посетителей; она замедляет работу админ-панели WordPress.
WordFence не устраняет все проблемы безопасности, замедляющие работу вашего сайта
Вредоносное ПО
Важно отметить, что Wordfence может не найти все вредоносные программы на вашем сайте.
Хотя Wordfence располагает обширной базой данных сигнатур вредоносных программ, проблема заключается в механизме обнаружения: сопоставлении сигнатур. Сопоставление сигнатур основано на том, что их база данных постоянно обновляется и является на 100% полной, чего, естественно, невозможно добиться. Часто наблюдается задержка обнаружения вредоносного софта по мере появления новых уязвимостей нулевого дня.
Вредоносные программы нулевого дня и вредоносные программы с незначительными отличиями могут ускользнуть от этого механизма.
Таким образом, вредоносное ПО может быть одним из факторов, способствующих замедлению работы веб-сайта.
Боты
Боты могут атаковать сайты по разным причинам. Возможно, это бот, использующий метод брутфорса, чтобы взломать вашу админ-панель WordPress. Или это может быть конкурент, добавляющий тысячу товаров на вашу страницу оформления заказа, чтобы получить доступ к информации о товарах.
Повторяющиеся запросы от вредоносных ботов могут парализовать сайт из-за нагрузки на сервер. Wordfence не всегда блокирует всех вредоносных ботов, поскольку некоторые из них умело маскируются под безопасных роботов, таких как боты проверки доступности или краулеры поисковых систем.
Поэтому атаки ботов не всегда отфильтровываются Wordfence, что может привести к всплескам запросов к серверу и дальнейшему замедлению работы вашего сайта.
Как оптимизировать Wordfence, чтобы он не потреблял столько ресурсов
Отключите отслеживание трафика в реальном времени

Для сайтов с высокой посещаемостью рекомендовано переключиться в настройках брандмауэра с параметра All Traffic на Security Only.
Для этого перейдите в раздел Tools > Live Traffic и установите режим логирования на Security Only.
Включите сканирование с низким потреблением ресурсов

Wordfence добавил настройку, позволяющую увеличить продолжительность сканирования в 2-4 раза, чтобы снизить потребление ресурсов.
Находится опция в разделе Scan > Scan Options. Обратите внимание, что время сканирования может вырасти до нескольких часов.
Вы также можете установить максимальное время выполнения для каждого этапа сканирования (к примеру, 15 или 20 секунд). Это предотвратит «убийство» длительно работающих процессов PHP вашим хостингом.
Оптимизируйте БД
В Wordfence перейдите в раздел All Options > Tool Options и найдите параметр «Amount of Live Traffic data to store». Снизьте это значение до 100 или 500 строк, чтобы плагин активнее удалял старые данные.
Если вы перепробовали все способы решения проблем с Wordfence, но ничего не помогло, перейдите на другой плагин безопасности, который будет работать из облака (не тратя ваши серверные ресурсы).
Источник: https://www.malcare.com
