Authentification par smart card

Tanium en tant que service ne prend pas en charge l’authentification par smart card.

La console Tanium™ prend en charge l’authentification par smart card. Une smart card constitue un ensemble d’informations d’identification physiques comportant une puce et des données, telles que des certificats et des clés sécurisés. Les smart cards sont également connues sous le nom de cartes d’accès commun (CAC) et cartes de vérification d’identité personnelle (PIV) . Les systèmes de endpoints sont configurés avec des lecteurs de smart card, et les utilisateurs finaux utilisent leur smart card pour s’authentifier et obtenir un accès.

Exigences de déploiement

Lorsque l’authentification par smart card est activée, le serveur Tanium™ et le serveur de module Tanium™ doivent résider sur des hôtes distincts. Toute authentification au niveau de la console Tanium nécessite des smart cards, à moins que la demande d’authentification ne soit faite depuis l’une des sources suivantes :

  • Le système hébergeant le serveur Tanium via l’adresse de bouclage locale (127.0.0.1 pour IPv4 ou [::1] pour IPv6).
  • La connexion du serveur de module Tanium au serveur Tanium.

Par conséquent, toutes les intégrations supplémentaires que vous souhaitez automatiser doivent résider sur l’un des deux hôtes. Voici quelques exemples :

  • Plug-in SSRS
  • Plug-in Excel (à moins d’utiliser la version prenant en charge l’authentification par smart card)
  • Gestionnaire de connexion – Synchronisation AD
  • Pytan
  • Sites Web SOC tiers qui interrogent Tanium pour des données
Déploiement isolé avec authentification par smart card :
  • Les liens vers le contenu hébergé sur le serveur Tanium doivent utiliser l’adresse de bouclage locale. Cela en raison du fait que le service TDownloader qui télécharge le contenu vers le serveur Tanium ne peut pas présenter de certificat.
  • Les liens vers les importations du module de solution utilisent à la fois l’adresse de bouclage locale (pour l’interface) et le FQDN du serveur de module Tanium pour la partie de la solution installée sur le serveur de module Tanium.

Créer un certificat

L’authentification par smart card pour l’accès à Tanium Console dépend de l’infrastructure à clés publiques (PKI) qui a été configurée pour l’entreprise. Vous pouvez commencer si vous avez un certificat client signé par le certificat racine du domaine dans lequel le serveur Tanium est déployé. Assurez-vous qu’il a l’attribut Proves your identity to a remote computer (Prouve votre identité à un ordinateur distant).

F : Figure 1 :  Prouve votre identité à un ordinateur distant

La procédure suivante montre comment extraire des certificats du certificat client et les utiliser pour créer un nouveau fichier de certificat.

Dans la plupart des cas, vous devez uniquement extraire le certificat racine. Si cela ne fonctionne pas, vous devrez peut-être aussi ajouter des certificats intermédiaires à la chaîne.

Extraire les certificats

  1. Procurez-vous un fichier de certificat client signé par le CA racine pour le domaine. Voir F : Figure 1.
  2. Sur un ordinateur Windows, double-cliquez sur le fichier de certificat pour l’ouvrir dans le Snap-In Certificats Windows.
  3. Dans l’onglet Certification Path (Chemin de certification), sélectionnez le certificat racine. Dans cet exemple, DigIcert est le certificat racine.
  4. Allez sur Details (Détails) et cliquez sur Copy to File (Copier vers fichier) pour afficher l’assistant d’exportation de certificat.
  5. Sélectionner Base-64 encoded X.509 (.CER).
  6. Sélectionnez un dossier et spécifiez un nom de fichier. Donnez un nom tel example1.cer.
  7. Passez en revue les paramètres et cliquez sur Finish (Terminer) pour enregistrer le certificat.
  8. Si votre déploiement a des CA intermédiaires, répétez ces étapes pour extraire les certificats pour tous les CA intermédiaires. Accédez à l’onglet Certification Path (Chemin de certification) et sélectionnez le certificat suivant dans la chaîne. Dans l’exemple suivant, Digicert SHA2 High Assurance Server CA est le certificat suivant. Exportez ce certificat avec un nom tel que example2.cer.





Créez un nouveau fichier de certificat

  1. Créez un fichier nommé cac.pem.
  2. Copiez et collez le contenu de chaque certificat dans la chaîne dans le fichier.







    • Chaque section du fichier de certificat doit commencer par -----BEGIN CERTIFICATE----- et terminer par -----END CERTIFICATE-----.
    • Il ne doit y avoir qu’un seul retour chariot entre chaque certificat de la chaîne.
    • Il ne doit y avoir aucun espace blanc supplémentaire ou retour chariot au début ou à la fin du fichier.
    • L’exemple précédent montre le dernier certificat racine, qui est une convention utilisée par l’assistance Tanium.

  3. Enregistrer le fichier.

Appliance Tanium : Configurer CAC

Ajoutez votre nom d’utilisateur de compte CAC (EDIPI) en tant qu’administrateur de tanium avant d’activer le CAC.

Étape 1 : installer le certificat

Téléchargez, puis installez le certificat.

Téléchargez le fichier du certificat

  1. Ajoutez le fichier cac.pem de certificat (format PEM ) à un fichier protégé par mot de passe nommé tanium.zip (mot de passe à 10 caractères minimum).
  2. Utilisez SFTP pour copier le fichier tanium.zip sur le répertoire /incoming sur l’appareil Tanium Server.

Installez le fichier de certificat SOAP.

  1. Connectez-vous à la console TanOS en tant qu’utilisateur avec le rôle tanadmin.
  2. À partir du menu tanadmin, entrez 2 pour accéder au menu Tanium Operations (Opérations Tanium).
  3. Entrez 8 puis suivez les invites pour importer le fichier zip et installer le fichier de certificat CAC.
    Le fichier du certificat CAC est automatiquement ajouté à /opt/Tanium/TaniumServer/cac.pem lorsqu’il est importé.

Étape 2 : ajouter les paramètres de configuration du serveur Tanium requis

  1. Connectez-vous à la console TanOS en tant qu’utilisateur tanadmin.
  2. Entrez 2 pour accéder au menu Tanium Operations (Opérations Tanium).

  3. Entrez 2 pour accéder au menu Tanium Configuration Settings (Paramètres de configuration Tanium).

  4. Entrez 1 pour accéder au menu Modifier les paramètres du serveur Tanium.
  5. Utilisez le menu pour ajouter les paramètres du serveur Tanium comme décrit dans le T :  Tableau 2.

  6. Redémarrez le service Tanium Server. Pour plus d’informations, reportez-vous au Guide de déploiement des appliances Tanium : démarrer, arrêter et redémarrer les services Tanium.
    Vous pouvez maintenant vous connecter à Tanium Console avec votre CAC.

Le tableau suivant récapitule les paramètres que vous devez ajouter pour activer le CAC.

T :  Tableau 2 : Enable CAC settings (Activer les paramètres CAC)
Noms du paramètre Recommandations
ForceSOAPSSLClientCert Facultatif. Si la valeur de registre n’existe pas (mais que d’autres valeurs de registre CAC/PIV existent), ou est définie sur une valeur 1, l’authentification CAC/PIV devient obligatoire.

Remarque : la conception prend en charge la valeur 0 pour désactiver l’authentification de certificat de client et utiliser plutôt les informations d’identification de connexion de la console. Cependant, l’implémentation actuelle pour prendre en charge la valeur 0 n’est pas terminée. À ce stade, la valeur doit être uniquement définie sur 1.

ClientCertificateAuthField Facultatif. Si non définie, l’authentification du certificat est mise en correspondance avec le champ Subject.

Spécifiez une valeur pour cette clé, si vous souhaitez une correspondance avec un attribut différent. De nombreuses organisations utilisent X509v3 Subject Alternative Name.

Exemple :

X509v3 Subject Alternative Name

Remarque : X509v3 est généralement masqué lorsqu’affiché dans Windows. Notez que X509v3 est sensible à la casse.

ClientCertificateAuthRegex

Facultatif. Si non définie, l’expression régulière par défaut est utilisée pour une correspondance avec l’identificateur de l’utilisateur. La valeur par défaut est .*CN=(.*)$.

L’exemple suivant constitue une meilleure pratique pour une mise en correspondance avec toute entrée Subject Alternative Name :

.*:\s(\d+)@.*

ClientCertificateAuth Définit l’emplacement du fichier de certificat à utiliser pour l’authentification.

Exemple :

/opt/Tanium/TaniumServer/cac.pem

Remarque : le chemin d’accès est sensible à la casse.

TrustedHostList Ne supprimez aucune valeur. Ajoutez plutôt 127.0.0.1 (pour IPv4) et [::1] (pour IPv6) afin que le téléchargeur Tanium puisse ajouter des packages locaux au serveur Tanium avec le CAC/PIV activé.
CACTrustedAddresses Définit les endpoints à exempter des exigences d’authentification de CAC. Ces systèmes ne nécessiteront pas de certificat CAC/PIV pour s’authentifier et fonctionner pour tous les actifs Tanium.

Spécifiez le serveur Tanium et le serveur de module Tanium. Spécifiez des adresses supplémentaires pour exempter tout autre système et composant approuvé.

Dans un déploiement actif/actif, vous devez configurer ce paramètre sur les deux serveurs Tanium pour éviter la survenue d’erreurs au niveau du téléchargeur Tanium.

cac_ldap_server_url Facultatif. S’il est défini, il est requis que Tanium valide chaque tentative d’authentification CAC/PIV avec AD pour déterminer l’état du compte qui se connecte. Ceci n’utilise pas le sous-système d’authentification Windows, donc le compte de service exécutant Tanium doit disposer des privilèges requis pour rechercher des comptes via une requête LDAP directe.

Utilisez la syntaxe suivante :

LDAP://<Active Directory FQDN>

Remarque : LDAP doit être en caractères majuscules.

Si plusieurs domaines sont utilisés, spécifiez un catalogue global. Il doit utiliser la syntaxe GC://<domain>.

Conseil : il est fortement recommandé d’utiliser le gestionnaire de connexion Tanium pour aligner les utilisateurs AD et les groupes de sécurité avec les rôles dans Tanium.

CertLDAPQueryField Facultatif. S’il est défini, il spécifie un attribut de nom d’utilisateur Active Directory. Si non défini, l’attribut par défaut est utilisé. Les valeurs valides sont :
  • userPrincipalName — Le nom de connexion de l’utilisateur.
  • sAMAccountName — Un nom de connexion qui prend en charge la version précédente de Windows.
CertLDAPCertField Facultatif.

Ajoutez ce paramètre conjointement au paramètre cac_ldap_server_url. Ce paramètre spécifie un attribut secondaire à interroger dans le certificat X509. La plupart du temps, cette valeur doit correspondre au ClientCertificateAuthField avec une valeur de X509v3 Subject Alternative Name.

Si non définie, l’authentification du certificat correspond à l’attribut Subject.

Exemple :

X509v3 Subject Alternative Name

Remarque : X509v3 est généralement masqué lorsqu’affiché dans Windows. La chaîne X509v3 est sensible à la casse.

CertLDAPCertFieldRegex Facultatif.

Ajoutez cet attribut conjointement au paramètre cac_ldap_server_url. Ce paramètre spécifie une expression régulière qui tient compte du suffixe UPN lorsqu’une recherche LDAP secondaire se produit. Cela est nécessaire, car AD-Sync met en correspondance UPN sans le suffixe UPN.

Si non défini, tout ce qui est retourné dans l’attribut de nommage d’utilisateur sera utilisé.

Exemples :

L’exemple suivant est le plus fréquemment utilisé. Il renvoie l’UPN complet :

.*\:\s*([^@][email protected]*)$

L’exemple suivant renvoie uniquement la valeur numérique de l’UPN :

([^@]+)@.*$

Pour désactiver l’authentification du CAC, supprimez les paramètres du CAC puis redémarrez le service du serveur Tanium.

Windows : Configurer CAC

Étape 1 : copiez le certificat dans le répertoire d’installation Tanium

Copiez le fichier dans le répertoire d’installation du serveur Tanium :

\Program Files\Tanium\Tanium Server\

Étape 2 : ajouter les clés de registre Windows sur l’hôte du serveur Tanium

  1. Ajoutez les entrées de clé de registre Windows comme décrit dans les tableaux suivants.
  2. Redémarrez le service Tanium Server.
T :  Tableau 3 : Activer l’authentification par smart card
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur ForceSOAPSSLClientCert
Type de valeur REG_DWORD
Plage valide 0 ou 1
Valeur par défaut
Recommandations Facultatif. Si la valeur de registre n’existe pas (mais que d’autres valeurs de registre CAC/PIV existent), ou est définie sur une valeur 1, l’authentification CAC/PIV devient obligatoire.

Remarque : la conception prend en charge la valeur 0 pour désactiver l’authentification de certificat de client et utiliser plutôt les informations d’identification de connexion de la console. Cependant, l’implémentation actuelle pour prendre en charge la valeur 0 n’est pas terminée. À ce stade, la valeur doit être uniquement définie sur 1.


T :  Tableau 4 : Attribut de certificat à apparier
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur ClientCertificateAuthField
Type de valeur REG_SZ
Plage valide Tout champ de certificat valide.
Valeur par défaut Sujet
Recommandations Facultatif. Si non définie, l’authentification du certificat est mise en correspondance avec le champ Subject.

Spécifiez une valeur pour cette clé, si vous souhaitez une correspondance avec un attribut différent. De nombreuses organisations utilisent X509v3 Subject Alternative Name.

Exemple :

X509v3 Subject Alternative Name

Remarque : X509v3 est généralement masqué lorsqu’affiché dans Windows. Notez que X509v3 est sensible à la casse.


T :  Tableau 5 : Expression régulière à laquelle correspondre
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur ClientCertificateAuthRegex
Type de valeur REG_SZ
Plage valide Toute expression régulière valide.
Valeur par défaut .*CN=(.*)$
Recommandations

Facultatif. Si non définie, l’expression régulière par défaut est utilisée pour une correspondance avec l’identificateur de l’utilisateur.

L’exemple suivant constitue une meilleure pratique pour une mise en correspondance avec toute entrée Subject Alternative Name :

.*:\s(\d+\.?\w?)@.*


T :  Tableau 6 : Emplacement de fichier de certificat de smart card
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur ClientCertificateAuth
Type de valeur REG_SZ
Plage valide Tout fichier de certificat valide.
Valeur par défaut Aucun
Recommandations Définit l’emplacement du fichier de certificat à utiliser pour l’authentification.

Exemple :

D:\Program Files\Tanium\Tanium Server\cac.pem

Remarque : le chemin d’accès est sensible à la casse.


T :  Tableau 7 : Ajoutez 127.0.0.1 et [::1] à l’entrée TrustedHostList
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur TrustedHostList
Type de valeur REG_SZ
Plage valide Une liste séparée par des virgules d’adresses IP ou de FQDN pour les ordinateurs hôtes du serveur Tanium, du serveur de module et du serveur de base de données. Vous devez saisir les adresses IPv6 entre crochets (par ex. : [2001:db8::1]).
Valeur par défaut Aucun
Recommandations Ne supprimez aucune valeur. Ajoutez plutôt 127.0.0.1 (pour IPv4) et [::1] (pour IPv6) afin que le téléchargeur Tanium puisse ajouter des packages locaux au serveur Tanium avec le CAC/PIV activé.

T :  Tableau 8 : Définir des systèmes et des composants approuvés
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur CACTrustedAddresses
Type de valeur REG_SZ
Plage valide Une liste séparée par des virgules de FQDN.
Valeur par défaut Aucun
Recommandations Définit les endpoints à exempter des exigences d’authentification de CAC. Ces systèmes ne nécessiteront pas de certificat CAC/PIV pour s’authentifier et fonctionner pour tous les actifs Tanium.

Spécifiez le serveur Tanium et le serveur de module Tanium. Spécifiez des adresses supplémentaires pour exempter tout autre système et composant approuvé.

Dans un déploiement actif/actif, vous devez configurer ce paramètre sur les deux serveurs Tanium pour éviter la survenue d’erreurs au niveau du téléchargeur Tanium.


T :  Tableau 9 : Serveur LDAP (facultatif)
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur cac_ldap_server_url
Type de valeur REG_SZ
Plage valide Un serveur LDAP valide.
Valeur par défaut Aucun
Recommandations Facultatif. S’il est défini, il est requis que Tanium valide chaque tentative d’authentification CAC/PIV avec AD pour déterminer l’état du compte qui se connecte. Ceci n’utilise pas le sous-système d’authentification Windows, donc le compte de service exécutant Tanium doit disposer des autorisations requises pour rechercher des comptes via une requête LDAP directe.

Utilisez la syntaxe suivante :

LDAP://<Active Directory FQDN>

Remarque : LDAP doit être en caractères majuscules.

Si plusieurs domaines sont utilisés, spécifiez un catalogue global. Il doit utiliser la syntaxe GC://<domain>.

Conseil : il est fortement recommandé d’utiliser le gestionnaire de connexion Tanium pour aligner les utilisateurs AD et les groupes de sécurité avec les rôles dans Tanium.


T :  Tableau 10 : Requête LDAP (facultatif)
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur CertLDAPQueryField
Type de valeur REG_SZ
Plage valide userPrincipalName ou sAMAccountName
Valeur par défaut userPrincipalName
Recommandations Facultatif. S’il est défini, il spécifie un attribut de nom d’utilisateur Active Directory. Si non défini, l’attribut par défaut est utilisé. Les valeurs valides sont :
  • userPrincipalName : le nom de connexion de l’utilisateur.
  • sAMAccountName : un nom de connexion qui prend en charge la version précédente de Windows.

T :  Tableau 11 : Recherche secondaire LDAP (Facultatif)
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur CertLDAPCertField
Type de valeur REG_SZ
Plage valide  
Valeur par défaut Sujet
Recommandations Facultatif.

Ajoutez ce paramètre conjointement au paramètre cac_ldap_server_url. Ce paramètre spécifie un attribut secondaire à interroger dans le certificat X509. La plupart du temps, cette valeur doit correspondre au ClientCertificateAuthField avec une valeur de X509v3 Subject Alternative Name.

Si non définie, l’authentification du certificat correspond à l’attribut Subject.

Exemple :

X509v3 Subject Alternative Name

Remarque : X509v3 est généralement masqué lorsqu’affiché dans Windows. La chaîne X509v3 est sensible à la casse.


T :  Tableau 12 : Regex LDAP (Facultatif)
Emplacement HKLM\Software\Wow6432Node\Tanium\Tanium Server
Valeur CertLDAPCertFieldRegex
Type de valeur REG_SZ
Plage valide Toute expression régulière valide.
Valeur par défaut Aucun
Recommandations Facultatif.

Ajoutez cet attribut conjointement au paramètre cac_ldap_server_url. Ce paramètre spécifie une expression régulière qui tient compte du suffixe UPN lorsqu’une recherche LDAP secondaire se produit. Cela est nécessaire, car AD-Sync met en correspondance UPN sans le suffixe UPN.

Si non défini, tout ce qui est retourné dans l’attribut de nommage d’utilisateur sera utilisé.

Exemples :

L’exemple suivant est le plus fréquemment utilisé. Il renvoie l’UPN complet :

.*\:\s*([^@][email protected]*)$

L’exemple suivant renvoie uniquement la valeur numérique de l’UPN :

([^@]+)@.*$

Dépannage

  • Vérifiez que la configuration ne contient pas de fautes de frappe (comme un espace supplémentaire ou une erreur de casse).
  • Vérifiez si le système fonctionne avec uniquement les clés de registre requises. Puis, activez et testez les paramètres facultatifs, tels que les paramètres d’intégration LDAP.
  • Dans un déploiement actif/actif, configurez la valeur CACTrustedAddresses avec des entrées pour chaque serveur Tanium et le serveur de module Tanium, afin d’éviter des erreurs au niveau du téléchargeur Tanium lors de la synchronisation du package.
  • Définissez le niveau de Log sur 41 ou une valeur supérieure pour consigner les événements suivants :
    • Si ClientCertificateMatchField est défini et ne correspond pas :

      • Aucune correspondance avec l’expression régulière :

        Client Certificate auth logon denied, match failed

      • Champ utilisé pour l’expression régulière introuvable dans le certificat CA :

        Client Certificate auth logon denied, match property not present

    • Si ClientCertificateMatchField passe ou est vide, l’utilisateur est extrait à l’aide de ClientCertificateAuthField et ClientCertificateAuthRegex  :

      • Si ClientCertificateAuthRegex ne correspond pas :

        Client Certificate auth logon denied, regex not matched

      • Si ClientCertificateAuthField est introuvable :

        Client Certificate auth logon denied, field not found

      • Si l’expression régulière correspond et que le champ est trouvé, mais que le nom n’est pas valide :

        Client Certificate auth logon denied, unknown user

    • Tout autre message d’erreur ou d’information commence également par :

      Client Certificate auth