|
|
Authentification des clientsIBM 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
Définition du niveau d'authentification du clientParamé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 RequiredSi 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. |
|
|
L'authentification du client par protocole SSL accroît le trafic sur le réseau. |
Choix du niveau OptionalSi 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. |
|
|
L'authentification du client par protocole SSL accroît le trafic sur le réseau. |
Choix du niveau NoneSi vous choisissez None, le serveur sécurisé ne demande pas de certificat aux clients. Spécification de l'option crl comme second argumentSpé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èsDéfinissez le type de contrôle d'accès à l'aide de la directive SSLFakeBasicAuth ou SSLClientAuthRequire. |
|
|
SSLClientAuthRequire est le type privilégié d'authentification du client. |
Directive SSLFakeBasicAuthL'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 SSLClientAuthGroupCette 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 SSLClientAuthRequireLe 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 = IBMsignifie 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
(Retour au début)
|