ModSecurity neue Fassung

V40

Caspar
Hallo,

Die Applikations-Firewall ModSecurity für den Apache-Webserver ist in der vollständig überarbeiteten Version 2.0 erschienen. Hauptentwickler Ivan Ristic erläuterte in einem Interview gegenüber SecurityFocus die wesentlichen Neuerungen. Beispielsweise erlauben nun fünf statt zuvor zwei Prozess-Phasen eine feinkörnigere Steuerung, zu welchem Bearbeitungspunkt eine Filterregel in Aktion tritt. Weiterhin stehen viele neue Funktionen zur Verfügung, um HTTP-Anfragen und -Antworten zu modifizieren

Quelle : Heise heise Security - News - Vollständig überarbeitet: Apache-Firewall ModSecurity 2.0
 
Ich habe es nun bei mir im Einsatz.

Die gotroot Regeln zu mod_security2 sind meines Erachtens (noch?) nicht zu empfehlen. Der Standartregelsatz, der von mod_security runtergeladen werden kann ist auch schon sehr umfassend und sehr bissig (laeuft auch schneller als mit den gotroot Regeln).

Ein kleines Problem habe ich allerdings noch.
Es geht um Post Request
HTML:
<form method="POST" action="">
<input type="text" name="xx" />
</form>
Diese Anfragen werden ignoriert, wenn die URL so aussieht:
domain.de
Mit
domain.de/index.php geht es.

So geht's natuerlich auch (und so sollte es standartmaessig auch aussehen).
HTML:
<form method="POST" action="<?=$_SERVER['PHP_SELF']?>">
<input type="text" name="xx" />
</form>
Aber ich kann nicht alle Fremdskripte aendern ;).
Leider konnte ich noch nicht herausfinden, woran es liegt. Selbst wenn ich den Debuglevel von mod_security auf 9 stelle (was eine Menge Text produziert), kann ich nicht erkennen, was der Fehler ist.
Es wird auch kein Fehler ausgegeben. Die Seite laedt neu, als ob man einfach nur reload gemacht haette.

[edit]
Hab die Installationsanleitung mal (ziehmlich 1zu1) uebersetzt. Eigentlich nicht notwendig... aber es wurde danach gefragt.

1. ModSecurity 2.x arbeitet Apache 2.0.x oder besser.
2. mod_unique_id muss installiert sein. (Debian "a2enmod unique_id"; wenn nicht vorhanden mit apt-get nachinstallieren. Suse: yast)
3. (Optional) Installiere die neuste Version von libxml2, wenn diese noch nicht installiert ist. (Debian: "apt-get install libxml2", Suse: yast)
4. Entpacke das ModSecurity Archiv.
5. Editiere die Datei Makefile. Dort muss der Pfad zum Apchen angegeben werden. In dem angegebenen Verzeichnis muss ein Ordner "built" existieren in diesem Ordner wird (u.Anderem) nach der Datei special.mk gesucht (welche natuerlich auch vorhanden sein muss. (zum Beispiel: top_dir = /usr/local/apache2).
6. (Optional) Editiere Makefile to enable ModSecurity to use libxml2 (Unkommentiere die Zeile mit "DEFS = -DWITH_LIBXML2") und konfiguriere den include Pfad (zum Beispiel: INCLUDES=-I/usr/include/libxml2)
7. Ins Verzeichnis von ModSecurity wechseln (cd /PFAD/MODSECURITY )
8. Kompiliere mit make
9. Stoppe de Apache (z.B. "/usr/sbin/apache2ctl stop" oder "/etc/init.d/apache2 stop" )
10. Installiere mit make install
11. (Optional) Fuege eine Zeile zu deiner Konfiguration hinzu, um libxml2 zu laden: LoadFile /usr/lib/libxml2.so
12 .Fuege eine Zeile in deiner Konfiguration hinzu, um ModSecurity zu laden: LoadModule security2_module modules/mod_security2.so
13 .Konfiguriere ModSecurity
14 .Starte Apache
You now have ModSecurity 2.x up and running.
Zudem sollte man noch die Regeln (modsecurity-core-rules_2.0-1.1.1.zip) runterladen und einbinden (da ist eine readme dabei).
Testen auf jeden Fall nicht vergessen.
 
Last edited by a moderator:
Hi,

bei mir (Suse 10.1), will es sich irgend wie nicht installieren... und ich habe diese Anleitung genau befolgt...
 
Hallo!
Und es gab so gar keine Fehlermeldung?
Sorry, ziemlich unprofessionel von mir...
Code:
server1:/mod_sec-test/modsecurity-apache_2.1.1-dev4/apache2 # make
/usr/lib/apr-1/build/libtool --silent --mode=compile gcc -pthread  -O2 -g -Wuninitialized -Wall -Wmissing-prototypes -Wshadow -Wunused-variable -Wunused-value -Wchar-subscripts -Wsign-compare -DWITH_LIBXML2 -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -DAP_DEBUG  -DSSL_EXPERIMENTAL_ENGINE -DMAX_SERVER_LIMIT=200000 -DLDAP_DEPRECATED -I /usr/include/libxml2 -I/usr/include/apache2 -I. -I/usr/include -I/usr/include/apr-1 -prefer-pic -c mod_security2.c && touch mod_security2.slo
In file included from modsecurity.h:37,
                 from mod_security2.c:18:
msc_pcre.h:18:18: error: pcre.h: No such file or directory
make: *** [mod_security2.slo] Fehler 1
server1:/mod_sec-test/modsecurity-apache_2.1.1-dev4/apache2 #
Habe ich falsche Pfade in der Makefile angegeben?, wenn ja, was sind denn die Pfade unter Suse 10.1?
Ich habe: "top_dir = /usr/share/apache2" und "INCLUDES = -I /usr/include/libxml2"...

thx,
JamesG
 
Last edited by a moderator:
installiere mal pcre-devel Pakete ...
Ja!, das hat geklappt!!, danke!
Nur wie aktiviere ich dieses Modul korrekt?: also ich habe vollgendes gamacht, weis aber nicht ob korrekt:
Code:
cd /usr/lib/apache2-prefork
ln -s ../apache2/mod_security2.so mod_security2.so
und "security2" in: /etc/sysconfig/apache2 eingetragen, dann die Rules von gotroot.com runtergeladen: die liegen bei mir in /etc/modsecurity.
Die modsecurity.conf befindet sich bei mir in: /etc/apache2/conf.d
Nun bekomme ich einen Fehler beim starten von Apache:

Code:
server1:/etc/modsecurity # /etc/init.d/apache2 start
Starting httpd2 (prefork) Warning: SuexecUserGroup directive requires SUEXEC wrapper.
Warning: SuexecUserGroup directive requires SUEXEC wrapper.
Warning: SuexecUserGroup directive requires SUEXEC wrapper.
                                                                      done
Wie wichtig ist denn der Punkt 11:
11. (Optional) Fuege eine Zeile zu deiner Konfiguration hinzu, um libxml2 zu laden: LoadFile /usr/lib/libxml2.so
und wie mache ich es unter Suse?
Bekomme ich deswegen den Fehler beim Apache starten, weil ich den schritt noch nicht gemacht habe?

Vielen Dank!,
JamesG
 
Last edited by a moderator:
Ist in der modsecurity-core-rules_2.0-1.1.1.zip eine Standartkonfiguration drin, die als Standart gilt ?
 
@Slowman:
Also hat das jetzt irgend was mit meiner Fehlermeldung zu tun, oder ist es nur eine allgemeine Frage??
 
Last edited by a moderator:
@JamesG

Ist ein Frage zu "ModSecurity neue Fassung" zu der Datei modsecurity-core-rules_2.0-1.1.1.zip.


Mache mal dein Fullquotes weg, sonst bekommst du in diesem Forum eine Verwarnung :D
 
Sooo, lag am apache:)
Eine Frage hätte ich noch: die original Modsecurity2 Rules und die modsecurity2.conf: wo werden die gespeichert?
Kann mir jemand seine modsecurity2.conf zum vergleichen posten?

Vielen Dank im Voraus!,
JamesG
 
Last edited by a moderator:
Back
Top