Serveur Apache HTTP Version 2.2

Apache > Serveur HTTP > Documentation > Version 2.2 > Modules

# Module Apache mod_auth_digest

Langues Disponibles: en | fr | ko

Description: | Authentification utilisateur utilisant les condensés MD5.
Statut: | Extension
Identificateur de Module: | auth_digest_module
Fichier Source: | mod_auth_digest.c

### Sommaire

Ce module implémente l'authentification HTTP basée sur les condensés MD5 (RFC2617), et fournit une alternative à `mod_auth_basic` plus sécurisée.

### Directives

### Sujets

- Utilisation de l'authentification à base de condensés

### Voir aussi

- `AuthName`
- `AuthType`
- `Require`
- `Satisfy`
- Mode d'emploi de l'authentification

- Commentaires

## Utilisation de l'authentification à base de condensés

L'utilisation de l'authentification à base de condensés MD5 est très simple. Configurez l'authentification normalement, en utilisant `AuthType Digest` et `AuthDigestProvider` à la place de `AuthType Basic` et `AuthBasicProvider`. Ajoutez ensuite une directive `AuthDigestDomain` contenant au moins la(les) URI(s) racine(s) de la zone à protéger.

On peut créer les fichiers utilisateur appropriés (au format texte) à l'aide de l'outil `htdigest`.

### Exemple :

`<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>`

### Note

L'authentification à base de condensés MD5 est plus sécurisée que l'authentification Basic, mais ne fonctionne qu'avec les navigateurs qui la supportent. Au moment où ces lignes sont écrites (Décembre 2012), c'est le cas des principaux navigateurs.

## AuthDigestAlgorithm Directive

Description: | Sélectionne l'algorithme utilisé pour calculer les condensés du défit et de sa réponse
Syntaxe: | `AuthDigestAlgorithm MD5|MD5-sess`
Défaut: | `AuthDigestAlgorithm MD5`
Contexte: | répertoire, .htaccess
AllowOverride: | 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.

`MD5-sess` n'est pas encore correctement implémenté.

## AuthDigestDomain Directive

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
AllowOverride: | 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 (pour ceux qui sont à même de le comprendre) vont partager l'utilisateur/mot de passe entre plusieurs serveurs sans le demander à l'utilisateur à chaque fois.

## AuthDigestNcCheck Directive

Description: | Active ou désactive la vérification du nombre d'envois du nombre à valeur unique (nonce) par le serveur
Syntaxe: | `AuthDigestNcCheck On|Off`
Défaut: | `AuthDigestNcCheck Off`
Contexte: | configuration du serveur
Statut: | Extension
Module: | mod_auth_digest

Non encore implémenté.

## AuthDigestNonceFormat Directive

Description: | Détermine la manière dont le nombre à valeur unique du serveur (nonce) est généré
Syntaxe: | `AuthDigestNonceFormat format`
Contexte: | répertoire, .htaccess
AllowOverride: | AuthConfig
Statut: | Extension
Module: | mod_auth_digest

Non encore implémenté.

## AuthDigestNonceLifetime Directive

Description: | Durée de validité du nombre à valeur unique du serveur (nonce)
Syntaxe: | `AuthDigestNonceLifetime secondes`
Défaut: | `AuthDigestNonceLifetime 300`
Contexte: | répertoire, .htaccess
AllowOverride: | 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`. Si secondes est supérieur à 0, il spécifie la durée de validité du nonce ; il est en général déconseillé d'affecter à cet argument une valeur inférieure à 10 secondes. Si secondes est inférieur à 0, le nonce n'expire jamais.

## AuthDigestProvider Directive

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
AllowOverride: | 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`, et `mod_authn_dbd` pour la liste des fournisseurs disponibles.

## AuthDigestQop Directive

Description: | Détermine le niveau de protection fourni par l'authentification à base de condensé
Syntaxe: | `AuthDigestQop none|auth|auth-int [auth|auth-int]`
Défaut: | `AuthDigestQop auth`
Contexte: | répertoire, .htaccess
AllowOverride: | AuthConfig
Statut: | Extension
Module: | mod_auth_digest

La directive `AuthDigestQop` permet de définir le niveau de protection fourni. `auth` ne fournit que l'authentification (nom utilisateur/mot de passe) ; `auth-int` fournit l'authentification plus un contrôle d'intégrité (un condensé MD5 de l'entité est aussi calculé et vérifié) ; avec `none`, le module va utiliser l'ancien algorithme de condensés RFC-2069 (qui n'effectue pas de contrôle d'intégrité). On peut spécifier à la fois `auth` et `auth-int`, auquel cas c'est le navigateur qui va choisir lequel des deux utiliser. `none` ne doit être utilisé que dans le cas où le navigateur ne serait pas à même (pour une raison ou pour une autre) de relever le défit qu'il recevrait si un autre niveau de protection était défini.

`auth-int` n'est pas encore implémenté.

## AuthDigestShmemSize Directive

Description: | La quantité de mémoire partagée à allouer afin de conserver les informations à propos des clients
Syntaxe: | `AuthDigestShmemSize taille`
Défaut: | `AuthDigestShmemSize 1000`
Contexte: | configuration du serveur
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.

L'argument size s'exprime par défaut en octets, mais vous pouvez faire suivre 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`

Langues Disponibles: en | fr | ko

## Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.