Verzeichnisschutz (Passwortschutz) mit .htaccess
Immer dann wenn auf Webseiten ein Content-Management-System, ein Forum, ein Blog, eben ein Standardscript eingesetzt wird, verfügt dieses über ein Admin-Menü von wo aus der Administrator (der Betreiber) alle notwendigen Einstellungen vornehmen kann. Somit ist dieses Verzeichnis (Ordner) das wichtigste der Webseite und sollte somit auch ausreichend gut geschützt werden. Denn es kommt immer wieder vor, dass sich einige Zeitgenossen einen Spaß erlauben und die Zugänge zu den Adminbereichen hacken. Die dort vorgefundenen Daten wie etwa Newsletter-Adressen, Kontaktinformationen, Download, …, stehlen oder im Internet kostenlos veröffentlichen.
Die Hersteller der Software (Scripte) bieten bereits im Standard eine Zugangsverschlüsselung für den Adminbereich an, doch stellt sich vielfach die Frage: reicht dieser Schutz aus? Vor allem bei Blogs, basierend auf der Blogsoftware Wordpress, kommt es immer wieder vor das die Admin-Zugänge gehackt werden und sich somit Unbefugte einen Zugriff verschaffen.
Damit dies auf dem eigenen Internetprojekt nicht passiert, kann jeder Webmaster sich einen eigenen, zusätzlichen Zugriffsschutz erstellen, z.B. durch die Verwendung einer .htaccess-Datei.
Hintergrundinformationen
Durch die htaccess-Technik lassen sich schnell verschiedene Verzeichnisse mit einem Passwort sehr sicher schützen. Benötigt werden dafür lediglich 2 kleine Dateien und die notwendigen Rechte auf dem Webserver diese ausführen zu lassen.
Die eine Datei bekommt den Namen .htpasswd und enthält verschlüsselte Informationen wie Benutzername und Passwort, für die einen Zugang zu dem geschützten Verzeichnis erlaubt werden sollen. In der anderen Datei, der .htaccess, sind Informationen rund um den zu schützenden Ordner und mögliche Usergruppen hinterlegt.
Erstellung der Dateien
Als erstes erstellt man eine Datei namens .htaccess und befüllt diese mit den notwendigen Informationen und dem Pfad zu der Passwortdatei, wie z.B.:
#Verzeichnisschutz
AuthType Basic
AuthName ‘Daten eingeben!’
AuthUserFile /admin/admin/
order deny,allow
allow from all
require valid-user
In der Zeile AuthUserFile muss der Pfad eingetragen werden, wo sich die Passwortdatei befindet. In diesem Fall in dem Beispiel-Ordner /admin/admin/.
In den nachfolgenden Zeilen wird festgelegt, das nur die User Zugriff haben deren Eingaben mit den Daten in der Passwortdatei übereinstimmen, und das der gewählte Ordner + alle darin befindlichen Unterordner mit der htaccess-Datei geschützt werden.
Als zweite Datei wird die .htpasswd erstellt und mit den verschlüsselten Benutzerdaten befüllt. In diesem Beispiel soll der User mit dem Namen konzept-welt und dem Passwort 123456789 Zugang zu dem geschützten Ordner erhalten. Daher muss in der htpasswd folgende Zeile mit dem Benutzernamen und dem verschlüsselten Passwort eingetragen werden:
konzept-welt:12yJ.Of/NQ.Pk
Das Passwort für die .htpasswd kann z.B. bei gulli.com verschlüsselt werden.
Dateien auf den Webspace laden
Sind beide Dateien erstellt und mit den Zugangsdaten befüllt, dann können diese in den zu schützenden Ordner auf den Webspace hochgeladen werden.
In dem Beispiel muss die .htpasswd in den Ordner /admin/admin/ und die .htaccess in den zu schützenden Ordner kopiert werden.
Nach dem Kopieren der Dateien auf den Server sollten nun einige Tests durchgeführt werden, wie etwa:
- lässt sich die Webseite noch aufrufen?
- Funktionieren alle notwendigen Features auf der Webseite?
- Ist der zu schützende Ordner wirklich geschützt?
Um zu prüfen ob mit der htaccess-Verschlüsselung der Adminbereich des Scriptes geschützt ist, muss dieser in dem Internet-Browser aufgerufen werden. Wird anstelle der Einstiegsseite für den Admin ein kleines Fenster mit zwei Zeilen für die Eingabe eines Benutzernamens und eines Passwortes angezeigt, dann ist der Verzeichnisschutz erfolgreich.

Mit dieser einfachen Möglichkeit des Schutzes von Ordnern auf dem Webserver kann man es potentiellen Angreifern schwerer machen, den eigenen Adminbereich zu knacken.
Weitere Tipps
- Für das Passwort sollte eine Kombination aus Buchstaben, Zahlen und Sonderzeichen wie etwa -, #, *, (, / oder & verwendet werden.
- Aus dem Quelltext sollten Hinweise auf das verwendete Script, wie etwa die Zeile meta name=”generator” content=”………” entfernt werden. Bleibt die Zeile im Quelltext sichtbar, dann kann jeder sofort erkennen welches Script im Einsatz ist.
- Als Zugangsname zu dem Adminbereich sollte nicht „Admin“ verwendet werden, sondern auf einen anderen (eventuell fiktiven) Namen ausgewichen werden (Bsp.: MuellerS, Milchreis*, …).
- Updates für die verwendete Software sollte zeitnah eingepflegt werden, so dass die eingesetzte Software immer dem aktuellsten Stand entspricht.
- Verwendung von aktuellem und Fehlerfreien PHP-Code.
Bluffen
Sollte es technisch nicht möglich sein, wichtige Ordner zusätzlich zu schützen, dann kann auch ein Bluff hilfreich sein. In diesem Fall wird nur der HTML-Code um ein zusätzliches, optisches Eingabefeld erweitert. Dieses Eingabefeld wird technisch nicht benutzt, sondern dient nur der optischen Anzeige. Wer dies nicht weiß, der versucht nun auch für dieses Feld das Passwort zu erraten.
Vorher

Nachher

Die Sicherheit wird deswegen jedoch nicht erhöht!
Weitere Beiträge rund um das Thema .htaccess:
- Sicherheit der Webseite mit .htaccess – Mit einer .htaccess-Datei lassen sich Crawler und Robots aussperren

