Wozu dient die .htaccess-Datei?
Mittels dieser Konfigurationsdatei können Sie bestimmte Servereinstellungen konfigurieren und das ohne einen vollständigen Administratorzugriff auf den Webserver zu haben. .Htaccess beeinflusst das Serververhalten nur für gewählte Verzeichnisse und ihre Unterverzeichnisse. WordPress verwendet .Htaccess im Grunde zur Einstellung suchmaschinenfreundlicher URL-Adressen.
Wo finden Sie die .htaccess-Datei?
Die .htaccess-Datei befindet sich im Stammverzeichnis (www) Ihres Hostings. Melden Sie sich am FTP-Server mithilfe eines ausgewählten FTP-Programms an, die Datei müssten Sie im www-Verzeichnis sehen. Sollte sie ausgeblendet sein, müssten Sie vorher die versteckten Dateien am Server in den Einstellungen Ihres FTP-Programms (Total Commander, WinSCP oder FileZilla) anzeigen lassen.
Wenn Sie die .htaccess auch dann nicht sehen, können Sie sie manuell auf den Server hochladen oder einfach in den WordPress-Einstellungen auf „Einstellungen” » „Permalinks” klicken und dann eine beliebige Permalink-Einstellung in der Auswahlliste auswählen und speichern. Danach wird die .htaccess-Datei auf dem Server erscheinen. Die Permalink-Einstellung können Sie anschließend zurücksetzen.
Wie bearbeiten Sie die .htaccess-Datei?
Um die .htaccess-Datei zu bearbeiten, können Sie einen beliebigen Texteditor von Notepad bis zum PSPad verwenden. Bevor Sie mit der Bearbeitung beginnen, machen Sie eine Sicherheitskopie der Datei und speichern Sie sie auf Ihrem Computer, damit Sie bei eventuellen Problemen alle Einstellungen zurücksetzen können.
1. Sperren Sie die Administration vor ungebetenen Gästen
Die .htaccess-Datei können Sie beispielsweise dazu verwenden, den Zugriff auf Ihre Webseiten auf bestimmte IP-Adressen zu beschränken. Somit könnte man sich zum Beispiel am Wordpress-Dashboard nur von bestimmten IP-Adressen und Standorten aus anmelden. Diese Methode ist dann geeignet, wenn Sie regelmäßig an einem oder mehreren PCs mit einer statischen IP-Adresse arbeiten. Tragen Sie folgende Codezeilen in die .htaccess-Datei ein und speichern Sie sie im Stammverzeichnis auf dem Server:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# Erlaubte IP-Adresse 1:
allow from xx.xx.xx.xxx
# Erlaubte IP-Adresse 2:
allow from xx.xx.xx.xxx
</LIMIT>
Achten Sie darauf, dass Sie die erlaubten IP-Adressen durch Ihre eigenen ersetzen. Sie können beliebig viele IP-Adressen angeben.
2. Schützen Sie das Wordpress-Dashboard mit einem neuen Passwort
Wenn Sie sich von verschiedenen Standorten aus im WordPress-Dashboard anmelden und nicht auf bestimmte IP-Adressen eingeschränkt werden möchten, können Sie einen Passwortschutz einrichten. Ein Passwortschutz kann sinnvoll sein, wenn eine Webseite oder ein Verzeichnis nur für bestimmte Benutzer verfügbar sein soll. Generieren Sie zuerst eine .htpasswds-Datei und laden Sie sie in das Verzeichnis hoch, das Sie vor der Öffentlichkeit verbergen möchten.
z.B /home/user/.htpasswds/public_html/wp-admin/passwd/passwd/
Nun tragen Sie folgende Codezeilen in die Datei ein:
AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user putyourusernamehere
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
Achten Sie darauf, dass Sie beim "AuthUserFile" den korrekten Verzeichnis-Pfad auf Ihrem Webserver eintragen.
3. Verzeichniszugriff verbieten
Damit Sie Ihre Webinhalte vor potentiellen Angreifern verbergen, können Sie die öffentliche Anzeige von Verzeichnisinhalten deaktivieren. Dieser Schritt wird von den meisten Sicherheitsexperten empfohlen.
Zur Deaktivierung fügen Sie einfach eine einzelne Zeile in die .htaccess-Datei hinzu:
Options -Indexes
4. Deaktivieren Sie das Ausführen von PHP-Dateien in ausgewählten WordPress-Verzeichnissen
Häufig versuchen die Angreifer mittels sogenannter Backdoors (Hintertüren) in das Redaktionssystem einzudringen. Oft geht es nur um eine Datei, die es der Angreifer schafft auf Ihr Hosting-Server einzuschleusen. Anschließend kann er mit dieser Datei weitere Befehle ausführen und Ihre Webseite kontrollieren.
Eine der präventiven Maßnahmen sind folgende Codezeilen in einer neuen .htaccess-Datei:
<Files *.php>
deny from all
</Files>
Die .htaccess-Datei laden Sie anschließend in jeden dieser Verzeichnisse hoch:
- /wp-content/uploads/
- /wp-includes/
5. wp-config.php mit .htaccess absichern
Eine der wichtigsten Dateien in Ihrer WordPress-Seite ist die WordPress-Konfigurationsdatei „wp-config.php”. Diese Datei beeinflusst maßgeblich die Steuerung Ihrer WordPress-Webseite und enthält Zugänge zur Datenbank und viele weitere Einstellungen.
Damit Sie die „wp-config.php” vor äußeren Zugriffen schützen, sodass kein Fremder an die sensiblen Daten gelangen kann, fügen Sie folgende Codezeilen in Ihre .htaccess-Datei ein:
<files wp-config.php>
order allow,deny
deny from all
</files>
6. Zugriff auf Ihre Webseiten für bestimmte IP-Adressen verbieten
Haben Sie eine ungewöhnlich hohe Anzahl von Zugriffen von bestimmten IP-Adressen bemerkt? Wenn Sie dieses Verhalten für verdächtig halten, können Sie bestimmten IP-Adressen den Zugriff auf Ihre Webseiten verweigern.
Fügen Sie folgende Codezeilen in Ihre .htaccess-Datei hinzu und ersetzen Sie „xxx” durch die verdächtige IP-Adresse:
<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>
7. Author Scans blockieren
Eine bevorzugte Technik der Angreifer sind die so genannten Brute-Force-Angriffe. Hierbei werden Ihre Webseiten gezielt nach Benutzernamen der Blogautoren durchsucht und ihre Dashboard-Passwörter geknackt, dadurch erlangen die Angreifen den Zugriff auf das Wordpress-Dashboard und die Kontrolle über das System.
Mit folgenden Codezeilen, können Sie den Author Scan unterbinden:
# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
# END block author scans
8. Zugriff externer Anwendungen auf Wordpress verbieten
Jede Wordpress-Installation beinhaltet die Datei „xmlrpc.php”. Diese Datei ermöglicht es den Anwendungen von Drittanbietern den Zugriff auf Ihre Wordpress-Seite. Wenn Sie solche Anwendungen nicht verwenden, blockieren Sie am besten den Zugriff auf diese Datei.
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Tipp zum Schluss: Schützen Sie die .htaccess-Datei vor unbefugtem Zugriff
Wie Sie sehen konnten, kann die .htaccess-Datei viel beeinflussen. Deshalb ist es gut, auch diese Datei vor Angreifern zu schützen. Dazu können Sie folgende Codezeilen verwenden:
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>