Grundsicherung für PHP-Software

Seite 3: Via mod_php

Inhaltsverzeichnis

Eher die Ausnahme sind Angebote wie die von Server4u und all-inkl, die auf die Einbindung mit mod_php setzen. Sie ermöglicht Webspace-Kunden eine komfortable aber rudimetäre PHP-Konfiguration durch .htaccess-Dateien im Webverzeichnis. Mit solchen .htaccess-Dateien lassen sich nur zwei der wichtigen Sicherheitsoptionen von PHP beeinflussen. Eine im Web-Root abgelegte .htaccess-Datei mit dem Inhalt

php_flag register_globals off
php_flag display_errors off

ist neben dem Absichern durch eine reguläre HTTP-Authentifizierung im daher Prinzip schon alles, was man bei der mod_php-Variante selbst tun kann. Wie bei .htaccess-Dateien üblich gelten die dort getroffenen Einstellungen auch für alle Unterverzeichnisse.

Bei diesem Ansatz laufen allerdings alle PHP-Skripte mit der User- und Gruppen-ID des Webserverprozesses. Da er für den Zugriff auf die Webverzeichnisse weitreichende Lesebefugnisse haben muss, kann das im Falle eines Einbruchs erhebliche Konsequenzen für die anderen Serverbewohner oder gar den Server selbst haben.

Hier treffen die Provider jedoch in der Regel andere Schutzmaßnahmen, etwa eine ausgefeilte Vergabe von Zugriffsrechten und sogenannte chroot-Jails. all-inkl beschränkt PHP-Dateizugriffe beispielsweise mit der Einstellung open_basedir auf das Kunden-Verzeichnis.

Die folgende Tabelle gibt nochmal einen Überblick wo man welche Sicherheitsoptionen setzen kann:

Sicherheitsoption PHP-Default php.ini .htaccess
allow_url_fopen on ja nein
allow_url_include1 off ja nein
display_errors on ja ja
open_basedir NULL ja nein
register_globals on ja ja
safe_mode off ja nein
sql.safe_mode off ja nein
1 ab PHP 5.2.0