Proteggere Apache con ModSecurity
1. Installazione
apt install -y libapache2-mod-security2
a2enmod security2
cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
2. Attivazione
nano /etc/modsecurity/modsecurity.conf
# Cambia:
SecRuleEngine On
3. OWASP Core Rule Set
apt install -y modsecurity-crs
# Le regole vengono attivate automaticamente
4. Regole personalizzate
nano /etc/modsecurity/custom-rules.conf
# Blocca user-agent sospetti
SecRule REQUEST_HEADERS:User-Agent "nikto|sqlmap|nmap" \
"id:1001,phase:1,deny,status:403,msg:Scanner detected"
# Blocca richieste con SQL injection patterns
SecRule ARGS "@rx (union|select|insert|delete|drop|update)" \
"id:1002,phase:2,deny,status:403,msg:SQL injection attempt"
5. Monitoraggio
# Log delle regole attivate
tail -f /var/log/apache2/modsec_audit.log
# Test
curl "http://target/?id=1 UNION SELECT 1,2,3"
# Deve restituire 403
Risultato: WAF attivo che blocca automaticamente attacchi web comuni (OWASP Top 10).