ModSecurity OWASP Core Rule Set

Cos'è ModSecurity

ModSecurity è un Web Application Firewall open source nato come modulo Apache nel 2002 e oggi disponibile per Apache, nginx e IIS. Permette di analizzare in tempo reale richieste HTTP e applicare regole di sicurezza. Combinato con il OWASP Core Rule Set (CRS), fornisce protezione completa contro le più comuni vulnerabilità web (SQL injection, XSS, RCE, LFI, RFI, scanner).

OWASP Core Rule Set

Il OWASP CRS è una raccolta di regole generiche, attivamente mantenuta dal progetto OWASP, che copre attacchi noti senza essere legata a specifiche applicazioni. Disponibile gratuitamente su GitHub, è il complemento di fatto a ModSecurity. La versione corrente (CRS 4.x) include oltre 700 regole organizzate in oltre 20 categorie.

Categorie di regole

Le regole CRS sono raggruppate in categorie: protocol enforcement (HTTP corretto), protocol attack (HTTP smuggling), application attack (SQLi, XSS, LFI, RFI, RCE), session fixation, HTTP attack, data leakages (info disclosure). Ogni categoria ha file dedicato, attivabile/disattivabile.

Paranoia level

Il CRS opera su paranoia level da 1 (predefinito, basso falsi positivi) a 4 (massimo, controlli rigorosi ma alti falsi positivi). PL1 protegge da attacchi più comuni con minimo impatto su falsi positivi. PL2-4 aggiungono controlli progressivamente più severi. Per applicazioni nuove iniziare con PL1, valutare PL2 dopo periodo di tuning.

Anomaly scoring

Il CRS usa anomaly scoring: ogni regola che matcha aggiunge punteggio alla request. Se il totale supera la soglia (default 5 per inbound, 4 per outbound), la richiesta viene bloccata. Permette decisioni più sfumate di blocco binario: richieste sospette con score moderato passano, quelle con multiple violazioni sono bloccate.

Installazione su nginx

Su nginx serve compilare il modulo libmodsecurity3 con connector nginx oppure usare pacchetti precompilati. Configurazione minima in nginx.conf: modsecurity on; modsecurity_rules_file /etc/nginx/modsec/main.conf;. Il file main.conf include il file di base CRS e regole custom.

Gestione falsi positivi

Il CRS genera falsi positivi, specialmente con applicazioni che usano payload complessi (CMS con editor WYSIWYG, API JSON ricche). Tecnica di tuning: identificare regola che blocca via log, aggiungere eccezione specifica per quel path/parametro con SecRuleRemoveByID o SecRuleUpdateTargetById. Mai disattivare intere categorie senza analisi.

Logging e debugging

ModSecurity logga su audit log dettagliato: ogni request bloccata o sospetta produce entry con request completa, regola triggered, score. Per debug attivare SecAuditEngine RelevantOnly per loggare solo eventi rilevanti. Strumenti come WAF-FLE e ELK centralizzano e analizzano log.

Hai bisogno di aiuto?

Se hai problemi di blacklist o deliverability email, il team di G Tech Group può aiutarti. Contattaci tramite il modulo di contatto.

Hai trovato utile quest'articolo?