open_basedir() zum Einsperren der Webseiten

fehlt wasgeht sogutsehr guthat geholfen (No Ratings Yet)
Loading ... Loading ...
Werbung




Passwörter auslesen, in Systembereichen schreiben – das alles können PHP Skripte. Meist aber ungewollt. Ein beliebter Weg, um Hacker Tür und Tor von Servern zu öffnen, sind fehlerhafte Programmierungen von PHP Skripten, die dem Angreifer sämtliche Rechte auf dem gesamten Dateisystem einräumen.

Die kann man mit einem simplen Befehl verhindern. open_basedir definiert die Umgebung, in dem das PHP Skript arbeiten darf.

open_basedir() in Apache-Konfiguration aktivieren

Eingebaut werden muss der Befehl in die Webserverkonfiguration, z.B. Apache:

Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
php_admin_value open_basedir /www/server-wissen.de/www

Dies verbietet dem PHP Skript das wechseln in Verzeichnisse unterhalb von /www/server-wissen.de/www.

Sollen zusätzlich Dateiuploades erlaubt werden, muss meistens noch das /tmp freigegeben werden. Dies erreicht man mit einem Zusatz:

php_admin_value open_basedir /www/server-wissen.de/www:/tmp

open_basedir restriction in effect

Sollte dann doch einmal ein Skript ausserhalb der freigegebenen Verzeichnisse aufgerufen werden, wird dies mit einer Fehlermeldung quittiert:

Warning: main(): open_basedir restriction in effect. File(/www/mysql.php) is not within the allowed
path(s): (/www/server-wissen.de/www:/tmp) in /www/server-wissen.de/www/angriffsversuch.php on
line 2


Werbung


Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>