Come posso bloccare un IP, se ricevo molte richieste http in un secondo?

14

Se qualcuno ha provato un attacco di forza nel mio sito Web, come posso bloccarli?

Idealmente, voglio bloccare un IP se ho molte richieste http / Apache in un secondo.

    
posta lee peat 12.05.2013 - 08:01
fonte

3 risposte

8

fail2ban può essere configurato per farlo. Puoi configurarlo per attivarsi su una corrispondenza regolare in un file di log e se accade troppe volte al minuto (non sono sicuro se va alla seconda risoluzione ma semplicemente moltiplica quello che stavi pensando al secondo per 60) e può rilasciare l'IP del client nel filtro del pacchetto iptables o qualsiasi altra azione che si desidera intraprendere. Oppure puoi usare il modulo di iptables recente e adattare quello che ho fatto qui per gli attacchi di forza bruta SIP da usare con il tuo server web:

link

    
risposta data 12.05.2013 - 08:08
fonte
10

fail2ban è una soluzione facile da implementare in questi casi.

Aggiungi un file block-all-dem-noobs.conf alla tua directory filter.d , qualcosa di simile a questo

[Definition]
failregex = ^<HOST> -.*"GET.*

Traduzione: un RegExp per trovare le richieste GET

Quindi crea una nuova voce in jail.conf , qualcosa di simile a questo

[block-all-dem-noobs]
enabled = true
port = http,https
filter = block-all-dem-noobs
logpath = /var/log/httpd/access.log
maxretry = 100
findtime = 5
bantime = 600
action = iptables[name=HTTP, port=http, protocol=tcp]

Traduzione: guarda il mio file access.log , quindi blocca per 600 secondi (10 minuti) gli indirizzi IP che hanno effettuato 100 richieste in 5 secondi

Uno dei principali svantaggi, tuttavia, è che questo potrebbe produrre falsi positivi per gli utenti NAT ed, poiché saranno tutti appare come un indirizzo IP.

    
risposta data 12.05.2013 - 09:57
fonte
1

È possibile configurare il modulo mod_evasive di Apache. Questo modulo fornisce una funzione di base mantenendo una tabella hash di IP e pagine richieste e quando un livello di soglia viene superato su una pagina o su un sito target "bloccherà" l'IP con un errore 403 "Proibito". Per i dettagli di configurazione leggi " Come fermare un attacco DDoS Apache con mod_evasive ".

    
risposta data 12.05.2013 - 09:58
fonte

Leggi altre domande sui tag