Entwickler-Tools

.htpasswd-Generator

Erstellt .htpasswd-Dateien für die HTTP-Basisauthentifizierung von Apache und Nginx sicher im Browser. Unterstützt bcrypt, APR1-MD5 und SHA-1. Passwörter werden niemals an den Server gesendet.

Tipps

  • bcrypt verwenden: Der sicherste verfügbare Algorithmus. Funktioniert mit Apache 2.4+ und Nginx. Höhere Kostenwerte verlangsamen die Hash-Berechnung und erhöhen die Widerstandsfähigkeit gegen Brute-Force-Angriffe (10 ist ein gängiger Standardwert).
  • APR1-MD5 ($apr1$) wird für die Kompatibilität mit Apache 2.2 oder älter benötigt und funktioniert mit praktisch allen Apache- und Nginx-Versionen.
  • SHA-1 ({SHA}) hat eine geringe Kollisionsresistenz und wird nicht empfohlen. Nur in Legacy-Umgebungen verwenden, die Abwärtskompatibilität erfordern.
  • Platziere die .htpasswd-Datei außerhalb des DocumentRoot, damit sie nicht direkt über das Web zugänglich ist.
  • Immer HTTPS verwenden. Basisauthentifizierungs-Anmeldedaten sind lediglich Base64-kodiert, nicht verschlüsselt, und werden über HTTP im Klartext übertragen.

Häufige Fragen

Füge Folgendes zur .htaccess oder httpd.conf hinzu und gib in AuthUserFile den Pfad zur generierten .htpasswd-Datei an:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

Füge die Direktiven zur nginx.conf oder dem entsprechenden server-Block hinzu:
location /admin {
    auth_basic "Restricted Area";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
Nginx unterstützt sowohl bcrypt als auch APR1-MD5.

bcrypt wird empfohlen für Apache 2.4+ und Nginx. Verwende APR1-MD5 nur bei Kompatibilitätsanforderungen mit Apache 2.2 oder älter. SHA-1 sollte vermieden werden, außer ein Legacy-System schreibt es vor.

Füge die generierte Zeile (Benutzername:Hash) einfach am Ende der vorhandenen Datei an. Jede Zeile steht für einen Benutzer. Leerzeilen und Zeilen, die mit # beginnen, werden ignoriert.

Ja. Die gesamte Hash-Berechnung findet ausschließlich im Browser statt. Keine Passwortdaten werden an den Server übertragen. Verwende dieses Tool stets auf einer sicheren HTTPS-Seite und gehe sorgfältig mit der generierten Datei um.
ツールくん

Übrigens – Warum Basic Auth trotz seines Alters weiter genutzt wird

Die HTTP-Basisauthentifizierung wurde 1999 in RFC 2617 definiert (aktualisiert durch RFC 7617). Das Prinzip ist denkbar einfach: Benutzername und Passwort werden mit : verbunden, Base64-kodiert und im Authorization-Header mitgesendet.

Genau diese Einfachheit erklärt ihre anhaltende Verbreitung: Sie ist ideal für Staging-Umgebungen, interne Tools oder als erste Verteidigungslinie in Kombination mit IP-Allowlists. Zwei bis drei Konfigurationszeilen reichen aus – keine zusätzliche Middleware oder Datenbank erforderlich.

Die Einschränkungen sind real: kein Logout-Mechanismus (die Sitzung bleibt bis zum Schließen des Browsers bestehen), keine eingebaute Passwortverwaltung und keine Mehrfaktor-Authentifizierung. Für Produktivdienste mit echten Sicherheitsanforderungen sind OAuth 2.0 oder OIDC die bessere Wahl.