# PHP/Apache Security/Performance Walkthrough



## Damian (18. Dez. 2007)

*PHP Security/Performance mit SuPHP, FastCGI, CGI, Suhosin*

Ich habe ISPConfig seit langem auf einem Rootserver mit Debian Etch laufen.
Anfangs habe ich mir nicht viele Sorgen um die PHP-Sicherheit gemacht, da auf dem Server keine anderen Websites lagen und auch kaum PHP Scripte im Einsatz waren.

Nun möchte ich auf dem Server jedoch einige unabhängige Projekte unterbringen, die nicht gerade Zugriff auf die anderen Userordner "webXX" haben sollten. Vorher formatier ich den Server lieber, damit ich ohne Zaungäste den Root in Ruhe neu einrichten kann.
Ich habe mir mit Hilfe einiger PHP Security Shells (g00n ... usw) die Lage auf der ISPConfig Standardinstallation angeschaut, gemerkt dass man über PHP Übersicht auf den var/www Ordner bekommt und versuche jetzt den Root möglichst sicher mit wenig Performanceverlust abzusichern.

Folgende Punkte habe ich dabei im Auge:

PHP soll unter dem jeweiligen Webuser WebXX ausgeführt werden
Unter jedem User soll die Wahl zwischen PHP4/PHP5 mit eigener php.ini frei möglich sein (wegen open_basedir)
open_basedir = var/www/webXX, upload_tmp_dir, session.save_path, safe_mode = on/off
Unterbinden der sicherheitsgefährdenden PHP Funktionen
Ich habe mir schon seitenweise Heise Sicherheitsreports durchgelesen und aus deren Fazit dann eine potenzielle PHP.ini Konfiguration zusammengesucht in der ich bestimmte Funktionen deaktiviere (exec, phpinfo, proc_open...), SafeMode aktiviere und das open_basedir setze.
Jetzt haperts nur noch an der Umsetzung angepasst auf ISPConfig.
Ich finde wenn jemand an einem Forum rumscriptkiddet, sollte er auf keinen Fall weiteren Einblick haben als den dazugehörigen Userordner.

In den Artikeln wurde auch dringend von der Verwendung von mod_php abgeraten. Deshalb habe ich vor auf FastCGI umzustellen.
PHPinfo sagt mir bereits Suhosin sei aktiviert und PHP laufe über CGI.
Trotzdem weiß ich noch nicht wie ich die Wrapper-Idee aus dem Thread von xwsnet (http://www.howtoforge.de/forum/showthread.php?t=91)
(http://www.howtoforge.de/forum/showpost.php?p=1044&postcount=27)
umsetzen kann.
Ich habe vor mich nach den Tutorials zu richten, allerdings verliere ich den Überblick: >> Was ist nötig und was nicht? <<

Kann mir vielleicht jemand helfen und mir in der Reihnfolge die nötigen Tutorials auflisten, die für mein Vorhaben notwendig sind und ergänzende Informationen liefern?

Ich komme bei dem Begriff Suhosin und SuPHP durcheinander.

Suhosin stellt zusätzliche Sicherheitseinstellungen bereit und SuPHP lässt es zu PHP unter verschiedenen Usern ausführen zu lassen und verhindert anhand deren Rechte ein Übergriff auf die gesamte Ordnerstrukturen.
Ist die Aussage so richtig und/oder fehlen dort noch wichtige Teile?

Ganz vergessen:
Vielen Dank schon mal für fleißige Hilfe


----------



## Till (19. Dez. 2007)

Als erstes musst Du SuPHP für ISPConfig installieren und in ISPConfig aktivieren. 

http://www.howtoforge.com/suphp_debian_etch_ispconfig
http://www.howtoforge.com/suphp_fedora7_centos5_with_ispconfig

Dann nimmst Du am Besten das folgende Wrapper-Script, damit Du nicht für jedes Web manuell eine php.ini anpassen musst:

http://www.howtoforge.de/forum/showthread.php?t=91


----------

