Блокировка WPScan средствами Fail2ban
**Все команды в статье выполняются от рута
Первым делом установим fail2ban.
apt-get install fail2ban
Создаем конфигурационный файл с регулярным выражением, для определения попыток сканирования вашего wordpress.
Данное регулярное выражение работает с логами Apache2, версия для Nginx находится сдесь.
nano /etc/fail2ban/filter.d/apache-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/apache2/other_vhosts_access.log /etc/fail2ban/filter.d/apache-wpscan.conf
Открываем конфиг jail.conf
nano /etc/fail2ban/jail.conf
Находим строки:
# # JAILS #
и после втсавляем
[apache-wpscan] enabled = true port = http,https filter = apache-wpscan logpath = /var/log/apache2/other_vhosts_access.log maxretry = 1
enabled — Активировать/Деактивировать правило
port — фильтруемый протокол (80/443)
filter — имя конфигурационного файла созданого ранее без окончания(.conf)
logpath — путь к лог файлу
maxretry — максимальное количество попыток
Сохраняем и перезагружаем fail2ban
/etc/init.d/fail2ban restart
Проверка забаненых ip.
iptables -L -n
Успехов.