In questa guida analizziamo l’installazione e la configurazione di ModSecurity 2.5, l’ultima versione dell’applicazione disponibile che ha introdotto funzionalità interessanti come la possibilità di creare regole basate sulla posizione geografica dell’utente e la protezione dei dati delle carte di credito.
Come prima cosa è necessario scaricare ModSecurity dal sito http://www.modsecurity.org/download.
wget http://www.modsecurity.org/download/modsecurity-apache_2.5.12.tar.gz
Terminato il download, è possibile estrarre il contenuto del file.
tar -xvzf modsecurity-apache_2.5.12.tar.gz
Viene creata una cartella in cui sono contenuti i file di ModSecurity, la struttura della cartella è simile alla seguente
modsecurity/apache2 – Contiene il codice sorgente.
modsecurity/doc – Contiene la documentazione dell’applicazione.
modsecurity/rules – Contiene i file .conf in cui sono presenti le regole di default.
modsecurity/tools – Contiene strumenti aggiuntivi come uno script in Perl per aggiornare le regole.
Prima di compilare ModSecurity, bisogna verificare che siano presenti i file e le librerie richieste dall’applicazione che sono apxs, libxml2 e mod_unique_id.
Apxs è lo strumento utilizzato per compilare i moduli per Apache e la sua presenza è necessaria visto che ModSecurity è un modulo.
La presenza di apxs sul proprio server può essere verificata eseguendo il seguente comando.
whereis -b apxs
Se apxs non viene trovato, è necessario installare il pacchetto httpd-devel.
Libxml2 è una libreria per il parsing XML, se non è presente sul server, è necessario insallare il pacchetto libxml2-devel.
Mod_unique_id è un modulo di Apache che genera degli identificativi per le richieste http, di solito questo modulo è installato di default con Apache, bisogna però verificare che sia attivato nel file httpd.conf
LoadModule unique_id_module modules/mod_unique_id.so
Una volta verificato che siano presenti i file necessari, è possibile procedere alla compilazione di ModSecurity accedendo alla cartella apache2 presente nella directory in cui sono estratti i file sorgente.
cd modsecurity/apache2
A questo punto è possibile compilare il modulo
./configure
make
Al termine del processo, viene creato il file mod_security2.so che contiene le funzionalità dell’applicazione.
Il file viene creato nella cartella apache2/.libs e deve essere copiato nella directory in cui si trovano gli altri moduli di Apache.
Per terminare l’installazione è necessario attivare il modulo inserendo la seguente riga nel file di configurazione di Apache httpd.conf
LoadModule security2_module modules/mod_security2.so
Una volta salvato il file di configurazione, è possibile verificare che non siano presenti errori eseguendo apachectl configtest.
Se tutto funziona correttamente, è possibile riavviare apache e il modulo sarà attivato.