als ordentlicher Paranoiker habe ich mir überlegt, wie ich einen Server, auf dem Kunden-Webs gehostet werden sollen, möglichst wasserdicht bekomme. Meine Überlegung: Der Webserver (geplant ist ein lighttpd mit PHP5/FastCGI) wird chrooted und an localhost gebunden.
Extern soll ein Proxy lauschen, der dann die Inhalte von lighttpd holt. Ziel der Übung ist es aber definitiv nicht, Inhalte zu cachen, sondern den HTTP-Request nach allen Regeln der Kunst zu sezieren, um Angriffsversuche zu unterbinden. Kommerzielle Software dieser Art ist mir zwar bekannt, kommt aber für mein Szenario nicht in Frage.
Prinzipiell sehe ich drei Möglichkeiten:
- Squid + ?
- Apache2 + mod_proxy + mod_security
- Lighttpd + mod_proxy + ?
Meine Überlegungen hierzu:
- Squid ist von der Auslegung her auf Caching und Client Access Control ausgelegt und für meinen Zweck wohl eher oversized
- Womit ließe sich bei Squid der Filter realisieren?
- Apache + mod_security ist bei umfangreicheren Rulesets ein Performance-Problem
- Aufgrund der guten Performance und simplen Konfiguration würde ich Lighttpd vorziehen, weiß allerdings auch hier nicht, wie ich den Filter realisieren kann. Mit mod_setenv, mod_access und Traffic Shaping (core) kann man sich zwar selbst was basteln, aber eine integrierte Lösung ähnlich mod_security wäre mir lieber
Wie bewertet Ihr den Sinn (Sicherheitsgewinn) bei so einer Aktion? Hat von Euch jemand schon mal so ein Szeanrio umgesetzt?
Welche Fallstricke hab ich eventuell übersehen?
Welche Lösung würdet Ihr bevorzugen?
Grüße
Jesco

