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
Pour configurer les paramètres d’authentification, d’autorisation et d’audit 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-->
Pour configurer les paramètres d’authentification, d’autorisation et d’audit du certificat client à l’aide de l’utilitaire de configuration
- Accédez à Sécurité > AAA - Trafic des applications > Serveurs virtuels.
- Dans le volet de détails, sélectionnez le serveur virtuel que vous souhaitez configurer pour gérer l’authentification par certificat client, puis cliquez sur Modifier.
- Sur la page Configuration, sous Certificats, cliquez sur la flèche droite (>) pour ouvrir la boîte de dialogue d’installation de la clé de certification CA.
- Dans la boîte de dialogue Clé de certification CA, cliquez sur Insérer.
- Dans la boîte de dialogue Clé de certificat CA - Certificats SSL, cliquez sur Installer.
- Dans la boîte de dialogue Install Certificate, définissez les paramètres suivants, dont les noms correspondent aux noms des paramètres de l’interface de ligne de commande, comme indiqué :
- Nom de la paire de clés de certificat*—certKeyName
- Nom du fichier de certificat—certFile
- Nom du fichier clé—keyFile
- Format du certificat—inform
- Mot de passe—password
- Bundle de certificats—bundle
- Notifier en cas d’expiration — expiryMonitor
- Période de notification — notificationPeriod
- Cliquez sur Installer, puis cliquez sur Fermer.
- Dans la boîte de dialogue Clé de certification CA, dans la liste Certificat, sélectionnez le certificat racine.
- Cliquez sur Enregistrer.
- Cliquez sur Précédent pour revenir à l’écran de configuration principal.
- Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > CERT.
- Dans le volet de détails, sélectionnez la stratégie que vous souhaitez configurer pour gérer l’authentification par certificat client, puis cliquez sur Modifier.
- Dans la boîte de dialogue Configure Authentication CERT Policy, dans la liste déroulante Serveur, sélectionnez le serveur virtuel que vous avez configuré pour gérer l’authentification par certificat client.
- Cliquez sur OK. Un message apparaît dans la barre d’état, indiquant que la configuration s’est terminée correctement.
Authentification du certificat client via des stratégies avancées
Voici les étapes à suivre pour configurer l’authentification du certificat client sur Citrix ADC à l’aide de stratégies avancées.
- Accédez à Sécurité > AAA - Trafic des applications > Serveurs virtuels.
-
Dans le volet de détails, sélectionnez le serveur virtuel que vous souhaitez configurer pour gérer l’authentification par certificat client, puis cliquez sur Modifier.
Remarque :
Si vous avez importé un certificat CA et un certificat de serveur valides pour le serveur virtuel, vous pouvez passer de l’ étape 3 à l’étape 10.
- Sur la page Configuration, sous Certificats, cliquez sur ** pour ouvrir la boîte de dialogue d’installation de la **clé de certificat CA .
- Dans la boîte de dialogue Clé de certification CA, cliquez sur Insérer.
- Dans la boîte de dialogue Clé de certificat CA - Certificats SSL, cliquez sur Installer.
-
Dans la boîte de dialogue Install Certificate, définissez les paramètres suivants, dont les noms correspondent aux noms des paramètres de l’interface de ligne de commande, comme indiqué :
- Nom de la paire de clés de certificat—CertKeyName
- Nom du fichier de certificat—certFile
- Nom du fichier clé—keyFile
- Format du certificat—inform
- Mot de passe—password
- Bundle de certificats—bundle
- Notifier en cas d’expiration — expiryMonitor
- Période de notification — notificationPeriod
- Cliquez sur Installer, puis sur Fermer.
- Dans la boîte de dialogue Clé de certification CA, dans la liste Certificat, sélectionnez le certificat racine.
- Cliquez sur Enregistrer.
- Cliquez sur Précédent pour revenir à l’écran de configuration principal.
- Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > Stratégies avancées, puis sélectionnez Stratégie.
-
Dans le volet d’informations, effectuez l’une des opérations suivantes :
- Pour créer une nouvelle stratégie, cliquez sur Ajouter.
- Pour modifier une stratégie existante, sélectionnez-la, puis cliquez sur Modifier.
-
Dans la boîte de dialogue Créer une stratégied’authentification ou Configurer la stratégie d’authentification, tapez ou sélectionnez des valeurs pour les paramètres.
- Nom : nom de la stratégie. Impossible de modifier une stratégie précédemment configurée.
- Type d’action - Sélectionner un certificat
- Action : action d’authentification (profil) à associer à la stratégie. Vous pouvez choisir une action d’authentification existante ou cliquer sur le signe plus et créer une nouvelle action du type approprié.
- Action de consignation : action d’audit à associer à la stratégie. Vous pouvez choisir une action d’audit existante ou cliquer sur le signe plus et créer une nouvelle 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 entrer des expressions, commencez par choisir le type d’expression dans la liste déroulante située le plus à gauche sous la fenêtre Expression, puis en tapant 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 créer votre expression.)
- Commentaire : vous pouvez saisir un commentaire décrivant le type de trafic auquel cette stratégie d’authentification s’applique. Facultatif.
- Cliquez sur Créer ou sur OK, puis sur Fermer. Si vous avez créé une stratégie, cette stratégie apparaît dans la page Stratégies et serveurs d’authentification.
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-->