htpasswd Datei anlegen und Codezeilen generieren

In diesem Beitrag erfährst Du, wie Du mittels htpasswd den Schutz Deiner Webseite und einzelner Website-Bereiche steigerst. Unsere Erläuterungen umfassen allgemeine Informationen zum Sicherheitsgrad und Zweck von htpasswd. Außerdem erhältst Du eine Schritt-für-Schritt-Anleitung zur Generierung der Codezeilen und zum Anlegen der erforderlichen Dateien.

Was macht die htpasswd?

htpasswd ist ein Passwortschutz, der zum Einsatz kommt, um sensible Bereiche einer Website zusätzlich zu sichern. Es ist kein genereller Schutz vor Cyber-Angriffen, sondern findet als Ergänzung zu den sonstigen Sicherungsmechanismen für Websites (z. B. NinjaFirewall für WordPress, permanente Updates der Systeme, Plugins und Themes, Beseitigung von Sicherheitslücken) Anwendung.

Oft wird htpasswd verwendet, um den Admin-Bereich einer Website zu schützen. Damit Personen zum Login-Bereich ins Backend vordringen können, müssen sie zunächst den in der htpasswd-Datei hinterlegten Benutzernamen und das dort eingetragene Passwort angeben.

Neben dem Admin-Bereich lassen sich Ordner und Verzeichnisse durch htpasswd zusätzlich sichern. Darüber hinaus eignet sich htpasswd dazu, die Inhalte auf verschiedenen Seiten vor den Suchmaschinen-Algorithmen zu verbergen. Somit kommt die Nutzung von htpasswd für die folgenden Bereiche infrage:

  • Sicherung von Login-Bereichen und Zugängen zu Systemen
  • Datenschutz für Webseiten mit Personendaten (z. B. Vertretungspläne in internen Systemen von Schulen; Kunden- und Leads-Listen bei Versicherungsgesellschaften)
  • Schutz bestimmter Verzeichnisse mit sensiblen Daten (z. B. Passwörter; Bankdaten)
Wir nutzen .htpasswd vor allem bei:

WordPress-Testumgebungen. Für unsere Kunden und in der Entwicklung von neuen Websites sichern wir diese immer per .htpasswd ab. Wenn es schnell gehen soll, nutzen wir oftmals ein Basic Auth Plugin.

Anbei ein ausführliches Video zur Einrichtung

htpasswd per WordPress Plugin erstellen

Falls Du als CMS WordPress nutzt, hast Du den Vorteil, dass Du als Alternative zu htpasswd eines unserer Tools verwenden kannst. Mit dem WordPress-Plugin „Lightweb Media Basic Authentication“ erreichst Du auf einfache Weise einen Schutz für Deine WordPress-Website, der vergleichbar mit dem Schutz durch htpasswd ist.

Das Plugin hat folgende Vorteile:

  • Einfache Einstellung der Basisauthentifizierung
  • Basic Authentication funktioniert wie .htpasswd
  • Geschützte Entwicklungs- oder Demo-Website ohne .htpasswd-Aufwand
  • Unterstützung von Docker und Kubernetes (K8s)
  • Das Plugin ist leichtgewichtig
  • MU-Plugin für Rollbacks kann erstellt werden
  • Erlaubt Bypassing für localhost (für WP-CLI)

Schritt für Schritt Installation

Suche im WordPress Plugin Verzeichnis nach Lightweb Media oder htpasswd und installiere das Lightweb Media Basic Authentication Plugin.

htpasswd – Website zusätzlich schützen Lightweb media basic auth

Nach Aktivierung des Plugins kannst Du im Backend-Menü den Punkt Authentication erkennen. Dort nimmst Du die Einstellungen für das Plugin vor.

htpasswd – Website zusätzlich schützen Einstellungen htpasswd plugin
Gib nun den Nutzernamen und das Passwort an

Wir würden Dir raten mindestens die Aktivierung für das Front-End sowie die Loginseite zu nutzen. Solltest Du per WP-CLI arbeiten oder das Plugin als MU-Plugin ablegen wollen, sind diese Einstellungen optional vorhanden.

MU-Plugin Einstellungen

Dadurch funktioniert das Plugin nach Deaktivierung weiterhin. Es muss also zusätzlich das Plugin unter /wp-content/mu-plugins/ gelöscht werden.

htpasswd manuell erstellen

Um eine htpasswd-Datei erstellen zu können, musst Du zunächst eine htaccess-Datei anlegen. Bevor wir detailliert auf htpasswd eingehen, erhältst Du daher am Anfang unserer Schritt-für-Schritt-Anleitung einen Einblick in das Anlegen der htaccess-Datei.

Du wählst das Verzeichnis, das Du schützen möchtest. Dort erstellst Du eine Datei mit der Endung „.htaccess“. Diese dient dazu, auf die htpasswd-Datei mit den hinterlegten Log-in-Daten zu verweisen. In der htaccess-Datei hinterlegst Du den folgenden Code:

AuthType Basic
AuthName "Geschützter Bereich - Bitte geben Sie ein Passwort ein!"
AuthUserFile /Individueller/Pfad/.htpasswd
Require valid-user

Anstelle des AuthType „Basic“ ist es möglich, „Digest“ zu wählen. Dann werden die Passwörter vom Browser verschlüsselt angefordert. Der Haken an dieser Option ist, dass nicht alle Browser zu solchen Anforderungen imstande sind. Wenn Du zur Berücksichtigung aller Browser eine geringere Sicherheit des htpasswd-Schutzes in Kauf nimmst, entscheidest Du Dich für „Basic“.

Besonderheiten gibt es noch unter dem Punkt „Require“: Abgesehen davon, mit „valid-user“ allen Benutzern, die das Passwort angeben, den Zugang zu gewähren, besteht die Möglichkeit, nur bestimmten Usern Zugriffsrechte zu geben. Entweder Du trägst anstelle von „valid-user“ einfach nur „user“ ein und schreibst direkt danach die Usernamen in die Zeile oder Du gibst „group“ an, wodurch alle der benannten Gruppe zugehörigen User den Zugriff erhalten.

Die htaccess-Datei legst Du in den Ordner, der geschützt werden soll, ab.

htpasswd über Online-Generatoren erstellen

Du öffnest zunächst einen Texteditor. In diesen fügst Du die Benutzernamen und zugehörigen Passwörter ein. Über htaccess wird auf diese Datei zugegriffen, um die Daten abzufragen und der Person, die sich einloggen möchte, Zugang zu gewähren, falls die Person den richtigen Benutzernamen und das korrekte Passwort angibt.

  • Um die Codezeile für htpasswd zu erstellen, nutzt Du am besten einen der zahlreichen Online-Generatore z.B: https://hostingcanada.org/htpasswd-generator/
  • Hierbei gibst Du den Benutzernamen und das Passwort an. Daraufhin klickst Du auf „Generieren“ und bekommst die Codezeile angezeigt.
  • Diese Zeile kopierst Du aus dem Online-Generator und fügst sie in den Texteditor ein.
  • Zuletzt speicherst Du die Texteditor-Datei ab und setzt am Anfang des Dateinamens ein „.htpasswd“.
Wichtig

Nicht den Punkt vor dem Dateinamen vergessen!

htpasswd – Website zusätzlich schützen htpasswd lightweb media
Die meisten Generatoren verschlüsseln das Passwort als MD5 Hash.

Falls Du mehrere User und Passwörter anlegen möchtest, lässt Du durch den Online-Generator mehrere Zeilen mit den verschiedenen Benutzernamen und Passwörtern generieren. Die generierten Codezeilen fügst Du in dem Texteditor untereinander ein.

Beispielcode:

LightwebMedia:$apr1$cy9wqse8$uH/IErtY/PPfTdytzQmPm.
htpasswd – Website zusätzlich schützen htpasswd code

htpasswd wo ablegen? Nicht mit der htaccess-Datei in ein Verzeichnis

Aus Sicherheitsgründen solltest Du die htpasswd-Datei nie in demselben Verzeichnis wie die htaccess-Datei ablegen. Der Grund dafür ist, dass wenn diese Dateien nah beieinander liegen, das Risiko steigt, dass sie bei einem eventuellen Cyber-Angriff leichter bzw. schneller ausgelesen werden.

Demzufolge wählst Du zum Ablegen der htpasswd-Datei am besten ein anderes Verzeichnis – welches das ist, kannst Du frei wählen. Da die htaccess-Datei ohnehin auf die htpasswd-Datei verweist und von dort die Passwörter abliest, kann die htpasswd-Datei in einem beliebigen Ordner abgelegt werden. Wichtig ist einzig, dass Du die htaccess-Datei korrekt ablegst.

Von nun an sollte beim Aufruf der jeweiligen Seite, deren Verzeichnis die htaccess-Datei beinhaltet, eine Aufforderung zur Eingabe des Benutzernamens und Passworts erscheinen. Somit ist die Seite geschützt.

Weitere Informationen zur Zugriffskontrolle durch .htaccess

htpasswd bei All Inkl anlegen

Der Hoster ALL-INKL.com hat eigens dafür ein Menüpunkt unter KAS -> Tools -> Verzeichnisschutz integriert. Hier kann die .htpasswd Datei ohne viel Aufwand erstellt werden.

Automatisch gespeicherter Entwurf htpasswd Generator All Inkl
.htpasswd Verzeichnisschutz bei All-Inkl einstellen.

Wie sicher ist htpasswd?

htpasswd bietet keinen Allgemeinschutz, sondern einzig und allein einen Passwortschutz. Dieser Passwortschutz funktioniert außerdem nur dann, wenn die Anfragen von Clients über ein HTTP/s-Protokoll gestellt werden. Wird hingegen über ein anderes Protokoll wie etwa SMB auf das Dateisystem zugegriffen, so greift der Schutzmechanismus nicht.

Betrachtet man den Schutz durch das htpasswd rein auf der Ebene des HTTP/s-Protokolls, so ist der Schutzgrad höher als bei Schutzmechanismen, die durch den Webbrowser oder andere Clients bereitgestellt werden. Insofern ist htpasswd im Vergleich zu Client-seitiger Absicherung immer vorzuziehen.

Der Schutzgrad durch htpasswd hängt zudem davon ab, ob unter dem Authentifizierungs-Typen „AuthType“ in der htaccess-Datei die Angabe „Basic“ oder „Digest“ gewählt wird. Wie Du erfahren hast, werden bei „Digest“ die Passwörter mit Verschlüsselung angefordert, was die Sicherheit erheblich steigert, doch womit nicht von allen Browsern umgegangen werden kann.

htpasswd – Website zusätzlich schützen Verschluesselungsmethoden

Häufige Fragen zur htpasswd

Wie sicher ist ein htaccess Schutz?

Wenn die htaccess und htpasswd eine Passwortabfrage im Front-End ausgeben, dann ist es sicher. Wenn die Kombination aus Benutzername und Passwort ungültig ist, gibt der Apache Webserver eine HTTP 403: Forbidden Header zurück. Das bedeutet, dass die Anfrage nie an PHP weitergeleitet wird.

Kann man die Passwörter decryptieren?

.htpasswd-Einträge sind hashes. Sie sind keine verschlüsselten Kennwörter. Hashes sind so konzipiert, dass sie nicht entschlüsselt werden können. Daher gibt es nur die Möglichkeit per Bruteforce, das Passwort aus der .htpasswd-Datei zu erhalten. Dies würde sehr lange dauern. Wenn du Glück hast, ist das Passwort hier verfügbar: https://www.md5online.org/md5-decrypt.html

Wie richte ich .htpasswd bei WordPress ein?

Entweder manuell über FTP und der htaccess oder als Alternative über ein WordPress Plugin wie das Lightweb Media Basic Auth.

Wie ermittle ich den Pfad zur htpasswd?

Bestenfalls über WordPress -> Werkzeuge -> Website-Zustand -> Bericht (https://deineDomain.de/wp-admin/site-health.php?tab=debug) oder z.B. über die phpinfo.php die Du selbst im Rootverzeichnis anlegst und aufrufst. Dazu sollten in der Datei folgendes stehen: <?php phpinfo(); ?>

Wie kann ich den Zugriff von außen auf die htpasswd verbieten?

Wenn du einen normalen Apache Webserver hast, sollte das schon deaktiviert sein. Die meisten Installationen machen dies schon automatisch. Prüfe den Zugriff von außen durch den Aufruf von https://deineWebseite.de/.htaccess bzw https://deineWebseite.de/.htpasswd und melde Dich bei Deinem Hoster wenn Du kein 403 Forbidden bekommst.

Fazit

htaccess- und htpasswd-Dateien zu generieren und anzulegen, ist kein Hexenwerk der IT. Bereits mit grundlegenden Kenntnissen der CMS-Nutzung gelingt es Dir, unter Zuhilfenahme unserer Anleitung, htpasswd eigenständig umzusetzen. Auch wenn htpasswd kein allgemeiner Schutz ist, steigert es die Sicherheit Deiner Website zumindest vor ungewünschten Zugriffen und kann sogar gegen Brute-Force-Attacken helfen.

Unser Tipp..

..ist, dass Du den ganzheitlichen Schutz Deiner Website durch Firewalls, Antiviren-Software sowie weitere spezielle Maßnahmen priorisierst und htpasswd als zusätzliche Absicherung verwendest.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Wir teilen unser Wissen insbesondere bei den Themen

GutenbergMarketingPagespeedSEOWebentwicklungWordPress