Skip to content
 

Achtung bei .htpasswd-Passwörtern!

Inzwischen ist mir der Passwortschutz .htaccess für Webseiten richtig ans Herz gewachsen. Er ist einfach zu erstellen (solange man direkten Zugriff auf den Webserver hat) und schützt nicht nur das Elternverzeichnis, sondern auch gleich alle Unterverzeichnisse.

Für den Schutz benötigt man nur einen Apache-Webserver und zwei Dateien:

  • .htaccess
  • .htpasswd

Die .htaccess gibt u. a. an, wo sich die Passwortdatei (.htpasswd) befindet und welche Benutzer erlaubt sind. Die .htpasswd beinhaltet ganz einfach die Benutzernamen und Passwörter, die durch einen Doppelpunkt getrennt werden. Damit bei einem Diebstahl der .htpasswd-Datei nicht jeder gleich den Schutz umgehen kann, wird das Passwort standardmäßig per crypt() von Perl verschlüsselt.

Neulich war ich ziemlich verwundet über die Tatsache, dass ich mich trotz eines Vertippers (hab mal wieder schneller auf Return gedrückt, als ich denken konnte :-) ) einloggen konnte. Ich probierte einige Varianten aus und stellte fest, dass bei dem Passwort nur die ersten acht Zeichen beachtet werden, der Rest wird einfach ignoriert.

Eine Recherche im Internet brachte heraus, dass die oben erwähnte crypt()-Funktion nur Passwörter bis zu einer Länge von acht Zeichen unterstützt.

Acht Zeichen für ein Passwort? Das ist ja gerade einmal die empfohlene Untergrenze für sichere Passwörter!

Was nun? Zum Glück ist hier Apache flexibel und unterstützt auch andere Verschlüsselungsalgorithmen. Einer davon: MD5. Da jedoch die Leute von Apache leider meinten, eine eigene Implementation von MD5 zu entwickeln, ist diese nicht mit dem Standard-MD5 konform. Um entsprechende Passwortdateien zu erzeugen, muss deshalb das Programm “htpasswd” mit dem Parameter “-m” verwendet werden.

Bedauerlicherweise muss man sich an dieser Stelle fragen, warum bei Apache hier nicht für neue Passwortdateien standardmäßig ein anderer Verschlüsselungsalgorithmus als crypt() verwendet wird …

3 Kommentare

  1. Flu sagt:

    .HTACCESS gibt es halt schon sehr lange, jedoch ist sie IMHO immer noch sehr sicher. Aber das mit den ersten acht Zeichen ist gut zu wissen. Danke für den Hinweis!

    Cheers!

  2. franz sagt:

    Hallo Flu,

    auch ich bin ein Fan von .htaccess. Bei sensiblen Web-Anwendungen, die nur für mich sind, schalte ich z. B. .htaccess als zusätzlichen Schutz an. So hat die beste SQL-Injection keine Chance. :-)

    Grüße

    Franz

  3. [...] verwendet habe. Dennoch gestattete mir der Webserver den Zugang. Nach kurzer Google-Suche wurde ich bei Franz Seidl fündig und fand meinen Verdacht bestätigt: Die Zugriffsbeschränkung über .htpasswd-Dateien [...]

Antworten