Zu konfigurieren in /etc/apache2/sites-available/default, um keinen Zugriff auf System-Files zu gewähren:
Order Deny,Allow
Deny from all
Options None
AllowOverride None
Options FollowSymLinks MultiViews
Order allow,deny
Allow from all
Zu konfigurieren in /etc/apache2/apache2.conf, damit auf Fehlerseiten nicht zuviele System-Infos Preis gegeben werden:
ServerTokens Prod
Zu installieren: Mod_Security (Account auf bsn.breach.com erforderlich – kostenfrei), installierbar mit dem magischen Dreisatz ./configure, make, make install (nötig sind die Pakete gpp, gcc, g++, libxml2-dev und apache2-prefork-dev).
Dann Datei modsecurity2.load in /etc/apache2/mods-available mit folgendem Inhalt erstellen:
LoadFile /usr/lib/libxml2.so
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
In /etc/apache2/mods-enabled folgende Kommandos ausführen:
ln -s ../mods-available/modsecurity2.load
ln -s ../mods-available/unique_id.load
Nach einem Neustart des Apache-Server sollte in der Datei /var/log/apache2/error.log etwas wie das Folgende stehen:
[Thu Jul 10 19:45:40 2008] [notice] ModSecurity for Apache/2.5.5 (http://www.modsecurity.org/) configured.
Dann ist es Zeit Mod_Security zu konfigurieren:
Damit Mod_Security überhaupt irgendetwas macht, braucht man ein vernünftiges Rule-Set, das es natürlich auch bei bsn.breach.com gibt.
Das heruntergeladene Tar-File muss nach /var/lib/modesecurity verschoben und dort entpackt werden.
Damit die Logfiles von Mod_Security dort hingeschrieben werden, wo man sie auch wiederfindet, muss die Datei modsecurity_crs_10_config.conf geöffnet werden.
Dort findet man die Einträge SecAuditLog und SecDebugLog – beide sollten auf eine Datei unterhalb von /var/log/apache2 verweisen.
Damit de Apache die Rules findet, muss die Datei /etc/apache2/conf.d/modsecurity2.conf mit folgendem Inhalt angelegt werden:
Include /var/lib/modsecurity/*.conf
Fertig. Erstmal.
