Apache2/ModSecurity

Da Wikipedia, l'enciclopedia libera.

Un indiano Apache
Enlarge
Un indiano Apache

Contents

Installazione

Per iniziare installiamo le librerie necessarie a mod-security2:

apt-get install libxml2-dev liblua5.1-0 lua5.1 apache2-threaded-dev

Ora possiamo scaricare, decomprimere ed installare l'applicazione:

cd /tmp
wget http://www.modsecurity.org/download/modsecurity-apache_2.5.0.tar.gz
tar zxf modsecurity-apache_2.5.0.tar.gz
cd modsecurity-apache_2.5.0/apache2
./configure && make && make install

Se la compilazione è andata a buon fine, trovete la libreria in /usr/lib/apache2/modules/mod_security2.so

Configurazione

Ora passiamo alla fase di configurazione di Apache2, prima di tutto dobbiamo creare il file di configurazione del modulo, per far caricare mod-security2 all'avvio del server Web

Creare il file:

sudo touch /etc/apache2/mods-available/mod-security2.load

Con un qualsiasi editor aggiungete le seguenti righe al file:

LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so.0
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so

Ora non resta che abilitare il modulo, usando i tool di Apache:

a2enmod mod-security
a2enmod unique_id

Il modulo Unique_id è indispensabile per il funzionamento di mod-security2 quindi bisogna necessariamente abilitarlo, viene fornito con la normale distribuzione di apache

A questo punto dobbiamo istruire Apache su quali regole di mod-security caricare e dove trovare i file, quindi creiamo il file: /etc/apache2/conf.d/mod-security2.conf con questo contenuto:

Include /etc/modsecurity2/*.conf

In questo modo Apache caricherà i file di configurazione con le regole di Modsec2 solamente se è abilitato, per coerenza con il layout standard del FS conviene salvare le regole in /etc, ma nulla vieta di scegliere il path più opportuno per le vostre esigenze.

Quindi bisogna creare le directory necessarie:

mkdir /etc/modsecurity2
mkdir /etc/modsecurity2/logs
touch /etc/modsecurity2/logs/modsec_audit.log
touch /etc/modsecurity2/logs/modsec_debug.log

Ora copiamo le regole "core" gia fornite con il package:

cp /tmp/modsecurity-apache_2.5.0/rules/*.conf /etc/modsecurity2

Arrivati a questo punto, abbiamo ancora bisogno di fare un'altra piccola modifica al file /etc/modsecurity2/modsecurity_crs_10_config.conf, modificando:

SecDebugLog logs/modsec_debug.log
SecAuditLog logs/modsec_audit.log

in

SecDebugLog /etc/modsecurity2/logs/modsec_debug.log
SecAuditLog /etc/modsecurity2/logs/modsec_audit.log

Ora possiamo riavviare Apache2 e controllare che tutto funziona correttamente:

sudo invoke-rc.d apache2 restart

Per controllare se Modsecurity è stato caricato correttamente:

sudo cat /var/log/apache2/error.log | grep "ModSecurity"

[Wed Mar 05 15:26:12 2008] [notice] ModSecurity for Apache/2.5.0- (http://www.modsecurity.org/) configured.

Se avete questo Output allora l'installazione è andata a buon fine.

Regole Opzionali

  • Non cestinate la directory dei sorgenti subito! In /tmp/modsecurity-apache_2.5.0/rules/optional_rules trovate altre regole.
  • Su http://gotroot.com/ invece si possono trovare tante altre regole e molta documentazione.

Link

Fonte / Citazioni

Personal tools
Informazioni