fail2ban e mod-security
Sicuramente conoscerete fail2ban (ho già scritto diversi articoli) ed anche mod-security. Il primo effettua controlli periodici nei files di log alla ricerca di particolari messaggi, es errori ripetuti di accesso ssh, e provvede a bloccare l’IP sorgente creando una regola in iptables. Il secondo invece è un modulo per apache che controlla le richieste fatte al server web alla ricerca di tentativi di intrusione, sql injections, etc.
Normalmente accade che mod-security provvede a scrivere nel file di log i tentativi di exploit, solo che i tentativi potrebbero continuare all’infinito, finché manualmente non si vanno a controllare i file di log. Potrebbe quindi tornare utile una nuova regola per fail2ban in modo da controllare anche il file di log di mod-security e bloccare gli IP relative alle richieste anomale verso il server web.
Partiamo da una configurazione funzionante di mod-security e fail2ban e vediamo come configurare i due per funzionare insieme.
In mod-security l’unica cosa da fare è commentare nel file /etc/apache2/mod-security/modsecurity_crs_10_config.conf la direttiva :
1 |
#SecAuditLogRelevantStatus "^(?:5|4(?!04))" |
Creiamo un nuovo filtro per fail2ban, scrivendo nel file /etc/fail2ban/filter.d/mod_sec.conf:
1 2 3 4 5 |
# Fail2Ban configuration file for mod_security [Definition] failregex = \[.*?\]\s[\w-]*\s<HOST>\s ignoreregex = |
Attiviamo il filtro in /etc/fail2ban/jail.conf:
1 2 3 4 5 6 7 8 9 |
[mod_sec] enabled = true filter = mod_sec action = iptables-multiport[name=ModSec, port="http,https"] # sendmail-buffered[name=ModSec, lines=5, dest=you@mail.com] simple-log[name=modsec] logpath = /var/log/apache2/modsec_audit.log #bantime = 172800 maxretry = 3 |
Bene, ora possiamo riavviare apache e fail2ban ed i tentativi di richieste anomale al server web verranno bloccati.
enjoy!
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta