Tentativi tentativi di hacking degli ultimi 2 giorni

0

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
    
posta user1503606 14.03.2017 - 15:16
fonte

3 risposte

3

Il modo migliore è quello di rilasciare questo sul firewall stesso, poiché l'indirizzo IP 46.183.120.20 sembra essere in Albania, il modo migliore sarebbe quello di rilasciarlo per un po '. (A meno che tu non abbia amministratori in Albania).

Un semplice:

iptables -A INPUT -s 46.183.120.20 -j DROP

Probabilmente scoraggerebbe i loro tentativi di forza bruta, e potrai aggiungerli di nuovo più tardi.

In alternativa, lascia che lo script fail2ban li faccia cadere sul ifrewall, non aggiungendolo a .htaccess; non hai bisogno del tuo server web Apache per gestire questa richiesta che non vuoi comunque gestire.

    
risposta data 14.03.2017 - 20:04
fonte
0

Se disponi di un dispositivo firewall, puoi creare una regola black-list per eliminare pacchetti da questo IP.

Se non hai un firewall, puoi utilizzare linux iptables per questo.

    
risposta data 14.03.2017 - 15:54
fonte
0

Blocco cose come questa usando CloudFlare, nel piano gratuito. Per renderlo efficace, devi impedire che altri IP oltre a CloudFlare e il tuo IP siano in grado di accedere direttamente al server. Dal momento che ospite in AWS, lo faccio utilizzando i gruppi di sicurezza per bloccare a livello di hypervisor, sebbene sia possibile utilizzare anche i NACL per bloccare a livello di sottorete. L'utilizzo di un servizio esterno riduce il consumo di risorse.

Uso Nginx anche per valutare l'accesso alle pagine / script di accesso, concedo due richieste al minuto per IP. Un attacco distribuito lo circonda, ma la maggior parte degli attacchi semplici che ho visto da un singolo IP.

    
risposta data 14.03.2017 - 20:17
fonte

Leggi altre domande sui tag