Nginx: Блокировка WPScan средствами Fail2ban

Автор: | 31.03.2015

Nginx: Блокировка WPScan средствами Fail2ban

**Все команды в статье выполняются от рута

Первым делом установим fail2ban.

apt-get install fail2ban

Создаем конфигурационный файл с регулярным выражением, для определения попыток сканирования вашего wordpress.

Данное регулярное выражение работает с логами Nginx, версия для Apache2 находится сдесь.

nano /etc/fail2ban/filter.d/nginx-wpscan.conf

Вставляем:

# FAIL2BAN CONFIGURATION FILE
#
#
[Definition]
failregex = failregex = ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}:[0-9]{1,5} <HOST>.*"WPScan.*

Проверить до приминения этот фильтр можно с помощью команды

fail2ban-regex /var/log/nginx/test.com.access.log /etc/fail2ban/filter.d/nginx-wpscan.conf

Открываем конфиг jail.conf

nano /etc/fail2ban/jail.conf

Находим строки:

#
# JAILS
#

и после втсавляем

[apache-wpscan]
enabled = true
port = http,https
filter = apache-wpscan
logpath = /var/log/nginx/test.com.access.log
maxretry = 1

enabled — Активировать/Деактивировать правило
port — фильтруемый протокол (80/443)
filter — имя конфигурационного файла созданого ранее без окончания(.conf)
logpath — путь к лог файлу
maxretry — максимальное количество попыток

Сохраняем и перезагружаем fail2ban

/etc/init.d/fail2ban restart

Проверка забаненых ip.

iptables -L -n

Успехов.