mod_auth_digest Nutzerauthentifizierung mit der MD5 Digest-Authentifizierung. Experimentell mod_auth_digest.c auth_digest_module

Dieses Modul implementiert die HTTP Digest-Authentifizierung. Da sie noch nicht ausführlich getestet wurde, befindet sie sich noch in einem experimentellen Zustand.

AuthName AuthType Require Satisfy
Die Digest-Authentifizierung

Die Verwendung der MD5 Digest-Authentifizierung ist sehr einfach. Die Authentifizierung wird mit den Direktiven AuthType Digest und AuthDigestFile und nicht mit den Direktiven AuthType Basic und AuthUserFile eingerichtet. Die AuthGroupFile-Direktive wird durch die AuthDigestGroupFile-Direktive ersetzt. Ferner werden AuthDigestDomain -Anweisungen mit den URI(s) für die geschützten Bereiche angegeben (mindestens ein URI für das Dokumentverzeichnis).

Eine entsprechende Benutzerdatei im Textformat kann mit dem Programm htdigest eingerichtet werden.

Beispiel: <Location /private/>
AuthType Digest
AuthName "private area"
AuthDigestDomain /private/ http://mirror.my.dom/private2/
AuthDigestFile /web/auth/.digest_pw
Require valid-user
</Location>
Hinweis

Bei der Digest-Authentifizierung sind die Passwörter sicherer als bei der Basic-Authentifizierung, allerdings muss der Browser dieses Verfahren unterstützen. Seit November 2002 unterstützen die wichtigsten Browser die Digest-Authentifizierung, unter anderem die Browser Opera, MS Internet Explorer (nicht in Verbindung mit einer Abfragezeichenfolge), Amaya, Mozilla und Netscape ab Version 7. Da die Digest-Authentifizierung noch nicht soweit verbreitet wie die Basic-Authentifizierung ist, sollte sie nur in überschaubaren Umgebungen verwendet werden.

AuthDigestFile Standort der Textdatei mit der Benutzerliste und den verschlüsselten Passwörtern AuthDigestFile Dateipfad directory .htaccess AuthConfig

Mit der AuthDigestFile-Direktive wird der Name der Textdatei mit der Benutzerliste und den verschlüsselten Passwörtern für die Digest-Authentifizierung angegeben. Als Dateipfad wird der absolute Pfad zur Benutzerdatei angegeben.

Diese Datei verwendet ein spezielles Format und kann mit dem Programm htdigest aus dem Unterverzeichnis support/ der Apache-Distribution erstellt werden.

AuthDigestGroupFile Name der Textdatei mit der Gruppenliste AuthDigestGroupFile Dateipfad directory .htaccess AuthConfig

Mit der AuthDigestGroupFile-Direktive wird der Name der Textdatei mit der Gruppenliste und deren Mitgliedern (Benutzernamen) angegeben. Der Dateipfad ist der absolute Pfad zur Gruppendatei.

Jede Zeile der Gruppendatei enthält einen Gruppennamen auf den nach einem Doppelpunkt die durch Leerstellen voneinander getrennte Liste der Benutzernamen folgt. Ein Beispiel:

mygroup: bob joe anne

Beachten Sie, dass eine Suche in umfangreichen Textdateien nicht effektiv ist.

Achtung:

Achten Sie darauf, dass die AuthGroupFile-Datei außerhalb des Dokumentverzeichnisses des Webservers gespeichert wird. Legen Sie diese Datei nicht im zu schützenden Verzeichnis ab, da die Clients sie sonst herunterladen können.

AuthDigestQop Legt den für die Authentifizierung zu verwendenden Algorithmus fest. AuthDigestQop none|auth|auth-int [auth|auth-int] AuthDigestQop auth directory .htaccess AuthConfig

Die AuthDigestQop-Direktive defininiert die Quality-of-Protection für den Authentifizierungsalgorithmus. Bei der Voreinstellung auth werden nur Benutzername und Passwort überprüft. Bei der Einstellung auth-int findet bei der Authentifizierung zusätzlich eine Integritätsprüfung der Daten statt. Hierbei wird ein MD5-Hash über die Daten gebildet und geprüft. Beim Argument none wird der alte Digest-Algorithmus nach RFC-2069 benutzt (der keine Integritätsprüfung vornimmt). Werden sowohl auth als auch auth-int angegeben, entscheidet der Browser, welche Prüfung durchgeführt wird. Das Argument none sollte nur benutzt werden, wenn der Browser aus irgendwelchen Gründen die Server-Challenge nicht erfüllen kann.

auth-int ist noch nicht implementiert.
AuthDigestNonceLifetime Gültigkeitsdauer des Nonce-Wertes des Servers AuthDigestNonceLifetime seconds AuthDigestNonceLifetime 300 directory .htaccess AuthConfig

Die AuthDigestNonceLifetime-Direktive legt fest, wie lange der Nonce-Wert ((Zeitstempel sowie weitere Daten des Servers) gültig ist. Kontaktiert der Client den Server mit einem abgelaufenen Nonce-Wert, sendet der Server eine 401 mit stale=true zurück. Ist der Wert von If seconds größer als 0, dann gibt er die Gültigkeitsdauer des Nonce-Wertes an. Der Wert sollte niemals kleiner als 10 Sekunden sein. Ist der Wert kleiner als 0, verliert der Nonce-Wert niemals seine Gültigkeit.

AuthDigestNonceFormat Legt fest, wie der Apache den Nonce-Wert erzeugt. AuthDigestNonceFormat Format directory .htaccess AuthConfig Noch nicht implementiert. AuthDigestNcCheck Schaltet die Überprüfung des vom Server gesendeten Nonce-Zählers ein. AuthDigestNcCheck On|Off AuthDigestNcCheck Off server config Noch nicht implementiert. AuthDigestAlgorithm Steuert, welcher Algorithmus bei der Digest-Authentifizierung für die Berechnung der Hashwerte verwendet wird. AuthDigestAlgorithm MD5|MD5-sess AuthDigestAlgorithm MD5 directory .htaccess AuthConfig

Die AuthDigestAlgorithm-Anweisung legt den Algorithmus für die Berechnung der Challenge- und Response-Hashes fest.

MD5-sess ist zur Zeit noch nicht korrekt implementiert.
AuthDigestDomain URIs mit gleichen Digest-Authentifizierungsdaten AuthDigestDomain URI [URI] ... directory .htaccess AuthConfig

Mit der AuthDigestDomain-Direktive können ein oder mehrere URIs im gleichen Schutzbereich angegeben werden, (d.h. Realm und Benutzername/Passwort sind gleich). Die angegebenen URIs sind Präfixe, d.h. der Client geht davon aus, dass alle URIs "unterhalb" ebenfalls vom gleichen Benutzername/ Passwort geschützt sind. Die URIs können absolute URIs (mit Schema, Host, Port usw.) oder relative URIs sein.

Diese Direktive sollte immer angegeben werden und mindestens den oder die Root-URI(s) für diesen Bereich angeben. Werden keine Angaben gemacht, sendet der Client den Autorisierungsheader mit jeder an diesen Server gesendeten Anfrage. Das steigert nicht nur den Umfang der Anfragen sondern kann sich auch negativ auf die Performance auswirken, wenn AuthDigestNcCheck auf On gesetzt ist.

Die angegebenen URIs können auch auf unterschiedliche Server verweisen. Clients, die damit umgehen können, nutzen dann ohne wiederholte Nachfrage beim Benutzer die gleichen Benutzernamen/Passwörter für mehrere Server.

AuthDigestShmemSize Der Shared-Memory-Bereich der Clients AuthDigestShmemSize Größe AuthDigestShmemSize 1000 server config

Die AuthDigestShmemSize-Direktive definiert die Größe des Shared-Memory, das beim Serverstart für die Clients allokiert wird. Der Shared-Memory-Bereich darf nicht kleiner als als der für einen Client benötigte Bereich sein. Der Wert hängt vom System ab. Wenn Sie den genauen Wert ermitteln möchten, dann setzen Sie für AuthDigestShmemSize den Wert 0 und werten Sie die Fehlermeldung beim Serverstart aus.

Die Größe wird normalerweise in Bytes angegeben. Ein K oder M steht für kByte bezw. MBytes. Die folgenden Anweisungen sind demnach alle gleichbedeutend:

AuthDigestShmemSize 1048576
AuthDigestShmemSize 1024K
AuthDigestShmemSize 1M