Fail2ban. Настройка для защиты WordPress (wp-login.php, xmlrpc.php)

Задача: блокировка повторяющихся запросов на авторизацию в wordpress на уровне iptables.
Ubuntu 18.04
Интересуют запросы вида:
POST /wp-login.php
POST /xmlrpc.php

В файл jail.local добавляем

[wp-login]
port = http,https
action = iptables-multiport[name=WP, port="http,https", protocol=tcp]
filter = wp-login
logpath = /var/log/apache2/site.local-access.log
maxretry = 3

Создаём файл /etc/fail2ban/filter.d/wp-login.conf

[Definition]
failregex = <HOST> .*POST.*(wp-login\.php|xmlrpc\.php).*
# для vhost apache лога
# failregex = ^[^\s]+ <HOST> .*POST.*(wp-login\.php|xmlrpc\.php).*

В файл /etc/fail2ban/jail.d/defaults-debian.conf добавляем

[wp-login]
enabled = true

Проверяем работу фильтра:

fail2ban-regex /var/log/apache2/site.local-access.log /etc/fail2ban/filter.d/wp-login.conf
# fail2ban-regex /var/log/apache2/site.local-access.log /etc/fail2ban/filter.d/wp-login.conf
 
Running tests
=============
 
Use   failregex filter file : wp-login, basedir: /etc/fail2ban
Use         log file : /var/log/apache2/site.local-access.log
Use         encoding : UTF-8
 
 
Results
=======
 
Failregex: 205 total
|-  #) [# of hits] regular expression
|   1) [205] ^[^\s]+ <HOST> .*POST.*(wp-login\.php|xmlrpc\.php).*
`-
 
Ignoreregex: 0 total
 
Date template hits:
|- [# of hits] date format
|  [20402] Day(?P<_sep>[-/])MON(?P=_sep)ExYear[ :]?24hour:Minute:Second(?:\.Microseconds)?(?: Zone offset)?
`-
 
Lines: 20402 lines, 0 ignored, 205 matched, 20197 missed
[processed in 8.01 sec]
 
Missed line(s): too many to print.  Use --print-all-missed to print all 20197 lines

итого 205 найденных строк по регулярному выражению.
Чтобы увидеть все найденные строки добавляем ключ --print-all-matched

fail2ban-regex /var/log/apache2/site.local-access.log /etc/fail2ban/filter.d/wp-login.conf --print-all-matched

Перезапуск сервиса fail2ban

service fail2ban restart

Проверяем загрузку нового jail

fail2ban-client status

https://serveradmin.ru/nastroyka-fail2ban-dlya-zashhityi-wordpress/
https://wpmag.ru/2014/fail2ban-wordpress/
https://kamaok.org.ua/?p=1570
Другой вариант: https://2keep.net/fail2ban-wordpress/
https://blog.hook.sh/wp/total-wordpress-secutity/