Serveur HTTP Apache Version 2.5

| Description: | Authentification utilisateur utilisant les condensés MD5 |
|---|---|
| Statut: | Extension |
| Identificateur de Module: | auth_digest_module |
| Fichier Source: | mod_auth_digest.c |
Ce module implémente l'authentification HTTP basée sur les
condensés MD5 (RFC 2617), une alternative à l’authentification basique
fournie par le module mod_auth_basic, et avec laquelle le
mot de passe n’est pas envoyé en clair sur le réseau.
Basic et Digest ne sont que deux schémas d’authentification : elles
établissent l’identité du client et ne font rien quant à la confidentialité
et à l’intégrité de la requête et de la réponse elles-mêmes. Si la connexion
n’est pas chiffrée, le contenu de chaque requête et réponse est exposé dans
les deux schémas ; un des avantages de l’authentification à base de condensés
est que le mot de passe ne fait pas partie de ces dernières. Digest n’est
donc pas un substitut pour une connexion sécurisée avec
mod_ssl, qui protège les éléments d’authentification et les
données de la même façon, et cet avantage a ses limites (voir la note
ci-après).
AuthDigestAlgorithm
AuthDigestDomain
AuthDigestNcCheck
AuthDigestNonceLifetime
AuthDigestProvider
AuthDigestQop
AuthDigestShmemSizePour utiliser l'authentification à base de condensés MD5, configurez la protection de la section Location comme dans l'exemple ci-dessous :
<Location "/private/">
AuthType Digest
AuthName "private area"
AuthDigestDomain "/private/" "http://mirror.my.dom/private2/"
AuthDigestProvider file
AuthUserFile "/web/auth/.digest_pw"
Require valid-user
</Location>
La directive AuthDigestDomain permet de fournir la
liste des URIs protégés par cette configuration.
Le fichier de mots de passe référencé par la directive AuthUserFile peut être créé et maintenu
via l'utilitaire htdigest.
Un des avantages de Digest par rapport à Basic, éviter l’envoi du mot de
passe en clair, est soumis à condition. Si le client se rabat
silencieusement sur l’authentification basique lors de la négociation, un
attaquant actif pourra contourner la négociation Digest et en proposer une
basique à la place ; le navigateur enverra alors le mot de passe en clair ;
un espion passif pourra monter une attaque de force brute hors ligne sur une
réponse capturée que le hachage MD5 rapide ne ralentira que légèrement ; et
si le fichier htdigest est volé, les hachages qu’il
contient pourront être rejoués pour s’authentifier directement, sans avoir à
récupérer le mot de passe proprement dit. Il est préférable de chiffrer la
totalité de la connexion avec mod_ssl.
mod_auth_digest requiert qu’APR soit construit avec la
prise en charge de la mémoire partagée, sinon il ne pourra pas être
construit.
| Description: | Sélectionne l'algorithme utilisé pour calculer les condensés du défit et de sa réponse dans l’authentification à base de condensés |
|---|---|
| Syntaxe: | AuthDigestAlgorithm MD5 |
| Défaut: | AuthDigestAlgorithm MD5 |
| Contexte: | répertoire, .htaccess |
| Surcharges autorisées: | AuthConfig |
| Statut: | Extension |
| Module: | mod_auth_digest |
La directive AuthDigestAlgorithm permet de
sélectionner l'algorithme utilisé pour calculer les condensés du
défit et de sa réponse. Seul l’algorithme MD5 est pris en
charge.
| Description: | Les URIs qui se trouvent dans le même espace de protection concernant l'authentification à base de condensés |
|---|---|
| Syntaxe: | AuthDigestDomain URI [URI] ... |
| Contexte: | répertoire, .htaccess |
| Surcharges autorisées: | AuthConfig |
| Statut: | Extension |
| Module: | mod_auth_digest |
La directive AuthDigestDomain vous permet
de spécifier un ou plusieurs URIs se trouvant dans le même
espace de protection (c'est à dire utilisant le même utilisateur/mot
de passe et se trouvant dans le même domaine). Les URIs spécifiés
sont des préfixes ; le client doit savoir que tous les URIs situés
sous ces préfixes seront protégés par le même utilisateur/mot de
passe. Les URIs peuvent être soit des URIs absolus (c'est à dire
avec protocole, nom serveur, port, etc...), soit des URIs
relatifs.
Cette directive doit toujours être présente et contenir au moins
le(s) URI(s) racine(s) pour cet espace. Dans le cas contraire, le
client va envoyer un en-tête d'autorisation avec chaque
requête à destination de ce serveur. Outre une augmentation de
la taille de la requête, les performances vont s'en trouver
affectées si la directive AuthDigestNcCheck est définie à
On.
Les URIs spécifiés peuvent aussi référencer différents serveurs, auquel cas les clients (qui sont à même de le comprendre) vont partager l'utilisateur/mot de passe entre plusieurs serveurs sans le demander à l'utilisateur à chaque fois.
| Description: | Active ou désactive la vérification du compteur d'envois du nombre à valeur unique (nonce) par le client |
|---|---|
| Syntaxe: | AuthDigestNcCheck On|Off |
| Défaut: | AuthDigestNcCheck Off |
| Contexte: | configuration globale, serveur virtuel, répertoire, .htaccess |
| Surcharges autorisées: | AuthConfig |
| Statut: | Extension |
| Module: | mod_auth_digest |
La directive AuthDigestNcCheck permet d'activer ou de désactiver la vérification du compteur d'envois du nombre à valeur unique (nonce) par le client. Le compteur d'envois est un compteur séquentiel que le client incrémente à chaque requête en utilisant le même nombre à valeur unique. Cette vérification permet de détecter les attaques par rejeu.
Cette fonctionnalité nécessite la prise en charge de la mémoire partagée
sur la plateforme. Si cette directive est définie à On alors
que la mémoire partagée n’est pas disponible, le serveur renverra une erreur
au démarrage.
Bien qu’il soit recommandé de le faire du point de vue de la sécurité,
activer cette directive a des implications en matière de performance :
toutes les requêtes comportant un en-tête
Authorization doivent être sérialisées au sein d’une section
critique pour comparer de manière sure les valeurs du compteur d’envois du
nombre à valeur unique. Sur les serveurs à fort trafic, cela peut ne pas être
négligeable.
| Description: | Durée de validité du nombre à valeur unique du serveur (nonce) |
|---|---|
| Syntaxe: | AuthDigestNonceLifetime seconds |
| Défaut: | AuthDigestNonceLifetime 300 |
| Contexte: | répertoire, .htaccess |
| Surcharges autorisées: | AuthConfig |
| Statut: | Extension |
| Module: | mod_auth_digest |
La directive AuthDigestNonceLifetime
permet de contrôler la durée de validité du nombre à valeur unique
du serveur (nonce). Lorsque le client contacte le serveur en
utilisant un nonce dont la validité a expiré, le serveur renvoie un
code d'erreur 401 avec stale=true et un client qui respecte la
RFC réessaiera avec un nouveau nombre à valeur unique sans le demander à
l’utilisateur.
Authentication-Info de chaque réponse, de sorte que le client
puisse continuer ; un client qui réutilise un nombre à valeur unique est
sollicité avec stale=true et réessaie. Les nombres à valeur
unique à usage unique assurent une protection plus efficace contre le
rejeu de réponses capturées, mais le client ne peut pas organiser les
requêtes en pipeline et s’il le fait, il recevra un code 401 pour toutes
les requêtes sauf la première et il devra les renvoyer. Ce coût est le
prix de la protection principalement pour les requêtes qui modifient
l’état du serveur ou renvoient du contenu qui varie au cours du temps ;
rejouer une requête pour du contenu qui ne varie pas que l’espion a déjà
capturé en entier ne rapporte rien.| Description: | Définit le(s) fournisseurs(s) d'authentification pour la zone du site web concernée |
|---|---|
| Syntaxe: | AuthDigestProvider nom fournisseur
[nom fournisseur] ... |
| Défaut: | AuthDigestProvider file |
| Contexte: | répertoire, .htaccess |
| Surcharges autorisées: | AuthConfig |
| Statut: | Extension |
| Module: | mod_auth_digest |
La directive AuthDigestProvider permet de
définir quel fournisseur d'authentification sera utilisé pour
authentifier les utilisateurs pour la zone du site web concernée.
Assurez-vous que le module implémentant le fournisseur
d'authentification choisi soit bien présent dans le serveur. Le
fournisseur par défaut file est implémenté par le
module mod_authn_file.
Voir mod_authn_dbm,
mod_authn_file, mod_authn_dbd et
mod_authn_socache
pour la liste des fournisseurs disponibles.
| Description: | Détermine le niveau de protection fourni par l'authentification à base de condensé |
|---|---|
| Syntaxe: | AuthDigestQop auth |
| Défaut: | AuthDigestQop auth |
| Contexte: | répertoire, .htaccess |
| Surcharges autorisées: | AuthConfig |
| Statut: | Extension |
| Module: | mod_auth_digest |
La directive AuthDigestQop permet de spécifier la
qualité de protection à utiliser. Seule la qualité
auth (authentification) est prise en charge et il s’agit de la
valeur par défaut. Cette directive n’a donc plus d’effet et n’est conservée
qu’à des fins de compatibilité.
none (le schéma Digest de la RFC 2069 sans qualité de
protection). Elle a été supprimée : une requête dont la qop est
absente ou différente de auth est maintenant rejetée.| Description: | La quantité de mémoire partagée à allouer afin de conserver les informations à propos des clients |
|---|---|
| Syntaxe: | AuthDigestShmemSize taille |
| Défaut: | AuthDigestShmemSize 8192 |
| Contexte: | configuration globale |
| Statut: | Extension |
| Module: | mod_auth_digest |
La directive AuthDigestShmemSize permet de
définir la quantité de mémoire partagée à allouer au démarrage du
serveur afin de conserver les informations à propos des clients.
Notez que le segment de mémoire partagée ne peut pas être défini à
une taille inférieure à l'espace nécessaire pour conserver les
informations à propos d'un client. Cette valeur dépend de
votre système. Si vous voulez en déterminer la valeur exacte, vous
pouvez simplement définir AuthDigestShmemSize
à 0 et consulter le message d'erreur que renverra le
serveur lorsqu'on essaiera de le démarrer.
La valeur par défaut permet d’enregistrer environ 140 clients. Un client
qui est supprimé pour faire de la place à un autre ne se voit pas interdire
l’accès : un nouveau nombre à valeur unique lui est envoyé avec
stale=true, ce qui ne lui coûte qu’une requête supplémentaire.
Notez qu’une requête qui n’effectue pas d’authentification mobilise tout de
même une entrée, car le défit qui lui est renvoyé comporte l’identifiant
avec lequel le client est suivi.
L'argument size s'exprime par défaut en octets, mais
vous pouvez suffixer le nombre par un K ou un
M pour spécifier respectivement des KiloOctets ou des
MégaOctets. Par exemple, les directives qui suivent sont toutes
équivalentes :
AuthDigestShmemSize 1048576 AuthDigestShmemSize 1024K AuthDigestShmemSize 1M