Чтобы не забыть:
Первым делом нужно установить fail2ban, если он еще не установлен.
Потом на wordpress устанавливаем плагин WP fail2ban от автора Charles Lecklider и активируем его.
В папке с плагином лежит еще одна папочка с инструкциями для fail2ban, называется filters.d, в ней находим два файла, wordpress-hard.conf и wordpress-soft.conf. Эти два файла нужно скопировать в /etc/fail2ban/filters.d/.
В зависимости от степени активности злоумышленников выбираем мягкий фильтр или жесткий фильтр, и в файл /etc/fail2ban/jail.local добавляем следующие строки:
[wordpress-hard]
enabled = true
filter = wordpress-hard
logpath = /var/log/auth.log
maxretry = 1
port = http,https
или
[wordpress-soft]
enabled = true
filter = wordpress-soft
logpath = /var/log/auth.log
maxretry = 3
port = http,https
По умолчанию плагин использует LOG_AUTH для логирования попыток входа. Однако, некоторые системы используют для записи событий LOG_AUTHPRIV. То есть, смотрим, есть ли у нас вообще файл /var/log/auth.log. Если он есть и не пустой, ничего менять не надо. Если его нет, то вероятнее всего, логирование происходит в файл /var/log/secure. Если это так, нужно добавить в wp-config.php такую строчку:
define('WP_FAIL2BAN_AUTH_LOG',LOG_AUTHPRIV);
А в /etc/fail2ban/jail.local меняем строку logpath = /var/log/auth.log на logpath = /var/log/secure. После этого делаем рестарт нашему fail2ban:
# fail2ban-client reload
Не забудьте проверить, внесен ли ваш IP в список исключений fail2ban, вам ведь наверняка захочется протестировать его работу. Это делается командой:
# fail2ban-client get wordpress-hard ignoreip
Если в ответе команды будет ваш IP, можете начинать тестировать. Хорошей работы, быстрых серверов и широких каналов вам.