Administration système Documentation d'IBM HTTP Server

Authentification des clients

IBM HTTP Server prend en charge trois niveaux d'authentification du client et deux types de contrôles d'accès, en fonction des informations contenues dans le certificat du client. Cette section explique comment configurer le niveau d'authentification et le type de contrôle d'accès souhaités. Elle s'accompagne de remarques signalées par l'icône Remarque :. La fin de cette section comprend des liens aux informations connexes.

Définition du niveau d'authentification du client

Paramétrez le niveau d'authentification du client à l'aide de la directive SSLClientAuth :

Vous pouvez ajouter un second argument, crl, pour utiliser une liste de retrait de certificats (CRL). Par exemple, SSLClientAuth 1 crl

Choix du niveau Required

Si vous choisissez le niveau d'authentification Required, le serveur demande un certificat à tous les clients qui lui adressent une demande HTTPS. Le serveur valide les clients en recherchant la présence d'un certificat racine d'autorité d'accréditation digne de confiance dans leur base de données de clés locale. Il s'agit d'un certificat signé par une autorité d'accréditation déclarée comme autorité digne de confiance sur votre serveur.

Le serveur établit une connexion sécurisée si le client dispose d'un certificat valide. Il rejette la demande si le client dispose d'un certificat ayant expiré ou signé par une autorité d'accréditation non référencée comme autorité digne de confiance sur le serveur.

Remarque :

L'authentification du client par protocole SSL accroît le trafic sur le réseau.

Choix du niveau Optional

Si vous choisissez le niveau d'authentification Optional, le serveur demande un certificat de client. Si le client n'en fournit pas, une connexion sécurisée est tout de même établie. La demande est rejetée si le client fournit un certificat ayant expiré ou signé par une autorité d'accréditation non référencée comme autorité digne de confiance sur le serveur.

Remarque :

L'authentification du client par protocole SSL accroît le trafic sur le réseau.

Choix du niveau None

Si vous choisissez None, le serveur sécurisé ne demande pas de certificat aux clients.

Spécification de l'option crl comme second argument

Spécifiez l'option crl comme second argument de la directive SSLClientAuth pour compléter l'authentification par la consultation d'une liste de retrait de certificats (CRL : Certificate Revocation List). Vous ne pouvez pas activer cette fonction si "None" a été sélectionné comme premier argument.

Définition du type de contrôle d'accès

Définissez le type de contrôle d'accès à l'aide de la directive SSLFakeBasicAuth ou SSLClientAuthRequire.

Remarque :

SSLClientAuthRequire est le type privilégié d'authentification du client.

Directive SSLFakeBasicAuth

L'utilisation de la directive SSLFakeBasicAuth est déconseillée. Les fichiers de mots de passe générés en vue d'être utilisés avec le code SSL d'Apache (ou mod_ssl et Apache) ne fonctionnent pas avec IBM HTTP Server, car le format du nom distinctif (DN) est différent.

Le type SSLFakeBasicAuth fournit une méthode rudimentaire d'authentification du client. Si vous indiquez SSLFakeBasicAuth, le nom distinctif du certificat du client et le mot de passe (qui est "password") sont encodés au format Base64 et placés dans l'en-tête d'autorisation. Faites figurer le module mod_ibm_ssl en premier dans la liste des modules afin que les modules d'authentification suivants puissent disposer du mot de passe et de l'ID utilisateur d'authentification de base factices. L'authentification de base au sein d'un hôte virtuel spécifié ne fonctionne pas, car l'ID utilisateur et le mot de passe fournis par un utilisateur sont remplacés par le nom distinctif du client et son mot de passe (qui est password).

Pour afficher le nom distinctif d'un certificat de client, créez un programme CGI chargé d'extraire la variable d'environnement SSL_CLIENT_DN.

Directive SSLClientAuthGroup

Cette directive permet de spécifier une chaîne logique d'attributs particuliers de certificat de client et de les grouper comme un tout. Cela permet à un ensemble déterminé d'attributs de certificat de client d'accéder à plusieurs objets sur le serveur concerné.

La syntaxe de cette directive est SSLCLientAuthGroup (nom) (expression)

Utilisez des parenthèses pour grouper les comparaisons. Si la valeur d'un attribut contient un caractère non alphanumérique, délimitez-la par des guillemets.

Les attributs valides sont les suivants :

     CommonName 
     Country 
     Email 
     Group
     IssuerCommonName 
     IssuerCountry
     IssuerEmail 
     IssuerLocality 
     IssuerOrg 
     IssuerOrgUnit 
     IssuerStateOrProvince 
     Locality 
     Org 
     OrgUnit 
     StateOrProvince 

Les noms abrégés suivants sont également valides :

     CN, C, E, G, ICN, IC, IE, IL, IO, IOU, IST, L, O, OU, ST 

Directive SSLClientAuthRequire

Le support plus étendu de la directive SSLClientAuthRequire permet à l'administrateur du site (webmestre) de définir des expressions logiques contenant les attributs x509. La confrontation de ces expressions logiques aux informations du certificat du client détermine si l'accès à un objet demandé est accordé ou non. Avant que ce traitement n'ait lieu, GSKit valide le certificat du client afin de s'assurer qu'il est signé par une autorité d'accréditation digne de confiance.

La directive SSLClientAuthRequire permet à un webmestre de créer une expression logique composée de contrôles d'attributs reliés par des opérateurs booléens AND, OR et NOT. Vous pouvez également utiliser des parenthèses. Par exemple :

SSLClientAuthRequire (CommonName = "Pierre Montel" OR CommonName = "Jean Lacroix") AND Org = IBM
signifie que l'accès aux objets est octroyé uniquement si le certificat du client contient le nom usuel Pierre Montel ou Jean Lacroix et que l'entreprise (organisation) est IBM.

Pour les contrôles d'attributs, les seuls opérateurs de comparaison admis sont l'égalité (=) et la différence (!=). Les différents contrôles peuvent être liés entre eux par des opérateurs booléens AND, OR et NOT (qui peuvent aussi être spécifiés sous la forme &&, || et !). Lorsque plusieurs directives SSLClientAuthRequire sont spécifiées pour une ressource, l'effet est le même que si les valeurs étaient jointes par des opérateurs booléens AND.

Utilisez des parenthèses pour grouper les comparaisons. Si la valeur d'un attribut contient un caractère non alphanumérique, délimitez-la par des guillemets.

Les attributs valides sont les suivants :

     CommonName 
     Country 
     Email 
     IssuerCommonName 
     IssuerCountry
     IssuerEmail 
     IssuerLocality 
     IssuerOrg 
     IssuerOrgUnit 
     IssuerStateOrProvince 
     Locality 
     Org 
     OrgUnit 
     StateOrProvince 

Les noms abrégés suivants sont également valides :

     CN, C, E, ICN, IC, IE, IL, IO, IOU, IST, L, O, OU, ST 

 
Informations connexes

     (Retour au début)