Michael Schröpl: (Apache) .htaccess-Verschlüsselung / digest: Testergebnisse

Beitrag lesen

Vielen Dank, Florian!
ich werde mir das mal näher ansehen ...

Etwas später ... aaaaalso:

Ich habe mir einen Apache 1.3.6 mit hineincompiliertem "mod_digest" gebaut (das ist *nicht* automatisch drin, obwohl das Modul im Verzeichnis "modules/standard" liegt - also "configure --enable-module=digest" und den Quelltext neu übersetzen).

Dieser Apache kriegt die "alte" Methode der Authentifikation weiterhin geregelt.
(Ich habe mir ein Demo-Verzeichnis mit den Dateien aus http://www.teamone.de/selfaktuell/schroepl01.htm gebaut, und das funktioniert.)

Unter Verwendung der neuen Methode habe ich allerdings mit *keinem* Browser eine korrekte Authentifizierung zustandegebracht.

Bei MSIE 4.0 passiert seltsamerweise überhaupt nichts (obwohl der Dialog im "Basic"-Moduls tadellos funktioniert). Der Zugriff wird sofort als unzulässig zurückgewiesen. (Apache schreibt in der Fehlermeldung sogar: "... or your browser doesn't understand how to supply the credentials required" - offenbar fragt Apache, ob MSIE "Digest" kann, und MSIE antwortet "nein").

Bei Netscape 3.0 und Netscape 4.5 bekomme ich immerhin einen Authentifizierungsdialog im Client und einen Log-Eintrag auf dem Server:
"[Fri Oct  1 16:35:25 1999] [error] client used wrong authentication scheme: Basic for /~ms/digest/". Was ich interpretiere als "der Browser kann die Authentifizierungsmethode Digest doch noch nicht, obwohl er es möglicherweise behauptet hat".
Neuere Browser habe ich leider nicht zur Hand.

Die von mir verwendeten Dateien:

#-------------------------
.htaccess: (nur Zeile 1 und 3 geändert gegenüber dem Artikel)

AuthType       Digest
  AuthName       Zugriffstest-Verzeichnis
  AuthDigestFile /home/ms/httpzugriff/digest_file
  order          deny,allow
  deny from      all
  satisfy        all
  allow from     153.46.90.
  require        group entwickler
  require        user  chef sekretae
#-------------------------
digest_file: (erstellt mit dem mitgelieferten Hilfsprogramm "htdigest")

chef:Zugriffstest-Verzeichnis:fe2f19f99e8c2ab0b7b11c843245f717
#-------------------------

Das Passwort (hier auch "chef") liegt also keineswegs unverschlüsselt auf dem Server!
Ich vermute, es wird einfach auf dem Client MD5-verschlüsselt und auf dem Server nur noch verglichen.

Aus dem Apache-Handbuch:

Using Digest Authentication

Using MD5 Digest authentication is very simple.
Simply set up authentication normally.
However, use "AuthType Digest" and
"AuthDigestFile" instead of the normal
"AuthType Basic" and "AuthUserFile".
Everything else should remain the same.

(Anmerkung: Im Digest-File gibt es derzeit offenbar kein Konzept für Gruppen - das Verfahren kann also weniger als das vorherige!

Das Einbinden des digest-Moduls hat einen erkennbaren Effekt: Derselbe Test mit einem Apache 1.3.9 ohne mod_digest führt beim Zugriff zu einem "internal server error", weil das neue Kommando "AuthDigestFile" in der .htaccess-Datei nicht verarbeitet werden kann. (Das Übersetzen hat also geklappt.)

MD5 authentication provides a more secure
password system, but only works with supporting
browsers. As of this writing (July 1996), the
majority of browsers do not support digest
authentication. Therefore, we do not recommend
using this feature on a large Internet site.
However, for personal and intranet use, where
browser users can be controlled, it is ideal.

(Anmerkung: Leider ist kein konkreter Browser angegeben, der das schon könnte.)

Weiß jemand an dieser Stelle irgendwie weiter?
Oder müssen wir auch drei Jahre nach der Erfindung dieses Mechanismus auf Browser warten, die es unterstützen? Gegen Sniffer-Attacken wäre es ja wirklich eine Verbesserung ...