PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sicheres Ausführen von externen Programmen in PHP



swen1
03.02.06, 12:54
Hi,

ich habe einen sicheren Webserver. :)

Es ist soweit alles gut konfiguriert, z.B. werden die User per SCPonly eingesperrt und PHP ist sehr zugeriegelt (mit z.B. openbasedir usw.). Viele Befehle wie 'system' oder 'exec' sind verboten.

Nun muss ich aber leider für eine Typo3 Installation einige externe Programme erlauben. Wie macht man das am besten?

Meine bisherigen Ideen:
Ich in der httpd.conf für diesen Virtualhost den Safe Mode angeschalten und in safe_mode_exec_dir ein Verzeichnis mit den benötigten Programmen angegeben. Das funktioniert soweit, allerdings nur wenn in der php.ini wieder die Sperrung der Funktionen (z.B. exec) rausgenommen wird. Damit haben alle Virtualhosts wieder diese Funktionen zur Verfügung. Die Option disable_functions kann man nur in der php.ini angeben, nicht wie andere auch in der httpd.conf.

So, nun weis ich nicht weiter. Ich hab schon gehört, dass man für jeden virtualhost eine php.ini definieren kann. Leider hab ich noch nicht finden können wie das gehen soll (PHP läuft als Apache-Modul). Oder ich schalte den Safe Mode für alle ein. Die Auswirkungen kann ich aber noch nicht absehen (eine Seite von mir hab ich damit kurz getestet, da lief nix mehr). Außerdem raten alle davon ab, und in der nächsten PHP-Version soll es den Safe Mode sowieso nicht mehr geben.

Wie macht Ihr das? Gibt es vielleicht eine andere Möglichkeit das ganze abzusichern? Alle anderen Denkansätze von mir sind bis jetzt gescheitert ...

Hoffe Ihr könnt mir helfen, vielleicht seh ich das den Wald vor lauter Bäumen nicht ...

Danke!
Gruß Swen

marce
03.02.06, 13:07
'ne Alternative wäre, einen 2. Apache hinzusetzen mit separater php-Konfiguration und den über einen anderen Port nach aussen oder intern über ein mod_proxy anzubinden...