13.4. Renforcement des indicateurs d'authentification pour un service IdM
Les mécanismes d'authentification pris en charge par la gestion des identités (IdM) varient en termes de force d'authentification. Par exemple, l'obtention du ticket initial Kerberos (TGT) à l'aide d'un mot de passe à usage unique (OTP) en combinaison avec un mot de passe standard est considérée comme plus sûre que l'authentification à l'aide d'un mot de passe standard uniquement.
En associant des indicateurs d'authentification à un service IdM particulier, vous pouvez, en tant qu'administrateur IdM, configurer le service de sorte que seuls les utilisateurs qui ont utilisé ces mécanismes de préauthentification spécifiques pour obtenir leur ticket initial (TGT) puissent accéder au service.
De cette façon, vous pouvez configurer différents services IdM de manière à ce que :
- Seuls les utilisateurs qui ont utilisé une méthode d'authentification plus forte pour obtenir leur TGT initial, comme un mot de passe à usage unique (OTP), peuvent accéder à des services essentiels à la sécurité, comme un VPN.
- Les utilisateurs qui ont utilisé des méthodes d'authentification plus simples pour obtenir leur TGT initial, comme un mot de passe, ne peuvent accéder qu'à des services non critiques, comme les connexions locales.
Figure 13.2. Exemple d'authentification à l'aide de différentes technologies
![auth indicators](https://access.redhat.com/webassets/avalon/d/Red_Hat_Enterprise_Linux-9-Managing_IdM_users_groups_hosts_and_access_control_rules-fr-FR/images/a09222ffed3d1da119bdb751311f4627/auth_indicators.png)
Cette procédure décrit la création d'un service IdM et sa configuration pour exiger des indicateurs d'authentification Kerberos particuliers pour les demandes de tickets de service entrantes.
13.4.1. Création d'une entrée de service IdM et de son keytab Kerberos
L'ajout d'une entrée IdM service à IdM pour un service fonctionnant sur un hôte IdM crée un principal Kerberos correspondant et permet au service de demander un certificat SSL, un keytab Kerberos ou les deux.
La procédure suivante décrit la création d'une entrée de service IdM et la génération d'un keytab Kerberos associé pour chiffrer la communication avec ce service.
Conditions préalables
- Votre service peut stocker un principal Kerberos, un certificat SSL ou les deux.
Procédure
Ajoutez un service IdM avec la commande
ipa service-add
pour créer un principal Kerberos associé à ce service. Par exemple, pour créer l'entrée du service IdM pour l'applicationtestservice
qui s'exécute sur l'hôteclient.example.com
:[root@client ~]# ipa service-add testservice/client.example.com ------------------------------------------------------------- Modified service "testservice/client.example.com@EXAMPLE.COM" ------------------------------------------------------------- Principal name: testservice/client.example.com@EXAMPLE.COM Principal alias: testservice/client.example.com@EXAMPLE.COM Managed by: client.example.com
Générer et stocker un keytab Kerberos pour le service sur le client.
[root@client ~]# ipa-getkeytab -k /etc/testservice.keytab -p testservice/client.example.com Keytab successfully retrieved and stored in: /etc/testservice.keytab
Verification steps
Affichez des informations sur un service IdM à l'aide de la commande
ipa service-show
.[root@server ~]# ipa service-show testservice/client.example.com Principal name: testservice/client.example.com@EXAMPLE.COM Principal alias: testservice/client.example.com@EXAMPLE.COM Keytab: True Managed by: client.example.com
Affichez le contenu de la base de données Kerberos du service avec la commande
klist
.[root@server etc]# klist -ekt /etc/testservice.keytab Keytab name: FILE:/etc/testservice.keytab KVNO Timestamp Principal ---- ------------------- ------------------------------------------------------ 2 04/01/2020 17:52:55 testservice/client.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96) 2 04/01/2020 17:52:55 testservice/client.example.com@EXAMPLE.COM (aes128-cts-hmac-sha1-96) 2 04/01/2020 17:52:55 testservice/client.example.com@EXAMPLE.COM (camellia128-cts-cmac) 2 04/01/2020 17:52:55 testservice/client.example.com@EXAMPLE.COM (camellia256-cts-cmac)
13.4.2. Associer des indicateurs d'authentification à un service IdM à l'aide de la CLI IdM
En tant qu'administrateur Identity Management (IdM), vous pouvez configurer un hôte ou un service pour exiger qu'un ticket de service présenté par l'application cliente contienne un indicateur d'authentification spécifique. Par exemple, vous pouvez vous assurer que seuls les utilisateurs qui ont utilisé un jeton d'authentification à deux facteurs IdM valide avec leur mot de passe lors de l'obtention d'un ticket Kerberos (TGT) pourront accéder à cet hôte ou à ce service.
Cette procédure décrit la configuration d'un service pour qu'il exige des indicateurs d'authentification Kerberos particuliers dans les demandes de tickets de service entrantes.
Conditions préalables
- Vous avez créé une entrée de service IdM pour un service qui s'exécute sur un hôte IdM. Voir Création d'une entrée de service IdM et de son keytab Kerberos.
- Vous avez obtenu le ticket d'attribution de ticket d'un utilisateur administratif dans IdM.
Ne not assigner des indicateurs d'authentification aux services IdM internes. Les services IdM suivants ne peuvent pas effectuer les étapes d'authentification interactive requises par PKINIT et les méthodes d'authentification multifactorielle :
host/server.example.com@EXAMPLE.COM HTTP/server.example.com@EXAMPLE.COM ldap/server.example.com@EXAMPLE.COM DNS/server.example.com@EXAMPLE.COM cifs/server.example.com@EXAMPLE.COM
Procédure
Utilisez la commande
ipa service-mod
pour spécifier un ou plusieurs indicateurs d'authentification requis pour un service, identifié par l'argument--auth-ind
.Méthode d'authentification --auth-ind
valeurAuthentification à deux facteurs
otp
Authentification RADIUS
radius
Authentification par PKINIT, carte à puce ou certificat
pkinit
Mots de passe renforcés (SPAKE ou FAST)
hardened
Par exemple, pour exiger qu'un utilisateur ait été authentifié par carte à puce ou par OTP pour récupérer un ticket de service pour le principal
testservice
sur l'hôteclient.example.com
:[root@server ~]# ipa service-mod testservice/client.example.com@EXAMPLE.COM --auth-ind otp --auth-ind pkinit ------------------------------------------------------------- Modified service "testservice/client.example.com@EXAMPLE.COM" ------------------------------------------------------------- Principal name: testservice/client.example.com@EXAMPLE.COM Principal alias: testservice/client.example.com@EXAMPLE.COM Authentication Indicators: otp, pkinit Managed by: client.example.com
Pour supprimer tous les indicateurs d'authentification d'un service, il faut fournir une liste vide d'indicateurs :
[root@server ~]# ipa service-mod testservice/client.example.com@EXAMPLE.COM --auth-ind ''
------------------------------------------------------
Modified service "testservice/client.example.com@EXAMPLE.COM"
------------------------------------------------------
Principal name: testservice/client.example.com@EXAMPLE.COM
Principal alias: testservice/client.example.com@EXAMPLE.COM
Managed by: client.example.com
Verification steps
La commande
ipa service-show
permet d'afficher des informations sur un service IdM, y compris les indicateurs d'authentification qu'il requiert.[root@server ~]# ipa service-show testservice/client.example.com Principal name: testservice/client.example.com@EXAMPLE.COM Principal alias: testservice/client.example.com@EXAMPLE.COM Authentication Indicators: otp, pkinit Keytab: True Managed by: client.example.com
13.4.3. Associer des indicateurs d'authentification à un service IdM à l'aide de l'interface Web IdM
En tant qu'administrateur Identity Management (IdM), vous pouvez configurer un hôte ou un service pour qu'un ticket de service présenté par l'application cliente contienne un indicateur d'authentification spécifique. Par exemple, vous pouvez vous assurer que seuls les utilisateurs qui ont utilisé un jeton d'authentification à deux facteurs IdM valide avec leur mot de passe lors de l'obtention d'un ticket Kerberos (TGT) pourront accéder à cet hôte ou à ce service.
Cette procédure décrit comment utiliser l'interface Web IdM pour configurer un hôte ou un service afin qu'il exige des indicateurs d'authentification Kerberos particuliers pour les demandes de tickets entrantes.
Conditions préalables
- Vous vous êtes connecté à l'interface Web IdM en tant qu'utilisateur administratif.
Procédure
-
Sélectionner
ou . - Cliquez sur le nom de l'hôte ou du service requis.
Sous
Authentication indicators
, sélectionnez la méthode d'authentification requise.-
Par exemple, la sélection de
OTP
garantit que seuls les utilisateurs qui ont utilisé un jeton d'authentification à deux facteurs IdM valide avec leur mot de passe lors de l'obtention d'un TGT Kerberos pourront accéder à l'hôte ou au service. -
Si vous sélectionnez à la fois
OTP
etRADIUS
, les utilisateurs qui ont utilisé un jeton d'authentification à deux facteurs IdM valide avec leur mot de passe lors de l'obtention d'un TGT Kerberos and qui ont utilisé le serveur RADIUS pour obtenir leur TGT Kerberos seront autorisés à accéder à l'application.
-
Par exemple, la sélection de
- Cliquez sur en haut de la page.
13.4.4. Récupération d'un ticket de service Kerberos pour un service IdM
La procédure suivante décrit la récupération d'un ticket de service Kerberos pour un service IdM. Vous pouvez utiliser cette procédure pour tester les politiques relatives aux tickets Kerberos, par exemple en imposant la présence de certains indicateurs d'authentification Kerberos dans un ticket d'attribution de ticket (TGT).
Conditions préalables
- Si le service avec lequel vous travaillez n'est pas un service IdM interne, vous avez créé une entrée IdM service correspondante. Voir Création d'une entrée de service IdM et de son keytab Kerberos.
- Vous disposez d'un ticket Kerberos (TGT).
Procédure
Utilisez la commande
kvno
avec l'option-S
pour récupérer un ticket de service et spécifier le nom du service IdM et le nom de domaine complet de l'hôte qui le gère.[root@server ~]# kvno -S testservice client.example.com testservice/client.example.com@EXAMPLE.COM: kvno = 1
Si vous devez accéder à un service IdM et que votre ticket d'attribution de ticket (TGT) actuel ne possède pas les indicateurs d'authentification Kerberos requis qui lui sont associés, effacez votre cache d'informations d'identification Kerberos actuel à l'aide de la commande kdestroy
et récupérez un nouveau TGT :
[root@server ~]# kdestroy
Par exemple, si vous avez initialement récupéré un TGT en vous authentifiant avec un mot de passe et que vous devez accéder à un service IdM auquel est associé l'indicateur d'authentification pkinit
, détruisez votre cache d'informations d'identification actuel et authentifiez-vous à nouveau avec une carte à puce. Voir les indicateurs d'authentification Kerberos.
Verification steps
Utilisez la commande
klist
pour vérifier que le ticket de service se trouve dans le cache d'informations d'identification Kerberos par défaut.[root@server etc]# klist_ Ticket cache: KCM:1000 Default principal: admin@EXAMPLE.COM Valid starting Expires Service principal 04/01/2020 12:52:42 04/02/2020 12:52:39 krbtgt/EXAMPLE.COM@EXAMPLE.COM 04/01/2020 12:54:07 04/02/2020 12:52:39 testservice/client.example.com@EXAMPLE.COM