Die wp-config.php Datei ist reines Gold für Hacker, da sie alle sensiblen Informationen Ihrer WordPress-Website, einschließlich Passwörter und Datenbank-Standorten beinhaltet. Wichtig also, diese so gut wie möglich zu schützen. Standardmäßig ist die wp-config.php nicht auflistbar. Aber es ist allgemein bekannt wie sie heißt und das sie normalerweise im Wurzelverzeichnis (root) der WordPress-Installation liegt. Es ist allerdings möglich, diese Datei einfach ein Verzeichnis höher zu verschieben. WordPress sucht automatisch auch im übergeordneten Verzeichnis nach seiner Konfigurationsdatei. Somit ist sie für Hacker quasi nicht erreichbar, da der Einstiegspunkt der Webseite ja maximal das root-Verzeichnis ist.
Inhaltsverzeichnis:
Wieso sollte man die wp-config.php verschieben?
1. Schutz vor direktem Zugriff
- Die wp-config.php enthält sensible Daten wie Datenbank-Zugangsdaten und Authentifizierungsschlüssel.
- Wenn sie im Root-Verzeichnis bleibt und der Server falsch konfiguriert ist, könnten Angreifer die Datei direkt aufrufen und einsehen.
- Durch das Verschieben in eine höhere Ebene wird die Datei außerhalb des öffentlich zugänglichen Verzeichnisses abgelegt und ist für Angreifer über den Browser nicht mehr erreichbar.
2. Minimierung von Risiken durch Server-Fehlkonfigurationen
- Ein schlecht konfigurierter Webserver, der PHP-Dateien nicht ausführt, sondern anzeigt, könnte die wp-config.php im Root-Verzeichnis lesbar machen.
- Eine Ebene höher wird die Datei nicht mehr von solchen Fehlkonfigurationen betroffen.
3. Verhindert automatisierte Angriffe
- Viele Angriffe basieren darauf, dass die wp-config.php an einem bekannten Ort liegt. Das Verschieben macht solche Angriffe schwieriger, da die Datei an einem nicht standardmäßigen Ort liegt.
4. Erhöhung der Verteidigungsschichten
- Es ist keine alleinige Sicherheitsmaßnahme, sondern ein Teil eines mehrschichtigen Sicherheitskonzepts, zu dem auch sichere Passwörter, regelmäßige Updates und die Verwendung von Sicherheits-Plugins gehören sollten. Hier liest du einige Tipps, wie du die Sicherheit deiner WordPress-Website erhöhen kannst.
Wie kann ich die wp-config.php eine Ebene höher verschieben?
Das ist relativ einfach. Mit dem FTP-Programm (z.B. FileZilla) verbindet man sich mit dem Webserver der eigenen Webseite und zieht die wp-config.php einfach ein Verzeichnis nach oben. Das war es auch schon. Alternativ verwendest du die Datei-Manager Funktion bei deinem Webhoster, wenn du nicht mit einem FTP Programm arbeiten möchtest.

Per FTP Programm kannst du die wp-config.php eine Ebene höher legen
Was tun mit der wp-config.php, wenn ich mehrere WordPress-Webseiten habe?
Wenn du mehrere WordPress-Webseiten in jeweils eigenen Unterordnern gespeichert hast, kannst Sie natürlich nur von einer Webseite die wp-config.php eine Ebene höher verschieben. Alternativ verschachteln du dann so, dass jede WordPress-Installation einen eigenen übergeordneten Ordner hat. Zum Beispiel:
/webseite1/WordPress /webseite1 ist der Ordner in den die wp-config.php geschoben wird und in /webseite1/WordPress liegt die WordPress-Installation OHNE die verschobene wp-config.php /webseite2/WordPress /webseite2 ist der Ordner in den die wp-config.php geschoben wird und in /webseite2/WordPress liegt die WordPress-Installation OHNE die verschobene wp-config.php
Das Prinzip sollte verstanden sein. Die Domains werden über das Backend des Webhosters jeweils auf die Unterordner gelinkt (z.B. /webseite2/WordPress), sodass dieser Unterordner wiederum das root-Verzeichnis der Installation ist.
Wie kann ich die wp-config.php sonst noch absichern?
Ganz einfach: nehmen jegliche Schreibrechte von der Datei. Diese muss nur gelesen werden können. 0444 sollte also ausreichend sein. Verwende Firewall Plugins wie Wordfence oder Solid Security, um generell die Sicherheit zu erhöhen und eine Firewall Ebene bei Zugriffen einzufügen.
Du benötigst Hilfe bei WordPress-Sicherheitsmaßnahmen?
Dann kontaktiere mich doch einfach. Ich unterstütze dich gerne dabei, deine Webseite gegen Hackerangriffe abzusichern.
Bin jetzt 6 Jahre später auf das selbe Problem gestossen. Habe WordPress 5.0 und nach Konsultation deiens Blogs ebenfalls meine wp-config.php eine Ebene höher gesetzt. Vorher war sie aber schon im htdocs, nun ist sie ganz zuoberst im web02… Geht das auch?
Jedenfalls wollte ich was im CSS ändern (Footer.php) und es hat die Änderungen nicht angenommen, bzw ist immer die Meldung gekommen, dass keine Verbindung mit der Webseite zur Kontrolle auf schwerwiegende Fehler aufgebaut werden könne und die Änderungen somit nicht gespeichert worden seien… Ich müsste sie mit FTP hochbeamen.
Hat das was mit der Verschiebung zu tun?
Gruss aus der Schweiz
Thomas
Das kann gut sein. Nicht jeder Hoster erlaubt das. Aber das lässt sich ja leicht rückgängig machen und gegenprüfen.
Bioshade ich verstehe nicht, welchen Sicherheitseffekt dieses Vorgehen haben soll. Die wp-config.php wird als PHP-Datei bei einer HTTP-Anfrage durch einen Browser interpretiert. Wenn du durch einen Browser-Aufruf den Inhalt der Datei lesen kannst, hast du keinen PHP-Interpreter installiert oder etwas anderes ist massiv kaputt.
Gibt doch so viele Wege das auch einfacher zu machen. Aber alle haben einen Knackpunkt: Hast du FTP-Zugriff, war es das mit der zusätzlichen Sicherheit. Und mal Hand auf Herz: Wie viele von den Usern die hier mitlesen machen sich überhaupt Gedanken über Sicherheit? Es werden diese Postings gelesen, weil man sich denkt „naja das machts ja sicherer“ aber keiner macht sich darüber Gedanken, dass per FTP statt SFTP auf den Server zugegriffen wird, oder sich in den Adminbereich per http statt https verbunden wird.
Zurück zum Thema: Eine Absicherung gegen Zugriffe aus dem Browser – selbst wenn der PHP-Interpreter ausfallen sollte – bietet ein einfacher Include. Beispielsweise kann man die wp-config.php auch einfach #wp-config.php nennen, oder wegen mir auch #karlheinzvonhabsburg.php – alles was man dazu braucht ist eine Datei die wp-config.php heißt und einen Include auf den neuen Namen der wp-config hat. Beispiel:
Wir nennen die wp-config.php nun #save-config.php. Dann brauchen wir als neue Datei die „wp-config.php“, die nur eine Zeile enthält: „include ‚#save-config.php‘;“ – fertig ist die Sache. Im Browser kann sie nicht mehr geöffnet werden, da die als Sprungmarke auf der Index.php interpretiert wird, statt als Datei – und der PHP-Interpreter kommt damit prima klar. Solange der PHP-Interpreter läuft bedeutet das, dass die Configuration nicht mehr in der Datei liegt und somit unlesbar wird.
Alternative: Verschlüsselt es einfach. Es gibt so viele Tools, die zwar keine 100%ige Sicherheit bieten, aber vor Scriptkiddies schützt es allemal – und die Tools sind teilweise sogar kostenfrei.
Guter Tipp, aber auch hier nochmal der Hinweis: Diese Securitymaßnahmen sind nicht gedacht für den Hacker, der FTP Zugriff will und bekommen hat, sondern eben gegen Script-Kiddies. Gegen automatisierte Angriffe mit den üblichen Mitteln auf Sicherheitslücken im System und den bekannten Plugins. Das sind die 99%, die es zuallererst abzuwehren gilt. Wenn man das nicht mal macht oder schafft, geht es blitzschnell und die Seite ist kompromitiert. Noch bevor einer angegriffen hat, der es WIRKLICH konkret darauf anlegt. SFTP etc. sollte selbstverständlich sein. Leider kapieren das die meisten nicht.
Hallo René, ich habe meine wp-config.php ebenfalls gemäss deiner Anleitung verschoben und stelle nun fest, dass die Automatisierung der kleinen WP-Upgrades nicht mehr geht. Nicht, dass mich dies stört, aber mir ist nicht klar, weshalb, da ich ja keinen entsprechenden „Verbots-Code“ in die config.php geschrieben habe. Muss also das Verschieben der Grund sein, nehme ich an. Was meinst Du?
Hi! hab hier einen Denkfehler:
wenn ich die Datei
/var/www/meinblog/wp-config.php auf
/var/www/wp-config.php verschiebe..
ist die doch noch lesbar? besser wärs doch
wenns noch ne Ebene höher wäre dann ist der Zugriff
blockiert.
Hm, entweder verstehe ich was falsch oder bei mir klappt das nicht. Meine Seite meckert eine fehlende wp-config.php an.
Verschoben habe ich sie ein mal in wp-admin und das zweite mal extra ein wordpress-Verzeichnis erstellt und die da rein. Klappt auch nicht.
Hallo Frank. Du hast das vermutlich falsch verstanden. Du musst eine Ebene zurückgehen und die Datei dahin verschieben. Würde deine wp-config.php zum Beispiel in htdocs/wordpress liegen, würdest du sie in htdocs/ verschieben. Also eine Ebene vor der eigentlichen Installation.
Vielen Dank, der Tip mit der wp.config.php habe ich ausprobiert und es funktioniert fabelhaft. Hatte mir immer schon Gedanken darüber gemacht wie man diese Datei einigermaßen schützen kann. Ich wusste allerdings nicht das WordPress in übergeordneten Ordnern auch sucht.
Danke nochmals.
Werner
Du kannst der Datei übrigens auch jegliche Schreibrechte nehmen. Bringt nochmal zusätzlich Sicherheit.
Ich habe das jetzt wie beschrieben ausprobiert und es funzt. Es sollte echt mehr Spezialisten wie Dich geben die ihr Wissen der Öffentlichkeit zugänglich machen. Ich denke das wird Dir auch einiges an Zuspruch bringen. Auf jeden Fall bietet Dein Blog wirklichen Mehrwert. Ich werde jetzt öfter hierher kommen.
Das freut mich sehr. Schön dich künftig öfter hier zu lesen…
Supper, danke für die Hilfe… hat funktioniert 😉
Vielen Dank und ich hoffe weitere Beiträge folgen bald 🙂
Auf jeden Fall. Danke für das Lob.