====== Apache Mod Security ======
Es gibt für den Apache ein Module mit dem Namen mod_security.
Mit diesem Module lässt sich eine Layer 7 Firewall (Application-Firewall) für den Apache bauen.
(getestet auf dem Server "kirby" unter Ubuntu-Server 11.10)
**1.) Installieren**
apt-get install libapache2-modsecurity
a2enmod mod-security
----
**2.) Regelwerk laden**
Das Regelwerk kann man sich von dieser Webseite laden
[[https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project]]
Oder direkt bei
[[http://sourceforge.net/projects/mod-security/files/modsecurity-crs/0-CURRENT/]]
----
**3.) Regelwerk installieren**
Wir haben uns das aktuelle Regelwerk unter /tmp gespeichert und installieren jetzt die wichtigesten Regeln
cd /tmp
tar -xvzf modsecurity-crs_2.2.3.tar.gz
cd modsecurity-crs_2.2.3
mkdir -p /etc/modsecurity/activ/
cp modsecurity_crs_10_config.conf.example /etc/modsecurity/activ/modsecurity_crs_10_config.conf
for f in `ls base_rules/` ; do cp base_rules/$f /etc/modsecurity/activ/$f ; done
for f in `ls optional_rules/ | grep comment_spam` ; do cp optional_rules/$f /etc/modsecurity/activ/$f ; done
----
**4.) Config von Mod-Security anpassen**
vim /etc/apache2/mods-enabled/mod-security.conf
Include "/etc/modsecurity/activ/*.conf"
----
**5.) Testen**
Wenn man jetzt in der modsecurity_crs_10_config
Setzt und den Apache neu startet werden alle Treffer der Firewall im error.log aufgezeichnet jedoch noch nicht geblockt. So kann man seine Funktionalität seiner Webseite testen bevor man die Firewall scharf schaltet.
Zum Testen eignet sich sehr gut Nikto2
[[http://www.cirt.net/nikto2]]
cd /tmp
wget https://cirt.net/nikto/nikto-2.1.4.tar.gz
tar -xvzf nikto-2.1.4.tar.gz
cd nikto-2.1.4
perl nikto.pl -h www.meinedomain.at
Wenn man sich dieses Tool nicht saugen möchte kann man dies auch einfacher machen in dem man sich eine URL zusammen baut
http://www.meinedomain.at/index.php?SELECT%20*%20FROM%20mysql.users
----
**6.) Scharf schalten**
Wenn man sich sicher ist das man seine Firewall scharf schalten will geht das ganz einfach mit
vim /etc/modsecurity/activ/modsecurity_crs_10_config.conf
SecRuleEngine On
/etc/init.d/apache2 restart
Und schon ist die Apache-Firewall aktiv..