Authentification du certificat client
Les sites Web contenant du contenu sensible, tels que les sites Web de banque en ligne ou les sites Web contenant des informations personnelles sur les employés, nécessitent parfois des certificats clients pour l’authentification. Pour configurer l’authentification, l’autorisation et l’audit afin d’authentifier les utilisateurs en fonction des attributs de certificat côté client, vous devez d’abord activer l’authentification du client sur le serveur virtuel de gestion du trafic et lier le certificat racine au serveur virtuel d’authentification. Ensuite, vous implémentez l’une des deux options suivantes. Vous pouvez configurer le type d’authentification par défaut sur le serveur virtuel d’authentification en tant que CERT, ou vous pouvez créer une action de certificat qui définit ce que Citrix ADC doit faire pour authentifier les utilisateurs sur la base d’un certificat client. Dans les deux cas, votre serveur d’authentification doit prendre en charge les CRL. Vous configurez l’ADC pour extraire le nom d’utilisateur du champ SubjectCN ou d’un autre champ spécifié dans le certificat client.
Lorsque l’utilisateur essaie de se connecter à un serveur virtuel d’authentification pour lequel aucune stratégie d’authentification n’est configurée et qu’aucune cascade globale n’est configurée, les informations de nom d’utilisateur sont extraites du champ spécifié du certificat. Si le champ requis est extrait, l’authentification aboutit. Si l’utilisateur ne fournit pas de certificat valide pendant la négociation SSL, ou si l’extraction du nom d’utilisateur échoue, l’authentification échoue. Après avoir validé le certificat client, l’ADC présente une page de connexion à l’utilisateur.
Les procédures suivantes supposent que vous avez déjà créé une configuration d’authentification, d’autorisation et d’audit fonctionnelle. Elles expliquent donc uniquement comment activer l’authentification à l’aide de certificats clients. Ces procédures supposent également que vous avez obtenu votre certificat racine et vos certificats clients et que vous les avez placés sur l’ADC dans le répertoire /nsconfig/ssl.
Configurer l’authentification du certificat client
Configurer les paramètres du certificat client à l’aide de l’interface graphique
-
Installez un certificat CA et liez-le à un serveur virtuel d’authentification.
- Accédez à Sécurité > AAA - Trafic des applications > Serveurs virtuels.
- Sur la page Serveurs virtuels d’authentification qui s’affiche, sélectionnez le serveur virtuel que vous souhaitez configurer pour gérer l’authentification par certificat client, puis cliquez sur Modifier.
- Sur la page Serveur virtuel d’authentification, accédez à la section Certificat et cliquez sur la flèche droite « > ».
-
Sur la page de liaison des certificats CA, sélectionnez un certificat CA, mettez à jour les autres champs obligatoires, puis cliquez sur Lier.
- Si aucun certificat CA n’est disponible, sélectionnez Ajouter.
- Sur la page Installer le certificat, mettez à jour les champs suivants et cliquez sur Installer, puis sur Fermer.
- Nom de la paire de clés de certificat : nom du certificat et de la paire de clés privées
- Nom du fichier de certificat : nom du fichier de certificat utilisé pour former la paire de clés de certificat. Le fichier de certificat doit être présent sur le disque dur ou le disque SSD de NetScaler. Le stockage d’un certificat dans un emplacement autre que celui par défaut peut entraîner des incohérences dans une configuration de haute disponibilité. Le chemin par défaut est /nsconfig/ssl/.
- Période de notification : nombre de jours avant l’expiration du certificat pendant lesquels NetScaler informe l’administrateur que le certificat est sur le point d’expirer.
- Notifier en cas d’expiration : activez cette option pour recevoir une alerte lorsque le certificat est sur le point d’expirer.
- Une fois le certificat CA installé, accédez à la page CA Certificate Binding, liez-le à un serveur virtuel d’authentification.
- Retournez à la page Sécurité > AAA - Trafic applicatif > Serveurs virtuels .
- Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > Stratégies de base > CERT.
- Sélectionnez la stratégie que vous souhaitez configurer pour gérer l’authentification par certificat client, puis cliquez sur Modifier.
- Sur la page Configurer la stratégie CERT d’authentification, accédez à la liste déroulante Serveur et sélectionnez le serveur virtuel configuré pour gérer l’authentification par certificat client.
-
Cliquez sur OK.
Configurer les paramètres du certificat client à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez les commandes suivantes, dans l’ordre indiqué, pour configurer le certificat et vérifier la configuration :
add ssl certKey <certkeyName> -cert <certFile> -key <keyFile> -password -inform <inform> -expiryMonitor <expiryMonitor> -notificationPeriod <notificationPeriod>
bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]
show ssl certKey [<certkeyName>]
set aaa parameter -defaultAuthType CERT
show aaa parameter
set aaa certParams -userNameField "Subject:CN"
show aaa certParams
<!--NeedCopy-->
Configurer les stratégies d’authentification avancées des certificats clients à l’aide de l’interface graphique
-
Installez le certificat CA et liez-le à une paire de clés de certificat.
- Accédez à Sécurité > AAA - Trafic des applications > Serveurs virtuels.
- Sur la page Serveurs virtuels d’authentification qui s’affiche, sélectionnez le serveur virtuel que vous souhaitez configurer pour gérer l’authentification par certificat client, puis cliquez sur Modifier.
- Sur la page Serveur virtuel d’authentification, accédez à la section Certificat et cliquez sur la flèche droite « > ».
- Sur la page de liaison des certificats CA, sélectionnez un certificat CA, mettez à jour les autres champs obligatoires, puis cliquez sur Lier.
- Si aucun certificat CA n’est disponible, sélectionnez Ajouter.
- Sur la page Installer le certificat, mettez à jour les champs suivants et cliquez sur Installer, puis sur Fermer.
- Nom de la paire de clés de certificat : nom du certificat et de la paire de clés privées
- Nom du fichier de certificat : nom du fichier de certificat utilisé pour former la paire de clés de certificat. Le fichier de certificat doit être présent sur le disque dur ou le disque SSD de NetScaler. Le stockage d’un certificat dans un emplacement autre que celui par défaut peut entraîner des incohérences dans une configuration de haute disponibilité. Le chemin par défaut est /nsconfig/ssl/.
- Période de notification : nombre de jours avant l’expiration du certificat pendant lesquels NetScaler informe l’administrateur que le certificat est sur le point d’expirer.
- Notifier en cas d’expiration : activez cette option pour recevoir une alerte lorsque le certificat est sur le point d’expirer.
- Une fois le certificat CA installé, accédez à la page CA Certificate Binding et répétez l’étape 4.
-
Retournez à la page Sécurité > AAA - Trafic applicatif > Serveurs virtuels .
Remarque :
Si vous avez importé un certificat CA et un certificat de serveur valides pour le serveur virtuel, vous pouvez ignorer les étapes 1 et 2.
- Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > Stratégies avancées, puis sélectionnez Stratégie.
-
Sur la page Stratégies d’authentification, effectuez l’une des opérations suivantes :
- Pour créer une stratégie, cliquez sur Ajouter.
- Pour modifier une stratégie existante, sélectionnez-la, puis cliquez sur Modifier.
-
Sur la page Créer une stratégie d’authentification ou Configurer une stratégie d’authentification, tapez ou sélectionnez des valeurs pour les paramètres.
- Nom : nom de la stratégie. Vous ne pouvez pas modifier le nom d’une stratégie précédemment configurée.
- Type d’action : type de l’action d’authentification.
- Action : nom de l’action d’authentification à effectuer si la stratégie correspond. Vous pouvez choisir une action d’authentification existante ou cliquer sur Ajouter pour créer une action.
- Expression : règle qui sélectionne les connexions auxquelles vous souhaitez appliquer l’action que vous avez spécifiée. La règle peut être simple (« true » sélectionne tout le trafic) ou complexe. Pour saisir des expressions, choisissez d’abord le type d’expression dans la liste déroulante la plus à gauche sous la fenêtre Expression, puis en saisissant votre expression directement dans la zone de texte de l’expression, ou en cliquant sur Ajouter pour ouvrir la boîte de dialogue Ajouter une expression et en utilisant les listes déroulantes qu’elle contient pour définir votre expression.
- Action de journalisation : nom de l’action d’audit à utiliser lorsqu’une demande d’authentification correspond à cette stratégie. Vous pouvez choisir une action d’audit existante ou cliquer sur Ajouter pour créer une action.
- Commentaire : Vous pouvez saisir un commentaire qui décrit le type de trafic auquel s’applique cette stratégie d’authentification. Ce champ est facultatif.
- Cliquez sur Créer ou sur OK, puis sur Fermer.
Transfert de certificat client
Citrix ADC peut désormais être configuré pour transmettre les certificats clients aux applications protégées qui nécessitent des certificats clients pour l’authentification des utilisateurs. L’ADC authentifie d’abord l’utilisateur, puis insère le certificat client dans la demande et l’envoie à l’application. Cette fonctionnalité est configurée en ajoutant des stratégies SSL appropriées.
Le comportement exact de cette fonctionnalité lorsqu’un utilisateur présente un certificat client dépend de la configuration du serveur virtuel VPN.
- Si le serveur virtuel VPN est configuré pour accepter les certificats clients mais ne les exige pas, l’ADC insère le certificat dans la demande, puis la transmet à l’application protégée.
- Si l’authentification du certificat client est désactivée sur le serveur virtuel VPN, l’ADC renégocie le protocole d’authentification et authentifie à nouveau l’utilisateur avant d’insérer le certificat client dans l’en-tête et de transmettre la demande à l’application protégée.
- Si le serveur virtuel VPN est configuré pour exiger l’authentification par certificat client, l’ADC utilise le certificat client pour authentifier l’utilisateur, puis insère le certificat dans l’en-tête et transmet la demande à l’application protégée.
Dans tous ces cas, vous configurez le pass-through du certificat client comme suit.
Créer et configurer le transfert de certificat client à l’aide de l’interface de ligne de commande
À l’invite de commandes, tapez les commandes suivantes :
add vpn vserver <name> SSL <IP> 443
<!--NeedCopy-->
Pour name, remplacez le nom du serveur virtuel par un nom. Le nom doit contenir entre un et 127 caractères ASCII, commençant par une lettre ou un trait de soulignement (_), et ne contenant que des lettres, des chiffres et le trait de soulignement, hachage (#), point (.), espace, deux-points ( :), à (@), égal à (=) et tiret (-). Pour <IP>
, remplacez l’adresse IP attribuée au serveur virtuel.
set ssl vserver <name> -clientAuth ENABLED -clientCert <clientcert>
<!--NeedCopy-->
Pour <name>
, remplacez le nom du serveur virtuel que vous avez créé. Pour <clientCert>
, remplacez l’une des valeurs suivantes :
- disabled—désactive l’authentification du certificat client sur le serveur virtuel VPN.
- obligatoire : configure le serveur virtuel VPN pour qu’il exige des certificats clients pour s’authentifier.
- facultatif : configure le serveur virtuel VPN pour autoriser l’authentification par certificat client, mais pas pour l’exiger.
bind vpn vserver <name> -policy local
<!--NeedCopy-->
Pour <name>
, remplacez le nom du serveur virtuel VPN que vous avez créé.
bind vpn vserver <name> -policy cert
<!--NeedCopy-->
Pour <name>
, remplacez le nom du serveur virtuel VPN que vous avez créé.
bind ssl vserver <name> -certkeyName <certkeyname>
<!--NeedCopy-->
Pour <name>
, remplacez le nom du serveur virtuel que vous avez créé. Pour <certkeyName>
, remplacez la clé de certificat client.
bind ssl vserver <name> -certkeyName <cacertkeyname> -CA -ocspCheck Optional
<!--NeedCopy-->
Pour <name>
, remplacez le nom du serveur virtuel que vous avez créé. Pour <cacertkeyName>
, remplacez la clé de certificat CA.
add ssl action <actname> -clientCert ENABLED -certHeader CLIENT-CERT
<!--NeedCopy-->
Pour <actname>
, remplacez le nom de l’action SSL.
add ssl policy <polname> -rule true -action <actname>
<!--NeedCopy-->
Pour <polname>
, remplacez le nom de votre nouvelle stratégie SSL. Pour <actname>
, remplacez le nom de l’action SSL que vous avez créée.
bind ssl vserver <name> -policyName <polname> -priority 10
<!--NeedCopy-->
Pour <name>
, remplacez le nom du serveur virtuel VPN.
Exemple
add vpn vserver vs-certpassthru SSL 10.121.250.75 443
set ssl vserver vs-certpassthru -clientAuth ENABLED -clientCert optional
bind vpn vserver vs-certpassthru -policy local
bind vpn vserver vs-certpassthru -policy cert
bind ssl vserver vs-certpassthru -certkeyName mycertKey
bind ssl vserver vs-certpassthru -certkeyName mycertKey -CA -ocspCheck Optional
add ssl action act-certpassthru -clientCert ENABLED -certHeader CLIENT-CERT
add ssl policy pol-certpassthru -rule true -action act-certpassthru
bind ssl vserver vs-certpassthru -policyName pol-certpassthru -priority 10
<!--NeedCopy-->