9.5. Dépannage des règles de mappage et de correspondance des certificats
Si vous rencontrez des problèmes d'authentification avec une carte à puce, vérifiez que vous avez correctement associé votre certificat de carte à puce à un utilisateur. Par défaut, un certificat est associé à un utilisateur lorsque l'entrée de l'utilisateur contient le certificat complet dans le cadre de l'attribut usercertificate. Toutefois, si vous avez défini des règles de mappage de certificats, vous avez peut-être modifié la manière dont les certificats sont associés aux utilisateurs. Pour résoudre les problèmes liés aux règles de mappage et de correspondance des certificats, reportez-vous aux sections suivantes :
Si vous utilisez votre carte à puce pour vous authentifier à l'aide de SSH, vous devez ajouter le certificat complet à l'entrée de l'utilisateur dans Identity Management (IdM). Si vous n'utilisez pas votre carte à puce pour vous authentifier à l'aide de SSH, vous pouvez ajouter des données de mappage de certificat à l'aide de la commande ipa user-add-certmapdata.
9.5.1. Vérification de la correspondance entre les certificats et les utilisateurs Copier lienLien copié sur presse-papiers!
Par défaut, un certificat est associé à un utilisateur lorsque l'entrée de l'utilisateur contient le certificat complet dans le cadre de l'attribut usercertificate. Toutefois, si vous avez défini des règles de mappage de certificats, il se peut que vous ayez modifié la manière dont les certificats sont associés aux utilisateurs. Cette procédure décrit comment vérifier vos règles de mappage de certificats.
Conditions préalables
- Vous avez installé et configuré votre serveur et votre client de gestion des identités (IdM) pour une utilisation avec des cartes à puce.
- Vous pouvez détecter votre lecteur de carte à puce et afficher le contenu de votre carte à puce. Voir Test de l'accès par carte à puce sur le système.
- Vous avez associé votre certificat de carte à puce à un utilisateur IdM. Voir Règles de mappage des certificats pour la configuration de l'authentification sur les cartes à puce.
Procédure
Vérifier les règles de mappage des certificats actuellement configurées pour IdM :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez vous attendre à ce que l'une des règles de mappage suivantes soit définie :
-
ipacertmapdataindique que l'attributcertmapdatade l'entrée utilisateur IdM est utilisé. -
altSecurityIdentitiesspécifie que l'attribut de mappage du nom d'entrée de l'utilisateur d'Active Directory est utilisé. -
userCertificate;binary=indique que le certificat entier de IdM ou AD est utilisé.
Vous pouvez définir de nombreuses options de correspondance, mais certaines des options généralement configurées sont les suivantes :
-
<ISSUER>CN=[…]spécifie que l'attribut de l'émetteur du certificat utilisé est vérifié pour s'assurer qu'il correspond à celui-ci. -
<SUBJECT>.*,DC=MY,DC=DOMAINindique que l'objet du certificat est vérifié.
-
Activez la journalisation du System Security Services Daemon (SSSD) en ajoutant
debug_level = 9au fichier/etc/sssd/sssd.confsur le serveur IdM :[domain/idm.example.com] ... debug_level = 9
[domain/idm.example.com] ... debug_level = 9Copy to Clipboard Copied! Toggle word wrap Toggle overflow Restart SSSD:
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Vous devriez voir l'entrée suivante dans le fichier
/var/log/sssd/sssd_idm.example.com.logsi le mappage a été lu correctement :[be[idm.example.com]] [sdap_setup_certmap] (0x4000) : Trying to add rule [smartcardrule][-1][<ISSUER>CN=Certificate Authority,O=IDM.EXAMPLE.COM][(|(userCertificate;binary={cert !bin})(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500}))].[be[idm.example.com]] [sdap_setup_certmap] (0x4000) : Trying to add rule [smartcardrule][-1][<ISSUER>CN=Certificate Authority,O=IDM.EXAMPLE.COM][(|(userCertificate;binary={cert !bin})(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500}))].Copy to Clipboard Copied! Toggle word wrap Toggle overflow Si votre règle de mappage contient une syntaxe invalide, une entrée similaire à la suivante peut être observée dans le fichier journal :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez la syntaxe de votre règle de mappage.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Si nécessaire, modifiez votre règle de mappage des certificats :
ipa certmaprule-mod smartcardrule --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'# ipa certmaprule-mod smartcardrule --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.2. Vérification de l'utilisateur associé à un certificat de carte à puce Copier lienLien copié sur presse-papiers!
Si vous rencontrez des problèmes d'authentification avec une carte à puce, vérifiez que le bon utilisateur est associé à votre certificat de carte à puce.
Conditions préalables
- Vous avez installé et configuré votre serveur et votre client de gestion des identités (IdM) pour une utilisation avec des cartes à puce.
- Vous pouvez détecter votre lecteur de carte à puce et afficher le contenu de votre carte à puce. Voir Test de l'accès par carte à puce sur le système.
- Vous avez associé votre certificat de carte à puce à un utilisateur IdM. Voir Règles de mappage des certificats pour la configuration de l'authentification sur les cartes à puce.
-
Vous disposez d'une copie du certificat de votre carte à puce au format PEM, par exemple
cert.pem.
Procédure
Vérifiez que l'utilisateur est associé à votre certificat de carte à puce :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Si l'utilisateur ou le domaine ne sont pas corrects, vérifiez comment vos certificats sont associés aux utilisateurs. Voir Vérification de la correspondance entre les certificats et les utilisateurs.
Vérifier si l'entrée utilisateur contient le certificat :
ipa user-show idmuser1
# ipa user-show idmuser1 User login: idmuser1 [...] Certificate:MIIEejCCAuKgAwIBAgIBCzANBgkqhkiG9w0BAQsFADAzMREwDwYDVQQKDAhJUEEuVEVTVDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDCopy to Clipboard Copied! Toggle word wrap Toggle overflow Si votre entrée utilisateur ne contient pas le certificat, ajoutez votre certificat codé en base-64 à l'entrée utilisateur :
Créez une variable d'environnement contenant le certificat dont l'en-tête et le pied de page ont été supprimés et concaténés en une seule ligne, ce qui correspond au format attendu par la commande
ipa user-add-cert:export CERT=`openssl x509 -outform der -in idmuser1.crt | base64 -w0 -`
$ export CERT=`openssl x509 -outform der -in idmuser1.crt | base64 -w0 -`Copy to Clipboard Copied! Toggle word wrap Toggle overflow Notez que le certificat contenu dans le fichier
idmuser1.crtdoit être au format PEM.Ajoutez le certificat au profil de
idmuser1à l'aide de la commandeipa user-add-cert:ipa user-add-cert idmuser1 --certificate=$CERT
ipa user-add-cert idmuser1 --certificate=$CERTCopy to Clipboard Copied! Toggle word wrap Toggle overflow Effacer le cache du System Security Services Daemon (SSSD).
sssctl cache-remove
# sssctl cache-remove SSSD must not be running. Stop SSSD now? (yes/no) [yes] yes Creating backup of local data… Removing cache files… SSSD needs to be running. Start SSSD now? (yes/no) [yes] yesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Exécutez à nouveau
ipa certmap-matchpour confirmer que l'utilisateur est associé à votre certificat de carte à puce.