
Ich habe einen Apache-Webserver, der unter Debian Linux läuft, und sichere ein bestimmtes Verzeichnis mit htaccess. Ich habe keine Historie oder weiß nicht, wie die .htpasswd-Datei erstellt wurde. In der Apache-Dokumentation steht, dass bis Version 2.2.17 die Verschlüsselung crypt() zum Verschlüsseln von Passwörtern verwendet wurde und seit 2.2.18 die MD5-Verschlüsselung. Wie kann ich erkennen, welche Verschlüsselung meine .htpasswd-Datei verwendet?
Antwort1
Ich kenne den Verlauf nicht und weiß auch nicht, wie die .htpasswd-Datei erstellt wurde.
Sie suchen wahrscheinlich nach dem htpasswd
Befehl. Weitere Einzelheiten finden Sie auf der Manpage:
man htpasswd
Wie kann ich erkennen, welche Verschlüsselung meine .htpasswd-Datei verwendet?
Warum musst du das wissen? Ich denke nicht, dass es wichtig ist, das zu wissen, wenn du die Datei nur bearbeiten willst.
Ich frage, weil ich den Eindruck hatte, dass beide verletzlich sind.
Der htpasswd
Befehl auf meinem Computer kann vier verschiedene Kennwortformate verwenden:
# MD5 (default)
martin@martin ~ % htpasswd -m -b -n user pass
user:$apr1$uFKIg3No$ItOJ5p6EEbALwPDYcPDd0.
# crypt
martin@martin ~ % htpasswd -d -b -n user pass
user:qMYdeiUkbhR/o
# SHA
martin@martin ~ % htpasswd -s -b -n user pass
user:{SHA}nU4eI71bcnBGqeO0t9tXvY1u5oQ=
# Plain
martin@martin ~ % htpasswd -p -b -n user pass
user:pass
So können Sie herausfinden, welches Format Sie verwenden.
Ich frage mich jedoch, worüber Sie sich Sorgen machen ... ob die Hashes angreifbar sind, ist nur dann von Belang, wenn ein Angreifer Zugriff auf die Datei erhält .htpasswd
, was in einer vernünftigen Konfiguration sehr unwahrscheinlich sein sollte. Die .htpasswd
Datei sollte außerhalb des bereitgestellten Verzeichnisses gespeichert werden, beispielsweise irgendwo in /etc
, wo der Webserver darauf zugreifen kann, sie aber nicht bereitstellt.
Was Sie viel mehr beunruhigen sollte, ist die Tatsache,HTTP-Basisauthentifizierung überträgt Passwörter im Klartext, was definitiv unsicher ist, wenn Sie nicht HTTPS verwenden. Wenn Sie also um die Sicherheit besorgt sind, sollten Sie zuHTTP-Digest-Authentifizierung.