Configurer l’authentification par carte à puce PIV

Cet article répertorie la configuration requise sur le serveur Director et dans Active Directory pour activer la fonctionnalité d’authentification par carte à puce.

Remarque :

L’authentification par carte à puce est prise en charge uniquement pour les utilisateurs du même domaine Active Directory.

Configuration du serveur Director

Effectuez les étapes de configuration suivantes sur le serveur Director :

  1. Installez et activez l’authentification par mappage de certificat client. Suivez les instructions Authentification par mappage de certificat client à l’aide d’Active Directory dans le document Microsoft, Authentification par mappage de certificat client.

  2. Désactivez l’authentification par formulaires sur le site Director.

    Démarrez le Gestionnaire IIS.

    Accédez à Sites > Site Web par défaut > Director.

    Sélectionnez Authentification.

    Cliquez avec le bouton droit sur Authentification par formulaires, puis sélectionnez Désactiver.

    Désactiver l’authentification par formulaires

  3. Configurez l’URL de Director pour le protocole https plus sécurisé (au lieu de HTTP) pour l’authentification par certificat client.

    1. Démarrez le Gestionnaire IIS.

    2. Accédez à Sites > Default Web Site > Director.

    3. Sélectionnez SSL Settings.

    4. Sélectionnez Require SSL et Client certificates > Require.

    Paramètres SSL

  4. Mettez à jour web.config. Ouvrez le fichier web.config (disponible dans c:\inetpub\wwwroot\Director) à l’aide d’un éditeur de texte.

Sous l’élément parent <system.webServer>, ajoutez l’extrait de code suivant comme premier élément enfant :

<defaultDocument>
   <files>
       <add value="LogOn.aspx"/>
   </files>
</defaultDocument>

Configuration d’Active Directory

Par défaut, l’application Director s’exécute avec la propriété d’identité du pool d’applications. L’authentification par carte à puce nécessite une délégation pour laquelle l’identité de l’application Director doit disposer de privilèges TCB (Trusted Computing Base) sur l’hôte de service.

Citrix vous recommande de créer un compte de service distinct pour l’identité du pool d’applications. Créez le compte de service et attribuez les privilèges TCB conformément aux instructions de l’article MSDN de Microsoft, Protocol Transition with Constrained Delegation Technical Supplement.

Attribuez le compte de service nouvellement créé au pool d’applications Director. La figure suivante présente la boîte de dialogue des propriétés d’un exemple de compte de service, Domain Pool.

Exemple de compte de service

Configurez les services suivants pour ce compte :

  • Delivery Controller™: HOST, HTTP
  • Director: HOST, HTTP
  • Active Directory: GC, LDAP

Pour configurer,

  1. Dans la boîte de dialogue des propriétés du compte utilisateur, cliquez sur Ajouter.

  2. Dans la boîte de dialogue Ajouter des services, cliquez sur Utilisateurs ou Ordinateurs.

  3. Sélectionnez le nom d’hôte du Delivery Controller.

  4. Dans la liste Services disponibles, sélectionnez HOST et Type de service HTTP.

Configurer les services

De même, ajoutez des types de service pour les hôtes Director et Active Directory.

Créer des enregistrements de nom de principal de service

Vous devez créer un compte de service pour chaque serveur Director et chaque adresse IP virtuelle (VIP) à charge équilibrée utilisée pour accéder à un pool de serveurs Director. Vous devez créer des enregistrements de nom de principal de service (SPN) pour configurer une délégation vers le compte de service nouvellement créé.

  • Utilisez la commande suivante pour créer un enregistrement SPN pour un serveur Director :

      setspn -a http/<directorServer>.<domain_fqdn> <domain>\<DirectorAppPoolServiceAcct>
    
     <!--NeedCopy-->
    
  • Utilisez la commande suivante pour créer un enregistrement SPN pour une VIP à charge équilibrée :

      setspn -S http/<DirectorFQDN> <domain>\<DirectorAppPoolServiceAcct>
    
     <!--NeedCopy-->
    
  • Utilisez la commande suivante pour afficher ou tester les SPN créés :

     setspn –l <DirectorAppPoolServiceAcct>
    
     <!--NeedCopy-->
    

Carte à puce

  • Sélectionnez le répertoire virtuel Director dans le volet gauche et double-cliquez sur Paramètres d’application. Dans la fenêtre Paramètres d’application, cliquez sur Ajouter et assurez-vous que AllowKerberosConstrainedDelegation est défini sur 1.

Kerberos

  • Sélectionnez Pools d’applications dans le volet gauche, puis faites un clic droit sur le pool d’applications Director et sélectionnez Paramètres avancés.

  • Sélectionnez Identité, cliquez sur les points de suspension («…») pour saisir les informations d’identification (domaine\ouverture de session et mot de passe) du compte de service. Fermez la console IIS.

Identité

  • À partir d’une invite de commandes avec élévation de privilèges, modifiez le répertoire en C:\Windows\System32\inetsrv et entrez les commandes suivantes :
   appcmd.exe set config “Default Web Site” -section:system.webServer/security/authentication/clientCertificateMappingAuthentication /enabled:”True” /commit:apphost

<!--NeedCopy-->

    appcmd.exe set config “Default Web Site” -section:system.webServer/security/access /sslFlags:”Ssl, SslNegotiateCert” /commit:apphost
<!--NeedCopy-->

Invite de commandes

Configuration du navigateur Firefox

Pour utiliser le navigateur Firefox, installez le pilote PIV disponible sur OpenSC 0.17.0. Pour les instructions d’installation et de configuration, consultez Installing OpenSC PKCS#11 Module in Firefox, Step by Step. Pour plus d’informations sur l’utilisation de la fonctionnalité d’authentification par carte à puce dans Director, consultez la section Utiliser Director avec l’authentification par carte à puce basée sur PIV dans l’article Director.

Configurer l’authentification par carte à puce PIV