Ho notato un aumento della mia CPU negli ultimi due giorni, quindi ho guardato il mio access_log e sono stato costantemente pingato dall'ip. 46.183.120.20.
46.183.120.20 - - [14/Mar/2017:14:11:46 +0000] "POST /wp-login.php HTTP/1.0" 403 221 "-" "-"
Come posso bloccare questo? Ho installato failtoban per Wordpress e ho aggiunto anche il codice sotto al mio .htaccess ma sono implacabili da 2 giorni.
Order Deny,Allow
Deny from 46.183.120.20
il mio error_log è costantemente in lista.
[Tue Mar 14 14:15:10.466203 2017] [access_compat:error] [pid 30090] [client 46.183.120.20:52003] AH01799: client denied by server configuration: /var/www/html/example.com/wp-login.php
Rotazione fino alla fine dell'ip: 52003.
Qualche suggerimento su come fermare questo attacco?
Ok così aggiornamento Sto cercando di installare fail2ban ho installato il plugin wp e l'installazione.
[wordpress-hard]
enabled = true
filter = wordpress-hard
logpath = /var/log/auth.log
maxretry = 3
port = http,https
Se guardo i miei access_logs, sono costantemente colpito dai seguenti ping che aumentano la mia CPU.
POST /administrator/login HTTP/1.1" 404
GET /administrator/ HTTP/1.1" 404
POST /administrator/login HTTP/1.1" 404
Cercando di trovare il modo migliore per bloccarli usando fail2ban il mio percorso log dovrebbe essere il percorso del mio file access_log?
Sto pensando di aggiungere questo filtro ma un po 'nervoso perché non ho alcuna conoscenza di fail2ban
failregex = .*:(80|443) <HOST> .*(GET|POST) .*/xmlrpc.php
.*:(80|443) <HOST> .*(GET|POST) .*/wp-login.php
.*:(80|443) <HOST> .*(GET|POST) /administrator/index.php
.*:(80|443) <HOST> .*(GET|POST) /administrator/
.*:(80|443) <HOST> .*(GET|POST) /administrator/login HTTP
Quando eseguo un test sul filtro, viene eseguito per anni.
fail2ban-regex /var/log/httpd/access_log /etc/fail2ban/filter.d/wordpress-hard.conf
Matched time template Day/MONTH/Year:Hour:Minute:Second
Matched time template Day/MONTH/Year:Hour:Minute:Second
Matched time template Day/MONTH/Year:Hour:Minute:Second
Matched time template Day/MONTH/Year:Hour:Minute:Second
Matched time template Day/MONTH/Year:Hour:Minute:Second
Matched time template Day/MONTH/Year:Hour:Minute:Second
Matched time template Day/MONTH/Year:Hour:Minute:Second
Matched time template Day/MONTH/Year:Hour:Minute:Second
Apprezzerebbe davvero qualsiasi aiuto o consiglio su questo
Infine, riesci a farlo funzionare con quanto segue.
[block-all]
enabled = true
port = http,https
filter = block-all
logpath = /var/log/httpd/access_log
maxretry = 10 # number of requests made
findtime = 30 # time scale of those requests
bantime = 600 # ban time 10 minutes
action = iptables[name=HTTP, port=http, protocol=tcp]
E
[Definition]
failregex = ^<HOST> -.*"(GET|POST) .*/administrator
^<HOST> -.*"(GET|POST) .*/administrator/login/
ignoreregex =
restart service fail2ban
Non sono sicuro se questo è buono o cattivo, ma funziona se eseguo il file di log posso vedere che molti IP sono stati bannati.
tail -f /var/log/fail2ban.conf