Citrix ADC

Authentification du certificat client

Les sites Web qui contiennent du contenu sensible, tels que les sites Web bancaires en ligne ou les sites Web contenant des renseignements personnels sur les employés, nécessitent parfois des certificats client pour l’authentification. Pour configurer l’authentification, l’autorisation et l’audit pour authentifier les utilisateurs sur la base des attributs de certificat côté client, vous activez d’abord l’authentification client sur le serveur virtuel de gestion du trafic et liez le certificat racine au serveur virtuel d’authentification. Ensuite, vous implémentez l’une des deux options. Vous pouvez configurer le type d’authentification par défaut sur le serveur virtuel d’authentification en tant que CERT, ou 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 listes de révocation de certificats. Vous configurez ADC pour extraire le nom d’utilisateur du champ SubjectCN ou d’un autre champ spécifié dans le certificat client.

Lorsque l’utilisateur tente de se connecter à un serveur virtuel d’authentification pour lequel une stratégie d’authentification n’est pas configurée et qu’une cascade globale n’est pas configurée, les informations de nom d’utilisateur sont extraites du champ spécifié du certificat. Si le champ requis est extrait, l’authentification réussit. Si l’utilisateur ne fournit pas de certificat valide pendant la poignée de main SSL, ou si l’extraction du nom d’utilisateur échoue, l’authentification échoue. Après avoir validé le certificat client, ADC présente une page d’ouverture de session à l’utilisateur.

Les procédures suivantes supposent que vous avez déjà créé une configuration d’authentification, d’autorisation et d’audit fonctionnelle et, par conséquent, elles expliquent 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 client et que vous les avez placés sur ADC dans le répertoire /nsconfig/ssl.

Configurer l’authentification du certificat client

Pour configurer les paramètres de certificat client d’authentification, d’autorisation et d’audit à 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> -vServer <certkeyName> -CA -crlCheck Mandatory

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 de certificat client d’authentification, d’autorisation et d’audit à l’aide de l’utilitaire de configuration

  1. Accédez à Sécurité > AAA - Trafic des applications > Serveurs virtuels.
  2. Dans le volet d’informations, sélectionnez le serveur virtuel que vous souhaitez configurer pour gérer l’authentification de certificat client, puis cliquez sur Modifier.
  3. Dans 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.
  4. Dans la boîte de dialogue Clé Cert CA, cliquez sur Insérer.
  5. Dans la boîte de dialogue CA Cert Key - Certificats SSL, cliquez sur Installer.
  6. Dans la boîte de dialogue Installer le certificat, définissez les paramètres suivants, dont les noms correspondent aux noms des paramètres CLI comme indiqué :
    • Nom de la paire de clés de certificat*—CertkeyName
    • Nom du fichier de certificat — certFile
    • Nom du fichier de clé — keyFile
    • Format du certificat — inform
    • Mot de passe — password
    • Bundle de certificats — bundle
    • Notifier à expiration — expiryMonitor
    • Période de notification — notificationPeriod
  7. Cliquez sur Installer, puis cliquez sur Fermer.
  8. Dans la boîte de dialogue Clé de certification, dans la liste Certificat, sélectionnez le certificat racine.
  9. Cliquez sur Enregistrer.
  10. Cliquez sur Précédent pour revenir à l’écran de configuration principal.
  11. Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > CERT.
  12. Dans le volet d’informations, sélectionnez la stratégie que vous souhaitez configurer pour gérer l’authentification de certificat client, puis cliquez sur Modifier.
  13. Dans la boîte de dialogue Configurer la stratégie CERT d’authentification, liste déroulante Serveur, sélectionnez le serveur virtuel que vous venez de configurer pour gérer l’authentification par certificat client.
  14. 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 à l’aide de

Voici les étapes pour configurer l’authentification de certificat client sur Citrix ADC à l’aide de stratégies avancées.

  1. Accédez à Sécurité > AAA - Trafic des applications > Serveurs virtuels.
  2. Dans le volet d’informations, sélectionnez le serveur virtuel que vous souhaitez configurer pour gérer l’authentification de certificat client, puis cliquez sur Modifier.

    Remarque :

    Si vous avez importé un certificat d’autorité de certification valide et un certificat de serveur pour le serveur virtuel, vous pouvez passer les étapes 3 à 10.

  3. Dans la page Configuration, sous Certificats, cliquez sur > pour ouvrir la boîte de dialogue d’installation de la clé de certification CA.
  4. Dans la boîte de dialogue Clé de certification CA, cliquez sur Insérer.
  5. Dans la boîte de dialogue Clé de certification CA - Certificats SSL, cliquez sur Installer.
  6. Dans la boîte de dialogue Installer le certificat, définissez les paramètres suivants, dont les noms correspondent aux noms des paramètres CLI comme indiqué :

    • Nom de la paire de clé-certificat — certkeyName
    • Nom du fichier de certificat — certFile
    • Nom du fichier de clé — keyFile
    • Format du certificat — inform
    • Mot de passe — password
    • Bundle de certificats — bundle
    • Notifier à expiration — expiryMonitor
    • Période de notification — notificationPeriod
  7. Cliquez sur Installer, puis sur Fermer.
  8. Dans la boîte de dialogue Clé de certification, sélectionnez le certificat racine dans la liste Certificat.
  9. Cliquez sur Enregistrer.
  10. Cliquez sur Précédent pour revenir à l’écran de configuration principal.
  11. Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > Stratégies avancées, puis sélectionnez Stratégie.
  12. Dans le volet d’informations, 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.
  13. Dans la boîte de dialogue 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. 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 bouton plus et créer une action du type approprié.
    • Action de journalisation : action d’audit à associer à la stratégie. Vous pouvez choisir une action d’audit existante ou cliquer sur le bouton « 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. Vous entrez des expressions en choisissant d’abord le type d’expression dans la liste déroulante la 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 construire votre expression.)
    • Commentaire - Vous pouvez taper un commentaire décrivant le type de trafic auquel cette stratégie d’authentification s’appliquera. Facultatif.
  14. Cliquez sur Créer ou OK, puis cliquez sur Fermer. Si vous avez créé une stratégie, cette stratégie apparaît dans la page Stratégies d’authentification et serveurs.

Pass-through du certificat client

Citrix ADC peut désormais être configuré pour transmettre des certificats client à des applications protégées qui nécessitent des certificats client pour l’authentification utilisateur. 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 requiert pas, ADC insère le certificat dans la demande, puis transmet la demande à l’application protégée.
  • Si l’authentification de certificat client est désactivée sur le serveur virtuel VPN, ADC renégocie le protocole d’authentification et réauthentifie l’utilisateur avant d’insérer le certificat client dans l’en-tête et de transfère la demande à l’application protégée.
  • Si le serveur virtuel VPN est configuré pour exiger l’authentification du certificat client, 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 la transmission de 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 un nom pour le serveur virtuel. 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 venez de créer. Pour <clientCert>, remplacez l’une des valeurs suivantes :

  • désactivé : désactive l’authentification de certificat client sur le serveur virtuel VPN.
  • mandatory : configure le serveur virtuel VPN pour exiger l’authentification des certificats client.
  • option : configure le serveur virtuel VPN pour autoriser l’authentification de certificat client, mais ne l’exige pas.
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 de l’autorité de certification.

add ssl action <actname> -clientCert ENABLED -certHeader CLIENT-CERT
<!--NeedCopy-->

Pour <actname>, remplacez un nom à l’action SSL.

add ssl policy <polname> -rule true -action <actname>
<!--NeedCopy-->

Pour <polname>, remplacez un nom à votre nouvelle stratégie SSL. Pour <actname>, remplacez le nom de l’action SSL que vous venez de créer.

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-->
Authentification du certificat client