> ok, ich habe wohl zu wenig Infos bei der ersten Anfrage mitgegeben, sorry.
> Nun aber ...
> 
> Wir betreiben ip-based, virtuelle Webserver. Die Server basieren auf Linux
> und sind mit dem apache, php, mysql, openssh, perl usw. konfiguriert.
> 
> Nun meine Frage: Gibt es Mechanismen mit denen ich cgi-Scripte vor Missbrauch
> schuetzen kann.
> Missbrauch definiert sich in diesem Zusammenhang wie folgt:
> a)  exessive Aufrufe von Scripten
> b)  "Posten" direkt in des Script ohne Aufruf der "das_Script_aufrufenden"
> html-Seite 
> c)  Zugriff auf  Verzeichnisse des Betribessystems und Auslesen der
> Informationen
> 
> Mir sind Mechanismen wie Session-ID's, "Apachen in chroot-Umgebungen" und
> Ressourcenbegrenzung
> bekannt, mich interessieren aber andere Loesungen dieser Probleme. Gibt es
> diese?
> 
> Ich nehme aber auch gerne Infos zu Session-ID's und Ressourcenbegrenzung
> entgegen.

Also nen kompletten virtuellen Server mit ssh-Zugang würde ich persönlich
sowieso nur in nem chroot laufen lassen. Ich arbeite ja unter FreeBSD, aber
unter Linux lässt sich sowas sicherlich genauso machen.

Nur gelesen habe ich da so Sachen wie ein komplettes World in nem chroot
ablaufen zu lassen. Der Kunde hat so ein komplettes base-System und kann auf
dem System tun und lassen was er will. Meinetwegen kann er auch seinen
Apachen löschen, die passwd umschreiben oder wasweissich, ist ja sein
Server. Du hast dir dann halt so Sachen wie CGI-Skripte und PHP absichern
gespart. Was mich an dieser Situation noch ein bischen stört ist die
Tatsache das der Kunde, verfügt er denn über genug Wissen, sich auch seinen
Server nach Belieben umbauen kann, d.h. WebServer runter QuakeServer drauf
und schlimmere Szenarien. Sowas lässt sich wahrscheinlich nur im Vertrag
regeln. Oder du gibst dem User auch in seinem virtuellen Server nur
eingeschränkte Rechte, dann kann er sich zwar zum root hacken, aber eben nur
zu seinem virtuellen Root.

Einfachere Sachen lass ich sowieso ohne Shellzugang und ohne PHP/CGI laufen.
Wobei sich ja für PHP auch eine Art chroot angeben lässt. Ähnliches gibt¹s
glaub ich auch für CGIs, setuid und son Kram. So Lösungen kommen bei mir
immer in Probleme, wenn ich möglichst wenig echte User auf meinem System
haben möchte, Mail z.B. läuft komplett virtuell in einer Datenbank.

Ich wär ja dafür das man eine Art chroot für jeden einzelnen <VirtualHost>
angeben kann, da CGIs und PHPs aber ausserhalb von Apache laufen, wäre das
auch nicht das optimale.

Sicher hat aber noch wer anderes was zu dem Thema zu sagen.

Philon

Antwort per Email an