wordpress: wp-config.php ausserhalb vom document root

Obwohl wordpress eine tolle blog-Software ist, liegen hier alle Dateien innerhalb vom öffentlich Zugänglichen Web-Verzeichnis. Die sensitivsten Daten, wie Benutzername und Passwort der Datenabnk liegen dabei in der Datei: wp-config.php. Zwar kann man diese Datei unter normalen Umständen nicht auslesen, aber bereits eine möglicherweise unentdeckte Server-Misskonfiguration kann den php interpreter deaktivieren und die Daten können im Klartext abgerufen werden.

Aus Sicherheitsgründen verschiebt man Konfigurationsdateien deshalb ausserhalb dem „öffentlichen“ Webverzeichnis, also dem sog. DOCUMENT_ROOT in ein Verzeichnis auf welches der Webserver nicht zugreifen kann.

WordPress hat dabei eine versteckte Möglichkeit eingebaut, die nur wenige kennen: Da wordpress automatisch auch im darüber liegenden Verzeichnis nach der Datei wp-config.php sucht, wenn es diese nicht im aktuellen findet, reicht es die Datei einfach eine ebene höher zu verschieben.

Beispiel:

  • Die Domain: meinblog.example.org zeigt auf das Verzeichnis: /srw/www/example.org/meinblog/public_html/
  • Die WordPress-Dateien liegen in: /srw/www/example.org/meinblog/public_html/ und demanach die wp-config.php in: /srw/www/example.org/meinblog/public_html/wp-config.php

Nun reicht es, die Datei wp-config.php in das Verzeichnis: /srw/www/example.org/meinblog/ zu verschieben. Die Datei liegt dann unter /srw/www/example.org/meinblog/wp-config.php und schon hat man seine Webseite ein bisschen mehr abgesichert. 🙂

Einige Beispiele warum man diese machen sollte stehen im stackexchange.com thread: Is moving wp-config outside the web root really beneficial?

Published by

Steven Varco

Steven ist ein Redhat RHCE- und Kubernetes CKA Zertifizierter Linux-Crack und ist seit über 20 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

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