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.
Aspekt | Beschreibung |
---|---|
Definition | htpasswd: Werkzeug zum Erstellen und Verwalten von Passwort-Dateien für HTTP-Authentifizierung |
Dateiformat | .htpasswd: Spezielle Textdatei zur Speicherung von Benutzernamen und verschlüsselten Passwörtern |
Zweck | Schützen von Verzeichnissen und Dateien auf Webservern durch Benutzername-Passwort-Authentifizierung |
Verwendung mit Apache | Zusammenarbeit mit .htaccess-Datei für Zugriffskontrolle auf Apache-Webservern |
Verschlüsselungsmethoden | Unterstützt verschiedene Hash-Verfahren (bcrypt, MD5, SHA-1, CRYPT) zur Passwortverschlüsselung |
Erstellung einer htpasswd-Datei | Nutzung von htpasswd-Befehl oder Online-Tools zur Erstellung und Aktualisierung von .htpasswd-Dateien |
.htaccess-Integration | Anweisungen in .htaccess-Datei zum Aktivieren der Authentifizierung und Verweis auf .htpasswd-Datei |
Webserver-Kompatibilität | Hauptsächlich für Apache-Webserver, Anpassungen für andere Server wie Nginx möglich |
Benutzerverwaltung | Hinzufügen, Ändern und Löschen von Benutzerzugängen in der .htpasswd-Datei |
Sicherheitsüberlegungen | Regelmäßige Aktualisierung von Passwörtern, Verwendung sicherer Hash-Verfahren, Schutz der .htpasswd-Datei |
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)
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.
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.
Nach Aktivierung des Plugins kannst Du im Backend-Menü den Punkt Authentication erkennen. Dort nimmst Du die Einstellungen für das Plugin vor.
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.
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 einen htpasswd Generator 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-Generatoren wie zum Beispiel unser Custom GPT 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“.
Nicht den Punkt vor dem Dateinamen vergessen!
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 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.
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.
Häufige Fragen zur htpasswd
Wie sicher ist ein htaccess Schutz?
Kann man die Passwörter decryptieren?
Wie richte ich .htpasswd bei WordPress ein?
Wie ermittle ich den Pfad zur htpasswd?
Wie kann ich den Zugriff von außen auf die htpasswd verbieten?
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.
..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.