fail2ban para bloquear ataques de força bruta do Wordpress no wp-login.php

3

Existe uma maneira de configurar o fail para proibir o bloqueio no IP que atinge o wp-login muitas vezes?

Eu tentei adicionar esta jail.local:

[apache-wp-login]

enabled = true
action   = iptables[name=wplogin, port=http, protocol=tcp]
           sendmail-whois[name=wplogin, dest=root, [email protected]]
filter  = apache-wp-login
logpath = /var/log/apache2/other_vhosts_access.log
maxretry = 5

E, em seguida, adicionando uma definição em /etc/fail2ban/filter.d/apache-wp-login.conf:

[Definition]

# Option:  failregex
# Notes.:  Regexp to catch Apache dictionary attacks on Wordpress wp-login
# Values:  TEXT
#
failregex = [\w\.\-]+ [\w\.\-]+ .*] "POST /wp-login.php

Ainda recebendo wp-login tenta ultrapassar o limite maxentry ... isso poderia ser porque eu estou usando o formato de log combinado, em vez de comum?

    
por Alex Douglas 22.07.2014 / 19:57

1 resposta

3

Eu modifiquei meu arquivo functions.php do tema WordPress para adicionar o seguinte:

add_action('wp_login_failed', 'log_wp_login_fail'); // hook failed login function log_wp_login_fail($username) { error_log("WP login failed for username: $username"); }

O login com falha agora está gravado nos meus registros de erros.

Meu apache-wp-config.conf tem esta aparência: [Definition] failregex = [[]client <HOST>[]] WP login failed.* ignoreregex =

E minha jail.local contém o seguinte: [apache-wp-login] enabled = true filter = apache-wp-login action = iptables-multiport[name=apache-wp-login, port="http,https"] sendmail-whois[name=apache-wp-login, dest=root, [email protected]] logpath = /home/*/logs/*error.log bantime = 720 maxretry = 6

Mais informações neste site

    
por 22.07.2014 / 20:09