Mit der .htaccess-Datei filtert der Server Anfragen, bevor sie WordPress erreichen. Mit den folgenden Regeln schützen Sie sensible Dateien und blockieren verbreitete Angriffe.
- Erstellen Sie eine Kopie Ihrer aktuellen
.htaccess-Datei. - Fügen Sie die Regeln oberhalb der Zeile
# BEGIN WordPressein; den Bereich zwischen seinen Markierungen schreibt WordPress selbst neu. - Die Sicherheitsmaßnahmen des WP Toolkit setzen einige dieser Regeln bereits: Sicherheitstipps für WordPress-Websites
Die .htaccess-Datei bearbeiten
- Melden Sie sich unter
https://ihredomain.de:8443oder über die Serviceseite in Ihrem Kundenbereich bei Plesk an. - Öffnen Sie im Menü Dateien den Ordner
httpdocs. - Klicken Sie auf die Datei
.htaccessund wählen Sie Im Texteditor bearbeiten. Sehen Sie die Datei in Ihrem FTP-Programm nicht, aktivieren Sie die Anzeige versteckter Dateien. - Fügen Sie die benötigten Regeln von unten ein, speichern Sie und prüfen Sie Ihre Website.
1. Zugriff auf sensible Dateien sperren
wp-config.php enthält Ihr Datenbankpasswort. Verhindern Sie, dass diese Datei und .htaccess im Browser gelesen werden:
# Zugriff von außen auf wp-config.php und .htaccess sperren
<Files wp-config.php>
Require all denied
</Files>
<Files .htaccess>
Require all denied
</Files>
2. Verzeichnisauflistung abschalten
Verhindert, dass der Inhalt Ihrer Ordner und Ihre Plugins aufgelistet werden:
# Verzeichnisauflistung abschalten
Options -Indexes
3. PHP-Ausführung im Uploads-Ordner sperren
Ein verbreiteter Angriff ist das Hochladen und Ausführen einer schädlichen PHP-Datei in wp-content/uploads. Fügen Sie den folgenden Code nur in eine neue .htaccess-Datei im Ordner wp-content/uploads/ ein:
# PHP-Dateien in diesem Ordner nicht ausführen
<FilesMatch "\.(php|phtml|phar)$">
Require all denied
</FilesMatch>
4. XML-RPC abschalten
Wenn Sie weder Jetpack noch die WordPress-App nutzen, schalten Sie XML-RPC ab, das häufig für Brute-Force-Angriffe genutzt wird:
# XML-RPC abschalten
<Files xmlrpc.php>
Require all denied
</Files>
5. Benutzernamen-Scans sperren
Angreifer versuchen, über die Abfrage ?author=1 Ihren Administrator-Benutzernamen zu ermitteln:
# Benutzernamen-Scans über ?author=1 sperren
RewriteEngine On
RewriteCond %{QUERY_STRING} (^|&)author=\d+ [NC]
RewriteRule .* - [F,L]
6. Sicherheits-Header hinzufügen
Diese verhindern, dass Ihre Website auf fremden Seiten in einem Rahmen geladen wird, und schützen vor Angriffen über verwechselte Dateitypen. Ob Ihre Website diese Header bereits sendet, prüfen Sie auf securityheaders.com; falls ja, fügen Sie sie nicht erneut hinzu.
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
Wenn etwas schiefgeht
- 500 Internal Server Error
- Die zuletzt hinzugefügte Regel enthält einen Tippfehler. Entfernen Sie den letzten Abschnitt oder spielen Sie Ihre Kopie zurück.
- Ein Plugin funktioniert nicht mehr
- Das Abschalten von XML-RPC oder die Uploads-Regel können einige Plugins beeinträchtigen. Entfernen Sie die betreffende Regel und versuchen Sie es erneut.
- Dieselbe Regel steht doppelt in der Datei
- Plugins wie Wordfence oder Solid Security schreiben ebenfalls Regeln in die .htaccess. Fügen Sie dieselbe Regel nicht ein zweites Mal ein.
Die .htaccess-Datei gilt für Linux-Hosting (Apache). Beim Windows-Hosting werden diese Einstellungen in der Datei web.config vorgenommen; eröffnen Sie bei Bedarf ein Support-Ticket.
