Authentification, autorisation et audit du trafic des applications

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.

Pour 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

    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> 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 Pour <name>, remplacez le nom du serveur virtuel VPN que vous avez créé.
  • bind vpn vserver \<name> -policy cert Pour <name>, remplacez le nom du serveur virtuel VPN que vous avez créé.
  • bind ssl vserver \<name> -certkeyName \<certkeyname> 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 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 Pour <actname>, remplacez un nom pour l’action SSL.
  • add ssl policy \<polname\> -rule true -action \<actname\> Pour <polname>, remplacez un nom pour votre nouvelle stratégie SSL. Par <actname>, remplacez le nom de l’action SSL que vous venez de créer.
  • bind ssl vserver \<name\> -policyName \<polname\> -priority 10 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
Pass-through du certificat client