Fastcgi + php startscript ohne bash ?

Apache, Lighttpd, nginx, Cherokee
flami
Posts: 5
Joined: 2006-12-20 20:20

Fastcgi + php startscript ohne bash ?

Post by flami » 2007-07-01 15:27

Hallo,

Ich bau mir gerade auf einer alten Kiste einen Webserver zusammen ( um irgentwann mal einen "richtigen" Server zu mieten ) und habe aus Sicherheitsgründen zu php-fastcgi gegriffen das ich dann mit meinem modifiziertem Suexec chroote. Es wird ein Script (mit immutable bit) ausgeführt um php zu starten, weil ich die php Binaries nicht in die hände der "kunden" geben will und um flexibler zu sein wenn es zu mehr Auslastung kommen sollte.

Was ich mich jetzt frage ist ob es keine Lösung gibt um dieses script ohne bash auszuführen da ich die Chroot so minimal als möglich halten will . (im Gegenteil zu meiner ersten Test Umgebung das ein debootstraped debian war ).
Oder wie "riskant" ist es eine Shell in der Chroot zu lassen, ich plane auch noch das ganze mit Grsec zu härten .

Grüsse,
Josi

grandcat
Posts: 104
Joined: 2006-08-15 12:26
Location: Bayern

Re: Fastcgi + php startscript ohne bash ?

Post by grandcat » 2007-07-01 21:07

Wie wäre es, wenn du den Spawn-Prozess von ausserhalb startest und die benötigten Parameter direkt mit übergibst? So wird doch keine Shell benötigt.
Außerdem denke ich, dass eine Shell innerhalb eines Chroots, das mit grsec gehärtet ist, nicht problematisch sein sollte. :wink:

flami
Posts: 5
Joined: 2006-12-20 20:20

Re: Fastcgi + php startscript ohne bash ?

Post by flami » 2007-07-01 23:48

Ja das klingt gut, ich glaube aber dass ich sowieso ne shell brauch um z.b. imagemagick laufen zu lassen .

Auch benutz ich das script damit php-cgi immer noch root gehört und ich sie trotzdem ausführen kann ohne dass suexec meckert. (und ich wollte keine features aus suexec rausnehmen )

Beruhight mich allerdings, dass ich (mit ein wenig Übung) eine chroot so härten kann, dass ne shell nicht mehr alzu gefährlich ist ^^.

Jetzt mit mod_fcgid soll ja der process manager viel besser sein , brauch ich da noch z.B. PHP_FCGI_CHILDREN=4 um php die pozesse managen zu lassen ? ( hab gelesen, dass das mod_fascgi process management nicht gerade optimal war )

kase
Posts: 1031
Joined: 2002-10-14 22:56

Re: Fastcgi + php startscript ohne bash ?

Post by kase » 2007-07-02 13:03

Setze PHP_FCGI_CHILDREN=0 und benutze eine PHP Version >=5.2.0, dann hast du das effektivste Prozessmanagement, da PHP keine Childprozesse mehr spawnt, sondern nur noch der Parent die Aufgaben abarbeitet. mod_fcgid spawnt dann je nach Bedarf X Parent Prozesse.

flami
Posts: 5
Joined: 2006-12-20 20:20

Re: Fastcgi + php startscript ohne bash ?

Post by flami » 2007-07-02 16:57

Ok.
Danke für die schnelle antwort ^^.