Hier mal ein kleines Howto für Debian Etch Apache2 mit mod_security2
Ich setze voraus dass Ihr apache2-mpm-worker mit apache2-threaded-dev oder apache2-mpm-prefork apache2-prefork-dev installiert habt
Wenn nicht dann mal
Code:
apt-get install apache2-mpm-worker apache2-threaded-dev
oder
Code:
apt-get install apache2-mpm-prefork apache2-prefork-dev
ausführen.
Des weiteren setzt mod_security2 voraus das libxml2 und libxml2-dev installiert ist, wenn nicht dann
Code:
apt-get install libxml2 libxml2-dev
ausführen.
Apache server stoppen
Code:
/etc/init.d/apache2 stop
jetzt
mod_security source downloaden und entpacken
Code:
cd /root
wget https://bsn.breach.com/downloads/t=09bb5ba64be915c34a31f14e6e2eb4cd/modsecurity-apache/modsecurity-apache_2.5.5.tar.gz
tar xzvf modsecurity-apache_2.5.5.tar.gz
cd /root/modsecurity-apache_2.5.5/apache2
jetzt configurieren compillieren und wenn keine Fehler installieren
Code:
./configure --with-apxs=/usr/bin/apxs
make
make install
Dann in /etc/apache2/mods-available neues die Datei security2.load mit folgendem Inhalt anlegen
Code:
touch /etc/apache2/mods-available/security2.load
echo 'LoadFile /usr/lib/libxml2.so' > /etc/apache2/mods-available/security2.load
echo 'LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so' >> /etc/apache2/mods-available/security2.load
in /etc/apache2 das Verzeichnis mods-security anlegen
Code:
mkdir /etc/apache2/mods-security
in der Datei /etc/apache2/apache2.conf den Eintrag 'Include /etc/apache2/mods-security/' am Ende der Datei eintragen
Code:
echo 'Include /etc/apache2/mods-security/' >> /etc/apache2/apache2.conf
Nun aktivieren wir das neue Apache Modul udn starten den Apache mit
Code:
a2enmod security2
/etc/init.d/apache2 start
Wenn nun keine Fehler erscheinen und der Apache gestartet ist habt ihr das neue Modul erfolgreich installiert und aktiviert.
Aber mod_security übernimmt zu diesem Zeitpunkt noch keine kontrolle,
denn es fehlen janoch die Konfigurationsdateien mit den entsprechenden regeln.
Diese gillt es jetzt nach und nach zu integrieren , das erste Beispiel gebe ich jetzt ab, den rest macht Ihr dann selber.
Wir schmeissen jetzt die wichtigste Datei modsecurity_crs_10_config.conf ins zuvor angelegte Verzeichnis /etc/apache2/mods-security .
Dazu folgendes ausführen:
Code:
cd /root/modsecurity-apache_2.5.5/rules
mv modsecurity_crs_10_config.conf /etc/apache2/mods-security/modsecurity_crs_10_config.conf
Jetzt öffnen wir die Datei mit nano
Code:
nano /etc/apache2/mods-security/modsecurity_crs_10_config.conf
ändern die Zeile 191 = 'SecAuditLog logs/modsec_audit.log' um in
Code:
SecAuditLog /var/log/apache2/modsec_audit.log
die Zeile 285 = 'SecDebugLog logs/modsec_debug.log' um in
Code:
SecDebugLog /var/log/apache2/modsec_debug.log
speichern die Datei und startne de Apache neu:
Code:
/etc/init.d/apache2 start
Wenn jetzt keine Fehler aufgetreten sind ist all super.
So importiert ihr die Regeln nach euren belangen weiter.
Immer drauf auchten was in den Logs von Mod_Security steht, die ja ins gleiche Verzeichnis wie die Apache logs geschrieben werden , in denen könnt Ihr unter anderem erkennen ob euer Web richtig läuft (den Mod_security kann unerwünschte funtionen auslösen) und ob es jemand auf es abgesehene hat.