Fail2ban имеет возможность подключения сторонних модулей, для контроля доступа. Одним из таких модулей является модуль для WordPress.
Как установить на сервер Fail2ban я рассказывал в статье Fail2ban для SSH.
Для интеграции с WordPress постребуется установить в WordPress плагин WP fail2ban.
После его установки нужно скопировать из папки модуля для WordPress (обычно находится по адресу wordpress/wp-content/plugins/wp-fail2ban) в папку фильтров Fail2ban (находится по адресу /etc/fail2ban/filter.d) файл wordpress.conf.
И отредактировать конфигурацию Fail2ban в файле /etc/fail2ban/jail.conf, добавив в нее секцию WordPress:
enabled = true[wordpress]
filter = wordpress
logpath = /var/log/auth.log
port = http,https
maxretry = 5
findtime = 3600
bantime = 86400
где будет использоваться наш новый фильтр (filter) WordPress, который пишет все ошибки доступа в файл (logpath) /var/log/auth.log и данный фильтр работает для портов (port) http и https.
Но если в конфигурации Web сервера используется кэширующий прокси, то так же еще нужно его указать для плагина WP fail2ban, чтобы он начал брать адреса клиентов из специальных заголовков, а не адрес Frontend-proxy (как настроить Nginx в качестве Frontend-proxy я рассказывал в статьях Nginx, как frontend для нескольких серверов и Nginx Apache и реальный IP клиента).
Для этого открываем файл wp-config.php и добавляем в него строку с конфигурацией нашего Proxy-сервера.
define('WP_FAIL2BAN_PROXIES','127.0.0.1');
Где 127.0.0.1 – это адрес Proxy-сервера.
Остается перезапустить Fail2ban:
service fail2ban restart
Защита для WordPress готова.
Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктурыБыть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне. Для того, чтобы сделать заказ:
|