Nach der Installation von WordPress sind Dateien übrig, die keinen weiteren Nutzen für den User oder Webseitenbetreiber haben. Theoretisch bergen sie sogar die Gefahr zu viele Informationen preis zu geben und es Hackern leichter zu machen, als nötig. Zudem gibt es Dateien, die auf deinem Webspace zu finden sind, die generell sensibel sind. Wie man damit umgehen sollte…
Inhaltsverzeichnis:
Wieso sollte man bestimmte Dateien auf dem Webspace von WordPress vor externem Zugriff schützen?
Bestimmte Dateien in WordPress enthalten sensible Informationen, wie zum Beispiel Datenbankzugangsdaten, Serverkonfigurationen oder Debug-Informationen. Wenn diese Dateien für externe Nutzer zugänglich sind, könnten Hacker diese Daten auslesen und die Website angreifen, Daten manipulieren oder sogar die Kontrolle übernehmen (was sie so auch können, aber es wird ihnen durch diese Dateien schlichtweg noch erleichtert). Außerdem geben einige Dateien Informationen über die verwendete WordPress-Version preis, was es Angreifern erleichtert, gezielt bekannte Schwachstellen auszunutzen. Indem man den Zugriff auf solche Dateien einschränkt, minimiert man potenzielle Sicherheitslücken und schützt die Website sowie die darauf gespeicherten Daten effektiv. Du minimierst schlichtweg das Risiko eines „Drive-By-Hacks“.
Welche Dateien sollten in WordPress gelöscht werden
Im Wurzelverzeichnis der WordPress-Installation befinden sich zum Beispiel Readme-Dateien, die Versionsnummern verraten. Ebenso in den Verzeichnissen von Plugins. Diese sollten eigentlich entfernt werden. Das Problem ist, dass sich diese Dateien bei Updates neu generieren. Somit ist es sinnvoller diese Dateien vor externem Zugriff zu schützen, statt sie zu löschen.
Kritischer wäre da zum Beispiel die wp-config-sample.php, in der leider der ein oder andere richtige Verbindungsdaten einträgt und dann liegen lässt. Im Ordner wp-admin liegt die install.php, diese sollte auf jeden Fall entfernt werden.
Bei mancher Migration werden Installer Dateien vergessen (bei Duplicator werden die Dateien in der Regel automatisch gelöscht, aber es ist besser 2x zu prüfen).
Alternative: Zugriff auf bestimmte Dateien per .htaccess verbieten
Da es recht anstrengend ist, nach jedem Update irgendwelche Liesmich-Dateien oder Installationsdateien zu entfernen, lässt sich das Problem auch eleganter lösen. Man trägt folgende Befehle in der .htaccess-Datei im Wurzelverzeichnis der WordPress-Installation ein:
Options All -Indexes <files readme.html> Order allow,deny Deny from all </files> <files .htaccess> order allow,deny deny from all </files> <files *.sql> order allow,deny deny from all </files> <files liesmich.html> Order allow,deny Deny from all </files> <files *.txt> Order allow,deny Deny from all </files> <files license.txt> Order allow,deny Deny from all </files> <files install.php> Order allow,deny Deny from all </files> <files wp-config.php> Order allow,deny Deny from all </files> <files wp-config-sample.php> Order allow,deny Deny from all </files> <files robots.txt> Order allow,deny Allow from all </files>
Damit wird der Zugriff auf diese Dateien verhindert. Einfacher geht es nicht. Achtung: Der letzte Befehl erlaubt wiederum den Zugriff auf die wichtige robots.txt (Suchmaschinen brauchen diesen Zugriff).
Beispiel Ergebnis: Zugriff auf die readme.html blockiert

Über .htaccess Rules kann zB der Zugriff auf die readme.html blockiert werden
Sensible Dateien, die geschützt werden sollten
Konfigurationsdateien
wp-config.php – Enthält Datenbankzugangsdaten und andere sensible Informationen.
Server-Konfigurationsdateien
.htaccess (bei Apache) – Regelt den Serverzugriff.
web.config (bei Windows-Servern) – Ähnlich wie .htaccess.
Debug-Dateien
debug.log – Kann sensible Fehlerdetails enthalten, falls WP_DEBUG aktiviert ist (kann an unterschiedlichen Stellen auf dem Webspace liegen).
Backup-Dateien
Alte .sql- oder .zip-Dateien, die versehentlich im öffentlichen Verzeichnis liegen könnten.
Installations- und Log-Dateien
readme.html – Gibt Informationen über die WordPress-Version preis.
license.txt – Zeigt die WordPress-Lizenz (weniger kritisch, aber oft unnötig).
installer.php – Beispiel für eine Install Datei, die in der Regel nur 1x benötigt wird.
Detailliertere Anleitung – Empfehlungen zur Zugriffsbeschränkung
Achtung: Diese Maßnahmen können (müssen aber nicht) bei manchen Hostern zu Problemen führen. Stelle sicher, dass du nach der Implementierung der Maßnahmen diese im Zweifelsfall wieder rückgängig machen kannst. Ein Backup zu machen, ist immer eine gute Idee.
1. Zugriff auf wp-config.php einschränken
Füge diese Regel zu deiner .htaccess hinzu:
order allow,deny deny from all
2. Verzeichnisschutz aktivieren
Verhindere das Anzeigen von Verzeichnisinhalten, indem du in der .htaccess Folgendes hinzufügst:
Options -Indexes
3. Debugging nur lokal aktivieren
Stelle sicher, dass WP_DEBUG und WP_DEBUG_LOG in der wp-config.php auf false gesetzt sind:
define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', false );
4. Zugriff auf .htaccess und web.config blockieren
Ergänze die .htaccess um:
Order allow,deny Deny from all
5. IP-basierte Zugriffsbeschränkung (Optional)
Für Admin-Seiten oder sensible Bereiche kannst du IP-Beschränkungen einfügen:
order deny,allow deny from all allow from 123.123.123.123
6. Lesen der readme.html verhindern
Entferne die Datei oder füge folgende Regel in die .htaccess ein:
Order allow,deny Deny from all
7. Plugin- und Theme-Dateien schützen
Schließe den direkten Zugriff auf PHP-Dateien in wp-content/uploads, wp-content/plugins und wp-content/themes aus:
deny from all
8. Verwende Security-Plugins
Plugins wie Wordfence, Solid Security oder All In One WP Security können automatisierte Sicherheitsmaßnahmen und Scanner bereitstellen, um verdächtige Dateien oder Zugriffe zu erkennen. Ansonsten findest du hier einige Tipps, um die Sicherheit deiner WordPress Website zu verbessern.
Bildnachweis: Access denied icons created by Iconic Panda – Flaticon
Zoroaster
Herbert: Am besten ist es, wenn User(namen) mit Adminrechten KEINE Beiträge schreiben/veröffentlichen. Der Admin sollte wirklich nur administrieren.
Lothar vom Blogger Forum
Hallo Rene,
ich hatte die Tage über die Möglichkeit der Schadcode Einschleusung über die liesmich.html / readme.html und Lizenz.txt gelesen und dann mal für einen Beitrag in meinem Blogger Forum weiter recherchiert.
Ich habe Deinen Beitrag als weiterführende Quelle verlinkt.
Ich hoffe das war so ok. Wenn nicht dann sage bitte kurz bescheid.
Hält man denn mit einem Eintrag in die .htaccess und die robots.txt die hackerbots fern von den Dateien?
Ich freue mich auf Deine Antwort.
Grüße Lothar
Scharlotte
Hallo,
was ist bitte damit gemeint: „Der letzte Befehl erlaubt wiederrum den Zugriff auf die wichtige robots.txt.“
Soll der Befehl nun in das Wurzelverzeichnis eingetragen werden oder nicht?
Danke
René Dasbeck Post author
Das bedeutet, dass txt Dateien verboten sind, der Zugriff auf die robots.txt aber wiederrum erlaubt wird.
Ronny
Durch einen Zufall bin ich auf diesen Artikel gelandet und habe ihn natürlich gleich umgesetzt. Besten Dank für den Tipp und die Sicherheit!!!
Steven
Dank fuer den Artikel. Vielen Dank.
monogo
Hallo,
zunächst einmal möchte ich Dir ein großes Kompliment machen. Hier erfahre ich wichtige Informationen hinsichtlich Sicherheit meiner Blogs. Ich habe bisher die Augen und Ohren verschlossen und habe gerne weg gesehen. Jetzt mußte iuch aber feststellen, dass mein Benutzername (ich habe NICHT admin) auch schon bei den Versuchen sich unter selbigen, von Fremden benutz wird. Also, sicherlich nur eine Frage der Zeit bis Sie auch mein Passwort kennen.
Meine Fragen:
woher wissen die HAcker mein Benutzernamen?
Was kann ich vorallem dagegen tun?
Gruß und vielen Dank
Joachim
René Dasbeck Post author
Hallo Joachim,
deinen Benutzernamen bekommen Hacker durch sogenannte Brute Force Methoden heraus. Es werden in kürzester Zeit sehr sehr viele Varianten versucht. Man mag nicht glauben, wie gut diese Attacken mittlerweile sein können. Am besten man sichert sein wp-admin durch einen zusätzliche Passwortabfrage mit der .htaccess Datei ab. Das macht es deutlich schwerer reinzukommen. Ein anderer Benutzername ist als Admin ist aber sicher schonmal eine gute Hürde gegen automatisiert erfolgende Angriffe.
Gruß
René
Herbert
Der Benutzername taucht im Quelltext der Beiträge auf und kann dort leicht ermittelt werden.
Suche z.Zt. nach einer Möglichkeit, das zu unterbinden, habe aber bisher noch nichts hlfreiches gefunden.
Irgenwelche Ideen?
Gruß Herbert