O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

24310.12 Fazit
gefolgt von einem Apache-Neustart kompiliert, installiert und akti-
viert das Chroot-Modul im Webserver. Mit der Direktive
ChrootDir /var/www
setzen Sie das Grundverzeichnis, in dem der gesamte Webserver einge-
sperrt wird. Diese Direktive können Sie nur in der Hauptkonfiguration
verwenden und nicht innerhalb von <VirtualHost>-, <Directory>-
oder <Location>-Blöcken einfügen. Damit ist mod_chroot für Hos-
ting- oder andere Server, auf denen die virtuellen Hosts voneinander
abgeschottet sein sollen, nicht die passende Lösung.
10.12 Fazit
Um ein möglichst sicheres PHP zu haben, sollten Sie auf mod_php
verzichten. Es kann prinzipbedingt nicht so abgesichert werden wie
eine CGI-Installation. Setzen Sie auf CGI-PHP, können Sie mod_suphp
verwenden, mit dem es am leichtesten ist, jedem virtuellen Host eine
eigene
php.ini zu übergeben. In dieser php.ini, die für den Kunden
nicht änderbar sein sollte, sollten Sie folgende Einstellungen vornehmen:
Empfohlene Einstellungen
für php.ini
register_globals = Off
safe_mode = On
safe_mode_exec_dir = /usr/local/safebin
safe_mode_include_dir = /usr/local/lib/php
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH,LD_PRELOAD
open_basedir = /home/www/kunde1:/usr/local/lib/php
upload_tmp_dir = /home/www/kunde1/tmp
memory_limit = 16M
disable_functions = pcntl_fork
max_execution_time = 60
max_input_time = 30
Im safe_mode_exec_dir sollten nicht mehr externe Programme als unbe-
dingt notwendig liegen – meist reichen die drei Bildverarbeitungspro-
gramme
convert, composite und netpbm schon völlig aus, damit grafi-
kintensive Anwendungen wie Typo3 ohne Probleme laufen.
Ob Sie den als unsicher verschrienen Safe Mode einsetzen möchten
oder nicht, hängt von der Software ab, die Sie verwenden. Wenn mög-
lich, sollten Sie Ihre PHP-Instanzen so sicher machen, wie es geht, und
zu dieser Maßnahme zählt der Safe Mode trotz seiner Unzulänglich-
keiten.
Natürlich ist auch ein derart »abgeschotteter« Server nie vollstän-
dig sicher vor Eindringlingen oder »Ausbrechern«, sodass Sie trotz
aller Bemühungen stets ein wachsames Auge auf die Aktivitäten Ihrer
Kunden oder Kollegen haben sollten.
10 PHP intern244

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required