Die htaccess Datei – So sichern Sie Ihre Website

Posted by in Sicherheit, WordPress

Nützen Sie die Möglichkeiten der htaccess Datei, Ihren Internetauftritt sicherer zu machen.

Immer häufiger werden Websites attackiert. Am effektivsten schützen Sie sich vor Angriffen mit ein paar Zeilen Code in der htaccess Datei. Das ist nicht wirklich kompliziert und stellt einen wesentlichen Schutz für Ihre Website dar.

Darüber hinaus gibt es weitere Absicherungen die Sie beachten sollten, wenn Sie das Content Management System WordPress verwenden. Diese habe ich in meinem Artikel „WordPress Angriff“ in diesem Blog vorgestellt.

Gerne werden Plugins, wie zum Beispiel >> Limit Login Attempts zur Verteidigung der Websites genutzt. Diese Plugins sind empfehlenswert und erfüllen Ihren Zweck. Dennoch ist bei Ihrer Verwendung zu beachten, dass sie innerhalb von WordPress Verwendung finden. Das bedeutet, dass die Verteidigung Ihrer Website direkt von WordPress durchgeführt wird.

Stellen wir uns das einmal ganz handfest wie eine ‚Festung‘ vor: Dass bedeutet bildlich gesprochen, dass Ihr Internetauftritt von mehr oder minder massiven Steinen geschützt wird, aber ohne ‚feste Außenmauer‘ da steht.  Das bietet potentiellen Angreifern deutlich mehr Angriffsmöglichkeiten und deutlich mehr Angriffsfläche.  

Zudem ist im Angriffsfall ihre Website selbst mit der Abwehr der Attacke beschäftigt. Dies kann die Nicht-Erreichbarkeit Ihrer Website verursachen, wohlgemerkt NICHT weil Ihre Website gehackt wurde, sondern weil sie gerade damit beschäftigt ist einen Angriff abzuwehren. Das klingt nicht nur unbefriedigend, dass ist es auch …

Besser ist es, wenn Ihr Content Management System (CMS)  mögliche Angriffsversuche gleich von aussen abblockt. Angriffe zielen bevorzugt auf den Administrationsbereich eines CMS. Haben Hacker hier Zugriff erlangt, so haben sie Kontrolle über Ihr System und können von dort aus – in Ihrem Namen – ihr Unwesen treiben.

Angreifer sollten diesen Bereich also möglichst niemals zu Gesicht bekommen, noch nicht einmal die schlichte Login Seite Ihres CMS. Das erreichen Sie, indem Sie einen einfachen, aber sehr effektiven weiteren Passwortschutz errichten, der Ihren Administrationsbereich gegen unerwünschte Zugriffe von außen abschirmt.

htaccess Datei Anmeldung

In diesem Artikel zeige ich Ihnen, wie Sie Ihren WordPress Internetauftritt gegen Angriffe absichern.

Sichern Sie Ihre Website mit der htaccess Datei in 5 Minuten.

Das errichten der oben erwähnten ‚festen Außenmauer‘ ist relativ einfach, Sie benötigen hierzu nicht unbedingt IT-Kenntnisse 😉 Nur ein paar einfache Handgriffe sind notwendig: Ein FTP-Zugang zu Ihrem Webspace, ein FTP-Programm und ein einfacher Text-Editor (Word ist keiner).

Ihre Ausrüstung:

FTP-Zugang:
Sollten Sie diesen gerade nicht parat haben: den Zugang zu Ihrem Fileserver erfahren Sie von Ihrem Provider. Loggen Sie sich in Ihren Kundenaccount ein und halten Sie nach FTP Ausschau. Sie werden dort eine FTP-Adresse, sowie Benutzername und dass zugehörige Passwort erhalten.

FTP-Programm:
FTP-Programme gibt es viele, für alle Plattformen. Sie hier vorzustellen, würde den Rahmen des Artikels sprengen. Eine gute und kostenlose Lösung ist für alle Plattformen ist Filezilla. >> Laden Sie Filezilla hier herunter, installieren Sie das Programm und richten Sie den Zugang zu Ihrem Webserver ein. Nutzen Sie den Link auf dieser Seite. Sollten Sie einen anderen Link nutzen, dann achten Sie bitte darauf, dass Sie nicht auf irgendwelche Abzocker hereinfallen. Filezilla ist grundsätzlich kostenlos.

Text Editor:
Nutzen Sie zum editieren der htaccess Datei einen einfachen Text-Editor, z.B. den Microsoft Editor (Standard auf Windows-Rechnern) oder TextEdit (Standard auf Apple OS-Rechnern). Nutzen Sie auf keinen Fall Textverarbeitungsprogramme wie Word / Open Office / Page etc. !!!

Alles parat? OK – Los geht´s.

Schritt 1.
Erstellen Sie eine .htpasswd (PUNKThtpasswd)

Erstellen Sie in Ihrem Text-Editor eine neue leere Datei. Rufen Sie den >> Htpasswd Generator auf. In den Eingabefeldern tragen Sie den gewünschten Nutzernamen sowie ein sicheres Passwort ein – aus dieser Kombination aus Benutzernamen und Passwort ergibt sich der Zugang für die .htaccess Abfrage.

Klicken Sie auf den Button zur Erzeugung des htpasswd-Files. Kopieren Sie die vom Htpasswd Generator erzeugte Zeichenfolge – die sieht ungefähr wie folgt aus:
IhrPersoenlicherBenutzername:$apr1$l3IaZD4K$cDVJkiJruLT0alULr3yoW0
in die geöffnete Datei in Ihrem Text-Editor und speichern Sie sie als htpasswd.

Laden Sie diese Datei in ein Verzeichnis innerhalb Ihres WordPress-Verzeichnisses auf Ihren Webserver. Benennen Sie die Datei dort in .htpasswd (PUNKThtpasswd) um. Sie können die Datei in einem von Ihnen erstellten Unterordner ‚verstecken‘.

Beachten Sie bitte:
Der Passwortgenerator verschlüsselt das von Ihnen verwendete Passwort mit dem sogenannten MD5 Algorithmus – aus dem Passwort: Conchita-Wurst-2014 wird verschlüsselt also: $apr1$SgjZFv/0$k43CHibXrsoTwG/72.8wp. Sie müssen sich allerdings nur Conchita-Wurst-2014 als Password merken, nicht die MD5 Verschlüsselung 😉

Schritt 2. 
Verknüpfen Sie die .htaccess Datei mit Ihrer 
.htpasswd Datei

Navigieren Sie mit Ihrem FTP-Programm in das WordPress-Verzeichniss Ihres Webservers. Suchen Sie dort in der obersten Verzeichnisebene eine Datei mit dem Namen  „.htaccess „(PUNKThtaccess) . Erstellen Sie zunächst eine Sicherungskopie der vorhandenen .htaccess Datei. Benennen Sie anschließend die .htaccess in htaccess um. Also OHNE Punkt. Laden Sie anschließend die Datei auf Ihren Rechner herunter und öffnen Sie in Ihrem Text-Editor.

Manchmal existiert noch keine .htaccess Datei in Ihrem WordPress-Verzeichnis.  Macht nichts. Erstellen Sie in diesem Fall Ihrem Text-Editor eine weitere neue leere Datei. Fügen Sie in die geöffnete Datei folgenden Code ein und passen Sie den Pfad zu Ihrer .htpasswd Datei nach folgendem Muster an:
http://www.ihre-domain.com/pfad/zu/ihrer/.htpasswd 

<Files wp-login.php>
 AuthName "Admin-Bereich"
 AuthType Basic
 AuthUserFile http://www.ihre-domain.com/pfad/zu/ihrer/.htpasswd  
 require valid-user
</Files>

<FilesMatch "(\.htaccess|\.htpasswd|wp-config\.php|liesmich\.html|readme\.html)">
 order deny,allow
 deny from all
</FilesMatch>

Abschließend laden Sie die .htaccess in die oberste Verzeichnisebene Ihres WordPress Verzeichnisses auf Ihren Webserver.
Das war es auch schon.

Update

Achtung STRATO-User.
Wenn Sie Ihre Website(s) bei dem Provider Strato hosten, löst der oben aufgelistete Code einen Fehler aus.
Wie Sie den Schutz der .htaccess-Datei auf einem Start-Server einrichten können, finden Sie unten im Abschnitt Kommentare im Beitrag von Marion Lustig vom 09.01.2015.

Fazit:

Natürlich schließt der oben aufgeführte Schutz der htaccess Datei einen Einbruch keinesfalls hundertprozentig aus – eine hundertprozentige Sicherheit gibt es nicht. Zum Beispiel würde ein auf dem heimischen Rechner installierter Trojaner auch diese Anmeldewerte heimlich an einen Späher übertragen.

Die Vielfalt, Hartnäckigkeit und Einfallsfreudigkeit der Hacker scheint unerschöpflich. Doch der Schutz der htaccess Datei ist ein ernstzunehmendes Hindernis auf dem Weg zur feindlichen Übernahme. Es konnte sich in der Vergangenheit bereits vielmals als zuverlässige Abwehr vor ungebetenen Gästen bewähren und vor der Ausnutzung bereits bekannt gewordenen WordPress-Lücken zum Zugriff auf den Administrationsbereich schützen.

Appell zum Schutz der htaccess Datei von Sergej Müller

Lieber eine Passwortabfrage zu viel als zu wenig.
Dringende Aufruf an alle Blogger: Sichert eure Adminbereiche ab! Die Angelegenheit ist schneller und unkomplizierter erledigt als vermutet. Die in den meisten Fällen bereits vorhandene Server-Datei .htaccess (meist von WordPress für die Steuerung der Permalinks angelegt oder für das Caching-Plugin Cachify benötigt) wird um 2 Code-Blöcke mit minimaler Pfadanpassung erweitert.

Für Neugierige:
Was ist eigentlich eine htaccess Datei?

Eine .htaccess-Datei wird bei jedem Zugriff eines Servers auf ein Verzeichnis oder einer Datei im und unterhalb des Verzeichnisses der .htaccess-Datei gelesen und ausgewertet. Wird zum Beispiel von einem Nutzer die Datei „datei.htm“ im Verzeichnis „/Ordner/“ abgefragt, so schaut der Webserver erst in allen höher gelegenen sowie direkt im Verzeichnis „/Ordner/“ nach einer vorhandenen .htaccess-Datei. Dabei werden alle gefundenen .htaccess-Dateien ausgewertet.

Mit Hilfe von  .htaccess-Dateien kann man also als Webseitenbetreiber eigene Verzeichnisse komfortabel administrieren, ohne dass an der globalen Webserverkonfiguration des Webservers selbst etwas geändert werden muss. In der Regel besitzt man als einfacher Webseitenbetreiber diese globalen Rechte zur Serverkonfiguration auch nicht.

Wikipedia:

Die .htaccess (engl. hypertext access „Hypertext-Zugriff“) ist eine Konfigurationsdatei auf NCSA-kompatiblen Webservern wie Apache, in der verzeichnisbezogene Regeln aufgestellt werden können. Beispielsweise kann man darüber ein Verzeichnis oder einzelne Dateien durch HTTP-Authentifizierung vor unberechtigten Zugriffen schützen.

Auch Fehlerseiten oder Weiterleitungen innerhalb des Servers (siehe Rewrite-Engine) lassen sich darin festlegen, ohne dass der Server neu gestartet werden muss: Änderungen in der .htaccess-Datei treten ohne Weiteres sofort in Kraft, weil die Datei bei jeder Anfrage an den Webserver ausgewertet wird. Bestimmungen in einer .htaccess wirken wie Directory-Abschnitte in zentralen Konfigurationsdateien wie einer httpd.conf. Sie gelten nur für das Verzeichnis in dem die .htaccess gespeichert ist und in allen seinen Unterverzeichnissen, können aber auch in den Unterverzeichnissen überschrieben werden.

Artikel erstellt am 15. September 2016 von Thorsten Siefert