Funktion exec PHP einschränken

Apache, Lighttpd, nginx, Cherokee
cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Funktion exec PHP einschränken

Post by cirox » 2007-04-14 21:58

Hallo,

für Imagemagick muss man leider die Funktion exec freischalten. Safe_mode kommt in dieser Konstellation auch nicht in Frage. Chrooted Webverzeichnisse ist mit Confixx und Co für mich schlecht realisierbar. Wenns doch geht dann wäre das die erste Frage.

open_basedir ist gesetzt. ok. Jetzt kommt einer mit ner c99 shell und kann auf dem Server durchmaschieren. Gut er kann zwar nicht in andere Verzeichnisse schreiben, aber ich will, oder besser doch, gar nicht wissen, was für ein Unsinn alles angestellt werden kann.

Jetzt wäre meine naive Überlegung ja einfach die Funktion exex ( ohne safe_mode) so einzuschränken, dass halt nur ein bin, nämlich in dem Fall imagemagick ausgeführt werden kann.

Aber ich komm da sicherheits technisch nicht weiter. Egal ob mod_security, gehärtetes PHP ( Suhosin ) oder ähnlich.

Was wäre hier der Lösungsansatz ?

PS: übrigens bringt mich hier "man sudo" auch nicht weiter .... Das soll für alle alten und neu angelegten vhost gelten. Letzen Endes wird suexec und fastcgi eingesetzt.

PS2: Suhosin , openbasedir, symlinks verboten und super imagemagick lässt sich immer noch unter /usr/bin ausführen -> versteh ich nicht

PS3: GDlib mit einkompilierter gif Unterstützung ist zu wenig, oder ? Erst Recht für Typo3

PS4: Hat hier einer Erfahrung mit einkompiliertem IM in PHP und dann der Pfadangabe bei gallery oder Typo3? Und funnzt das? Ich bin irgendwie schon beim kompilieren gescheitert .... Irgendeine lib hat glaub ich gefehlt. Für die genaue Fehlermeldung müsst ich da nochmal nachschauen.

PS5: Wie sichere ich mit mod_security mein open_basedir ab? Man kann ja alles denien und nur bestimmt Funktionen erlauben, aber genau hier steh ich auf dem Schlauch. Welche bestimmten Funktionen erlauben?

gruß cirox

lord_pinhead
Posts: 774
Joined: 2004-04-26 15:57

Re: Funktion exec PHP einschränken

Post by lord_pinhead » 2007-04-14 22:31

Typo3 kommt auch mit GDLib aus wenn du die aktuellste Version hast, die Sachen die es nicht kann, braucht auch niemand, z.b. Bilder übereinander legen etc.

Eine möglichkeit wäre eigentlich safe_mode mit einem safe_mode_exec_dir, was aber definitiv keine Härtung vom Webserver ersetzt.

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: Funktion exec PHP einschränken

Post by cirox » 2007-04-14 22:44

Du meinst IM ( GM ) in PHP einkompilieren? Meckert da nicht Typo3 wegen dem Pfad ? Man muss bestimmt dann die conf für Typo3 anpassen ....

Ich bin schon am überlegen welche mod_security rules am sinnvollsten sind. got_root ? oder gibt es bessere ? Nein, ich kann keine eigenen schreiben. Ich kann bloss logs anschauen und eventuell deaktivieren. Für den Anfang aber besser als gar nichts. Meine hier aus dem Forum überzeugen mich nicht wirklich. Die blocken alles und nichts ....

Webserver härten ... Was ist ein gehärteter Webserver? Gehört da nicht alles zu ? Suhosin, Suexec, Rechte, Iptables, chrooted Webverzeichnisse, mod_security, etc .. ? Bastille ...

Das muss doch auch ohne safe_mode gehen, zumal das eh bald rausfliegt ...

gruß cirox

lord_pinhead
Posts: 774
Joined: 2004-04-26 15:57

Re: Funktion exec PHP einschränken

Post by lord_pinhead » 2007-04-15 16:21

Du kannst SF auch gerne abschalten, ist eh nur ein plazebo. Allerdings braucht man gar kein IM für Typo3, es läuft auch einwandfrei mit GDlib im PHP. IM sind extra Programme die PHP starten darf, die kann man nicht in PHP einkompilieren ;)

Webserver härten bzw. Webservices härten ist recht einfach. Den Apache via mod_sec einfach in ein Chroot stecken, die Vhosts via suExec aufrufen und Suhosin in PHP einkompilieren. Die Gotroot Rules sind eigentlich sehr gut, was meinst du das sie nichts blocken?

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: Funktion exec PHP einschränken

Post by cirox » 2007-04-16 09:15

Lord_Pinhead wrote:Die Gotroot Rules sind eigentlich sehr gut, was meinst du das sie nichts blocken?
Nein die sind schon gut, man müsste wohl eh im Produktivbetrieb erstmal nur loggen und schauen. Ich meinte die Regeln hier aus einem Thread in diesem Forum.

Wie es mit dem chroot und mod_sec aussieht muss ich mir nochmal genau anschauen.

IM nicht einkompilieren? Schau mal hier oder versteh ich da was völlig falsch? Imagick

gruß cirox