Mehr Sicherheit für Apache-Webserver mit ModSecurity (für Dummies)
ModSecurity ist eine Komponente die man in einem Apache Webserver installieren kann. Die Zielsetzung ist es die reinkommenden Anfragen zu kontrollieren und zu überwachen. Es sind nämlich nicht nur nette Menchen unterwegs die einfach nur Webseiten lesen wollen - neiin. Es gibt auch die sehr unfreundlichen Menschen die nicht mit einem Browser arbeiten so wie Du und ich sondern mit Programmen die einen normalen Benutzer simulieren. Und die versuchen über diesen Weg Spam in Foren oder Gästebüchern zu hinterlassen oder noch schlimmer in einen Server einzubrechen.
Das Bild sieht dann ungefähr so aus. Die Anfrage
/
kommt an und wir von modsecurity gelesen und nach definierten Regeln geprüft. Wenn keine Regel zutrifft ist es ok und geht an den Webserver. Wenn eine Regel zutrifft wird es direkt zurückgewiesen. Es kommt also auf die Regeln an. Da gibt es einige freie oder aber auch kommerzielle Regeln die die typischen Angriffsmuster prüfen. z.b. bei
//etc/password
möchte vielleicht jemand versuchen meine Passwortdatei zu bekommen. (stimmt nicht ganz aber es soll das Schema erklärt werden). Dafür gibts ne Regel und modsecurity sagt: "kriegste nicht" auch wenn der Webserver dahinter es vielleicht erlauben würden. Wie gesagt: Sehr "high level" Erklärung.
Es sind also die Regeln wichtig. Und wie bei allen Regel gibt es auch Fälle wo die Regel zutrifft obwohl garnichts schlimmes passiert ist. So prüfen einige Regeln den Inhalt. Es ist bei uns z.B. vorgekommen das wir für eine Seite einen Namen vergeben haben und weil "zu viele Bindesstriche" im Namen vorkamen konnte man die Seite nicht aufrufen.
Insgesamt ist zu sagen das eine Installation von modsecurity nichts ist was man mal so eben auf einen Server wirft und gut ist. Man sollte darauf eingestellt sein das man die Installation erst eine Weile überwachen muss. Es kann ja Fälle geben wo eine Anwendung nicht mehr funktioniert weil eine Regel fälschlicherweise anschlägt. Dann muss man regelmässig Logfiles überwachen. Man sollte auch wissen was "reguläre Ausdrücke" sind. Das ist nämlich das Verfahren mit denen die Regeln erstellt werden.
Es gibt noch tausend andere Dinge zu erklären. Ich werde meine Erfahrungen mit diesem Werkzeug und einigen Anwendungen dokumentieren und da wollte ich zumindestens mal einen kurze Einführung gegeben haben.
Vielleicht ist ja jemand neugierig geworden und möchte es mal versuchen. Es lohnt sich auf jeden Fall.