Security Blog
Security Blog
Posted By Gregory

Как защитить WordPress с помощью Fail2Ban


English version: How to protect WordPress with Fail2Ban


Используя WP Cerber Security и Fail2Ban вместе, вы можете усилить защиту на самом эффективном уровне. Это позволяет защитить WordPress от атак brute-force и DoS на уровне ОС с помощью iptables .

Узнайте больше об атаках: Атаки методом подбора, DoS и DDoS — в чем разница?

Примечание: для настройки Fail2Ban вам необходимо иметь права root на вашем сервере Linux.

С WP Cerber Security у вас есть три варианта использования Fail2Ban

  1. Использование заголовков ответа HTTP 403, если вы хотите отслеживать журнал доступа Apache
  2. Использование файлов syslog для мониторинга неудачных попыток входа в систему
  3. Использование пользовательского файла журнала для отслеживания неудачных попыток входа в систему

Мониторинг журнала доступа Apache для ответов HTTP 403

При неудачной попытке входа в систему WP Cerber возвращает ответ 403 в заголовке HTTP. Этот ответ будет записан в журнал доступа Apache, и эти записи могут отслеживаться Fail2Ban. Такое поведение WP Cerber включено по умолчанию. Недостатком этого подхода является то, что Fail2Ban должен анализировать весь access.log, чтобы найти эти попытки.

Использование syslog для мониторинга неудачных попыток входа в систему

По умолчанию WP Cerber использует функцию LOG_AUTH при регистрации неудачных попыток в файле syslog. Однако вы можете указать функцию со своим собственным значением. Чтобы задать новое значение, необходимо определить константу CERBER_LOG_FACILITY с целочисленным значением. Примечание: чтобы включить запись в syslog или пользовательский файл (см. ниже), необходимо включить опцию Записывать неудачные попытки входа в файл в разделе «Активность» настроек плагина.

 определить('CERBER_LOG_FACILITY', LOG_AUTHPRIV);

Использование пользовательского файла для мониторинга неудачных попыток входа в систему

Если вы хотите записывать все неудачные попытки в любой пользовательский файл журнала, вам нужно указать имя файла с абсолютным путем, используя константу CERBER_FAIL_LOG . Не забудьте установить разрешение на запись для процесса Apache в папке или файле журнала и включить Write failed login attempts to the file . Если файл не существует, плагин пытается создать его. Если CERBER_FAIL_LOG определен, плагин не записывает сообщения в системный журнал по умолчанию.

 define('CERBER_FAIL_LOG','/var/log/fail2ban.log');

Убедитесь, что процесс веб-сервера (Apache) имеет разрешение на запись в указанный файл.

Дополнительная информация:

https://timnash.co.uk/using-fail2ban-wordpress/

http://www.fail2ban.org

https://www.digitalocean.com/community/tutorials/how-fail2ban-works-to-protect-services-on-a-linux-server


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.