Manuel Roccon

ICT & Cyber Security Specialist

ModSecurity WAF – Installare regole CSR OWASP in CentOS 7

Nei precedenti articoli abbiamo visto come installare il Web Application Firewall di Apache attraverso il modulo Mod Security. Oltre al modulo è possibile installare e abilitare da repo le regole predefinite.

Mod Security offre un elevata funzione di sicurezza, filtrando e confrontando le richieste web che arrivano ad Apache con una serie di regole. Le regole cecano di mitigare bot, attacchi XSS e altro ancora, proteggendo la nostra applicazione e server web da possibili attacchi.

Purtroppo le regole generano troppi valsi positivi ed è necessario un accurato tuning, disabilitando e modificando alcune regole. Questo perché contengono qualsiasi condizione di attacco. Per esempio WordPress è quasi impossibile utilizzarlo senza disabilitare una grande quantità di regole.

Ora vediamo come configurare delle regole alternative al posto di quelle predefinite. A questo scopo useremo le regole OWASP, sviluppate da una community no profit di un migliaio di membri che ha messo a punto una serie di regole ottimizzate per i principali CMS e applicazioni e mitigare le principali vulnerabilità e noti attacchi.

Installazione

Innanzi accertiamoci che il modulo sia installato, on caso usiamo questo comando per installarlo. Queste regole sono compatibili solo con la version 2.4 + del modulo, è consigliabile utilizzare comunque l’ultima versione. Eseguiremo la configurazione su CentOS 7, per altre distribuzioni è necessario verificare i comandi equivalenti.

yum install mod_security

Verrà creata una directory modsecurity.d in /etc/httpd/ e il suo file di configurazione /etc/httpd/config.d/mod_security.conf

Ora andremmo a scaricare le regole dalla repository GIT di OWASP, in questo caso andremmo a mettere le regole all’interno della directory di mod_security:

cd /etc/httpd/mod_security.d
git https://github.com/SpiderLabs/owasp-modsecurity-crs.git 

Verrà generata una directory owasp-modsecurity-crs del percorso. Ora generiamo un file di configurazione, un esempio è nella stessa directory:

cd /etc/httpd/mod_security.d/owasp-modsecurity-crs
cp crs-setup.conf.example crs-setup.conf 

Ora è necessario modificare il file di mod_security e disabilitare le regole di default dove l’applicazione acquiesce le regole.

nano /etc/httpd/conf.d/mod_security.conf

E andiamo a commentare le righe qui sotto:

<IfModule mod_security2.c>
     # ModSecurity Core Rules Set configuration
#        IncludeOptional modsecurity.d/*.conf
#        IncludeOptional modsecurity.d/activated_rules/*.conf
 
     # Default recommended configuration
     SecRuleEngine On
     SecRequestBodyAccess On 

Ora generiamo un nuovo file di configurazione per le nostre nuove regole:

nano /etc/httpd/conf.d/owasp-modsecurity-crs.conf 

e andiamo a inserire questo contenuto:

<IfModule security2_module>
      Include modsecurity.d/owasp-modsecurity-crs/crs-setup.conf
      Include modsecurity.d/owasp-modsecurity-crs/rules/*.conf
</IfModule> 

Ora testiamo la configurazione e riavviamo il servizio Apache:

httpd -t 
Syntax OK

systemctl restart httpd

Ora il nostro WAF analizzerà tutte le richieste ad Apache e bloccherà tutte le richieste che violano le regole appena instalalte.

Potete aggiornare sempre le regole attaverso GIT, la comunity è solita a rilasciare aggiornamenti:

cd /etc/httpd/modsecurity.d/owasp-modsecurity-crs/ | git pull

E’ possibile in caso l’aggiornamento schedulato delle regole tramite cron tab.

Vi riporto alcuni articoli collegati per implementare la sicurezza tramite mod security:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *