Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utiliser des cartes à puce pour l'authentification dans WorkSpaces Personal
Les offres Windows et Linux WorkSpaces on DCV autorisent l'utilisation de cartes à puce CAC (Common Access Card)
Amazon WorkSpaces prend en charge l'utilisation de cartes à puce à la fois pour l'authentification pré-session et pour l'authentification en cours de session. L'authentification de pré-session fait référence à l'authentification par carte à puce effectuée pendant que les utilisateurs se connectent à leur WorkSpaces. L'authentification en cours de session fait référence à l'authentification effectuée après la connexion.
Par exemple, les utilisateurs peuvent utiliser des cartes à puce pour l'authentification en cours de session lorsqu'ils travaillent avec des applications et des navigateurs Web. Ou encore, pour les actions nécessitant des autorisations d'administration. Par exemple, si l'utilisateur dispose d'autorisations administratives sur son système Linux WorkSpace, il peut utiliser des cartes à puce pour s'authentifier lors de l'exécution sudo et des sudo -i commandes.
Table des matières
Exigences
-
Un annuaire Connecteur Active Directory (AD Connector) est requis pour l'authentification pré-session. AD Connector utilise l'authentification mutuelle par certificat (protocole TLS mutuel) pour authentifier les utilisateurs auprès d'Active Directory à l'aide de certificats de carte à puce matériels ou logiciels. Pour plus d'informations sur la façon de configurer AD Connector et l'annuaire sur site, consultez Configuration Active Directory.
-
Pour utiliser une carte à puce sous Windows ou Linux WorkSpace, l'utilisateur doit utiliser le client Amazon WorkSpaces Windows version 3.1.1 ou ultérieure, le client WorkSpaces macOS version 3.1.5 ou ultérieure, ou le client WorkSpaces Ubuntu 22.04 version 2024.1 ou ultérieure (l'authentification par carte à puce n'est pas prise en charge avec WorkSpaces le client Ubuntu 20.04). Pour plus d'informations sur l'utilisation des cartes à puce avec les clients Windows et macOS, consultez la section Support des cartes à puce dans le guide de WorkSpaces l'utilisateur Amazon.
-
L'autorité de certification (CA) racine et les certificats de carte à puce doivent répondre à certaines exigences. Pour plus d'informations, consultez Activer l'authentification mTLS dans AD Connector pour une utilisation avec des cartes à puce dans le Guide d'administration AWS Directory Service et Exigences de certificat
dans la documentation Microsoft. Outre ces exigences, les certificats utilisateur utilisés pour l'authentification par carte à puce auprès d'Amazon WorkSpaces doivent inclure les attributs suivants :
-
Le nom de l'utilisateur AD userPrincipalName (UPN) dans le champ subjectAltName (SAN) du certificat. Nous recommandons d'émettre des certificats de carte à puce pour l'UPN par défaut de l'utilisateur.
Note
Amazon Linux 2 WorkSpaces s'appuie sur UPN pour le certificate-to-user mappage. Les nouveaux systèmes Linux WorkSpaces, tels qu'Ubuntu, Rocky Linux et Red Hat Enterprise Linux WorkSpaces, prennent en charge des méthodes de mappage
plus sécurisées. -
L'attribut EKU (Extended Key Usage) de l'authentification client (1.3.6.1.5.5.7.3.2).
-
L'attribut EKU d'ouverture de session par carte à puce (1.3.6.1.4.1.311.20.2.2).
-
-
Pour l'authentification pré-session, l'OCSP (Online Certificate Status Protocol) est requis pour vérifier la révocation des certificats. Pour l'authentification en cours de session, l'OCSP est recommandé, mais pas obligatoire.
Note
Ubuntu WorkSpaces, Rocky Linux WorkSpaces et Red Hat Enterprise Linux WorkSpaces nécessitent l'OCSP pour l'authentification en session par défaut, et la vérification OCSP dans ces systèmes nécessite que l'extension NONCE soit activée sur le répondeur OCSP pour empêcher les attaques par rediffusion. Pour désactiver l'extension NONCE, la vérification OCSP en session doit être complètement désactivée. Pour désactiver la vérification OCSP dans Ubuntu, Rocky Linux et Red Hat Enterprise Linux WorkSpaces, créez un nouveau fichier
/etc/sssd/conf.d/disable-ocsp.confavec le contenu suivant :[sssd] certificate_verification = no_ocsp
Limitations
-
Seules l'application cliente WorkSpaces Windows version 3.1.1 ou ultérieure, l'application cliente WorkSpaces macOS version 3.1.5 ou ultérieure et l'application client WorkSpaces Ubuntu 22.04 version 2024.1 ou ultérieure sont actuellement prises en charge pour l'authentification par carte à puce. WorkSpaces L'application cliente Ubuntu 20.04 ou antérieure n'est pas prise en charge pour l'authentification par carte à puce.
-
L'application cliente WorkSpaces Windows 3.1.1 ou version ultérieure prend en charge les cartes à puce uniquement lorsque le client est exécuté sur une version 64 bits de Windows.
-
Seuls les annuaires AD Connector sont aujourd'hui pris en charge pour l'authentification par carte à puce.
-
L'authentification en cours de session est disponible dans toutes les régions où le DCV est pris en charge. L'authentification pré-session est disponible dans les régions suivantes :
-
Région Asie-Pacifique (Sydney)
-
Région Asie-Pacifique (Tokyo)
-
Région Europe (Irlande)
-
AWS GovCloud Région (USA Est)
-
AWS GovCloud Région (USA Ouest)
-
Région USA Est (Virginie du Nord)
-
Région USA Ouest (Oregon)
-
-
Pour l'authentification en cours de session et l'authentification de présession sous Linux ou Windows WorkSpaces, une seule carte à puce est actuellement autorisée à la fois. L'utilisation simultanée de plusieurs cartes peut fonctionner, mais elle n'est pas prise en charge.
-
Pour l'authentification pré-session, l'activation de l'authentification par carte à puce et de l'authentification par connexion dans le même annuaire n'est actuellement pas prise en charge.
-
Seules les cartes CAC et PIV sont prises en charge pour le moment. D'autres types de cartes à puce matérielles ou logicielles peuvent également fonctionner, mais leur utilisation avec le DCV n'a pas encore été entièrement testée.
Configuration Active Directory
Pour activer l'authentification par carte à puce, vous devez configurer votre annuaire AD Connector et votre annuaire sur site de la façon suivante.
Configuration de l'annuaire AD Connector
Avant de commencer, assurez-vous que l'annuaire AD Connector a été configuré conformément aux instructions de la page Conditions préalables requises pour AD Connector du Guide d'administration AWS Directory Service . En particulier, assurez-vous d'avoir ouvert les ports nécessaires au niveau du pare-feu.
Pour terminer la configuration de votre répertoire AD Connector, suivez les instructions de la page Activer l'authentification mTLS dans AD Connector pour une utilisation avec des cartes à puce dans le Guide d'administration AWS Directory Service .
Note
L'authentification par carte à puce nécessite une délégation Kerberos contrainte (KCD) pour fonctionner correctement. KCD exige que la partie nom d'utilisateur du compte de service AD Connector corresponde au AMAccount nom s du même utilisateur. Un AMAccount nom ne peut pas dépasser 20 caractères.
Configuration d'annuaire sur site
Outre la configuration de votre répertoire AD Connector :
-
Assurez-vous que l'utilisation étendue des clés (EKU) est définie sur les certificats délivrés aux contrôleurs de domaine pour votre annuaire local. Pour ce faire, utilisez le modèle de certificat d'authentification Kerberos par défaut des services de domaine Active Directory (AD DS). N'utilisez pas de modèle de certificat de contrôleur de domaine ni de modèle de certificat d'authentification de contrôleur de domaine, car ces modèles ne contiennent pas les paramètres nécessaires à l'authentification par carte à puce.
-
Pour Linux WorkSpaces, assurez-vous que l'extension NONCE est activée sur le répondeur OCSP de l'autorité de certification délivrant les certificats de carte à puce. Si elle ne peut pas être activée, la vérification OCSP en session devra être désactivée dans Ubuntu, Rocky Linux et Red Hat Enterprise Linux. WorkSpaces Pour désactiver la vérification OCSP, créez un nouveau fichier
/etc/sssd/conf.d/disable-ocsp.confavec le contenu suivant :[sssd] certificate_verification = no_ocsp
Activer les cartes à puce pour Windows WorkSpaces
Pour obtenir des instructions générales sur la manière d'activer l'authentification par carte à puce dans Windows, consultez Recommandations pour l'activation de l'ouverture de session de carte à puce auprès d'autorités de certification tierces
Pour détecter l'écran de verrouillage Windows et déconnecter la session
Pour permettre aux utilisateurs de déverrouiller WorkSpaces les fenêtres activées pour l'authentification pré-session par carte à puce lorsque l'écran est verrouillé, vous pouvez activer la détection de l'écran de verrouillage Windows dans les sessions des utilisateurs. Lorsque l'écran de verrouillage Windows est détecté, la WorkSpace session est déconnectée et l'utilisateur peut se reconnecter au WorkSpaces client à l'aide de sa carte à puce.
Vous pouvez utiliser les paramètres de stratégie de groupe pour activer la déconnexion de session lorsque l'écran de verrouillage Windows est détecté dans les instances WorkSpaces Windows. Pour plus d'informations, consultez Configurer la session de déconnexion lors du verrouillage de l'écran pour DCV.
Pour activer l'authentification pré-session ou en cours de session
Par défaut, Windows WorkSpaces n'est pas activé pour prendre en charge l'utilisation de cartes à puce pour l'authentification avant ou pendant la session. Si nécessaire, vous pouvez activer l'authentification en session et en présession pour Windows à l'aide des WorkSpaces paramètres de stratégie de groupe. Pour de plus amples informations, veuillez consulter Configurer la redirection par carte à puce pour DCV.
Pour utiliser l'authentification pré-session, outre la mise à jour des paramètres de stratégie de groupe, vous devez également activer l'authentification pré-session via les paramètres de l'annuaire AD Connector. Pour plus d'informations, suivez les instructions de la page Activer l'authentification mTLS dans AD Connector pour une utilisation avec des cartes à puce dans le Guide d'administration AWS Directory Service .
Pour permettre aux utilisateurs d'utiliser des cartes à puce dans un navigateur
Si les utilisateurs se servent de Chrome comme navigateur, aucune configuration particulière n'est requise pour l'emploi des cartes à puce.
S'ils se servent de Firefox comme navigateur, vous pouvez leur permettre d'utiliser des cartes à puce dans Firefox via une stratégie de groupe. Vous pouvez utiliser ces modèles de politique de groupe Firefox
Par exemple, vous pouvez installer la version 64 bits d'OpenSC représente la valeur souhaitée pour identifier PKCS #11 (comme NAME_OF_DEVICEOpenSC), et le chemin d'accès au module PKCS #11. Ce chemin doit pointer vers une bibliothèque avec une extension .DLL, comme PATH_TO_LIBRARY_FOR_DEVICEC:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll.
Software\Policies\Mozilla\Firefox\SecurityDevices\NAME_OF_DEVICE=PATH_TO_LIBRARY_FOR_DEVICE
Astuce
Si vous utilisez OpenSC, vous pouvez également charger le module pkcs11 OpenSC dans Firefox en exécutant le programme pkcs11-register.exe. Pour exécuter ce programme, double-cliquez sur le fichier C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe, ou ouvrez une fenêtre d'invite de commandes et exécutez la commande suivante :
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe"
Pour vérifier que le module pkcs11 OpenSC a été chargé dans Firefox, procédez comme suit :
-
Si Firefox est déjà en cours d'exécution, fermez-le.
-
Ouvrez Firefox. Cliquez sur le bouton de menu
dans l'angle supérieur droit, puis choisissez Paramètres. -
Sur la page about:preferences, dans le volet de navigation de gauche, sélectionnez Vie privée et sécurité.
-
Sous Certificats, choisissez Périphériques de sécurité.
-
Dans la boîte de dialogue Gestionnaire de périphériques, le cadre de cartes à puce OpenSC (0.21) doit être disponible dans le volet de navigation de gauche, et afficher les valeurs suivantes quand vous le sélectionnez :
Module :
OpenSC smartcard framework (0.21)Chemin :
C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll
Résolution des problèmes
Pour plus d'informations sur la résolution des problèmes liés aux cartes à puce, consultez Problèmes de certificat et de configuration
Voici quelques exemples de problèmes courants :
-
Mappage incorrect des emplacements aux certificats
-
Plusieurs certificats sur la carte à puce qui peuvent correspondre à l'utilisateur Les certificats sont mis en correspondance selon les critères suivants :
-
Autorité de certification racine du certificat
-
Champs
<KU>et<EKU>du certificat -
UPN dans l'objet du certificat
-
-
Plusieurs certificats avec
<EKU>msScLogindans l'utilisation de la clé
Pour l'authentification par carte à puce, il est en général préférable de n'avoir qu'un seul certificat, mappé au tout premier emplacement de la carte.
Les outils de gestion des certificats et des clés de carte à puce (comme la suppression ou le remappage des certificats et des clés) peuvent être spécifiques au fabricant. Pour plus d'informations, consultez la documentation du fabricant de la carte à puce.
Activez les cartes à puce pour Ubuntu, Rocky Linux et Red Hat Enterprise Linux WorkSpaces
Pour permettre l'utilisation de cartes à puce sur Ubuntu, Rocky Linux et Red Hat Enterprise Linux WorkSpaces, vous devez inclure le certificat racine et tous les certificats CA intermédiaires dans l' WorkSpace image pour toutes les cartes à puce CAs émettrices et pour toutes les CAs émissions de certificats de contrôleur de domaine.
Pour obtenir votre certificat CA : Vous pouvez obtenir votre certificat CA de plusieurs manières :
-
Vous pouvez utiliser un ensemble de certificats CA provenant d'une autorité de certification tierce.
-
Vous pouvez exporter votre propre certificat CA à l'aide du site Web d'inscription, qui contient
http://soitip_address/certsrvhttp://l'adresse IPfqdn/certsrvet le nom de domaine complet (FQDN) du serveur CA, soit où seip_addresstrouvent. Pour plus d'informations sur l'utilisation du site d'inscription Web, consultez Comment exporter un certificat d'autorité de certification racinefqdndans la documentation Microsoft. -
Vous pouvez utiliser la procédure suivante pour exporter le certificat CA depuis un serveur CA qui exécute les services de certificats Active Directory (AD CS). Pour plus d'informations sur l'installation d'AD CS, consultez Installer l'autorité de certification
dans la documentation Microsoft. -
Connectez-vous au serveur CA à l'aide d'un compte administrateur.
-
Dans le menu Démarrer Windows, ouvrez une fenêtre d'invite de commandes (Démarrer > Système Windows > Invite de commandes).
-
Utilisez la commande suivante pour exporter le certificat CA vers un nouveau fichier, où
figure le nom du nouveau fichier :rootca.cercertutil -ca.certrootca.cerPour plus d'informations sur l'exécution de certutil, consultez la page certutil
dans la documentation Microsoft. -
Utilisez la commande OpenSSL suivante pour convertir le certificat CA exporté du format DER au format PEM,
rootcaoù est le nom du certificat. Pour plus d'informations sur OpenSSL, consultez le site http://www.openssl.org/. openssl x509 -inform der -inrootca.cer -out /tmp/rootca.pem
-
Pour ajouter vos certificats CA à votre système Linux WorkSpaces
Pour vous aider à activer les cartes à puce, nous avons ajouté le enable_smartcard script à nos packs Linux WorkSpaces DCV. Ce script effectue les actions suivantes :
-
Importe vos certificats CA dans un bundle PEM privé qui définit la racine de confiance pour SSSD (sous Linux WorkSpaces).
-
Met à jour la configuration SSSD, PAM et Kerberos, qui inclut l'activation
PKINIT(authentification Kerberos à l'aide d'un certificat au lieu d'un mot de passe) lors du provisionnement. WorkSpace
La procédure suivante explique comment utiliser le enable_smartcard script pour importer vos certificats CA et activer l'authentification par carte à puce pour votre système Linux WorkSpaces.
-
Créez un nouveau Linux WorkSpace avec le protocole DCV activé. Lorsque vous lancez le WorkSpace dans la WorkSpaces console Amazon, sur la page Select Bundles, assurez-vous de sélectionner DCV pour le protocole, puis sélectionnez l'un des bundles WorkSpaces publics Linux.
-
Sur le
/etc/skylight.conffichier nouvellement créé WorkSpace, assurez-vous qu'il y a unepam_smartcard = trueligne dans[features]la section :[features] pam_smartcard = trueNote
Si tous vos utilisateurs ne sont pas encore configurés pour utiliser
altSecurityIdentitiesun mappage de certificats renforcé, vous pouvez également ajouter unesmartcard_weak_mapping = trueligne dans la même[features]section/etc/skylight.confpour prendre en charge les anciennes méthodes de mappage, mais nous vous recommandons de migrer ces utilisateurs pour utiliser des méthodes de mappage robustes dès que possible. -
Sur le WorkSpace, exécutez la commande suivante en tant qu'utilisateur root
, où se trouventpem-path1, etc., les chemins d'accès aux fichiers, chacun contenant l'un des certificats CA de la chaîne de confiance pour les certificats de carte à puce et de contrôleur de domaine. Tous ces fichiers doivent être au format PEM et contenir un certificat par fichier. Des modèles globulaires peuvent être utilisés (par exemple,pem-path2*.pem)/usr/lib/skylight/enable_smartcard --ca-certpem-path1pem-path2pem-path3...Note
Assurez-vous que des packages de dépendance supplémentaires sont installés sur le WorkSpace avant d'exécuter la commande ci-dessus, en utilisant les commandes suivantes en tant qu'utilisateur root.
Pour Rocky Linux et Red Hat Enterprise Linux WorkSpaces :
dnf install sssd-dbus libsss_simpleifp sssd-tools krb5-pkinit openscPour Ubuntu WorkSpaces :
apt install krb5-pkinit opensc -
Effectuez toute personnalisation supplémentaire sur le WorkSpace. Par exemple, vous souhaiterez peut-être ajouter une politique à l'échelle du système pour permettre aux utilisateurs d'utiliser des cartes à puce dans Firefox. (Les utilisateurs de Chrome doivent activer eux-mêmes les cartes à puce sur leurs clients. Pour plus d'informations, consultez la section Support des cartes à puce dans le guide de WorkSpaces l'utilisateur Amazon.)
-
Créez une WorkSpace image personnalisée et un bundle à partir du WorkSpace.
-
Utilisez le nouveau pack personnalisé WorkSpaces pour le lancer pour vos utilisateurs.
Vous pouvez autoriser vos utilisateurs à utiliser des cartes à puce dans Firefox en ajoutant une SecurityDevices politique à votre WorkSpace image Linux. Pour plus d'informations sur l'ajout de politiques à l'échelle du système à Firefox, consultez les modèles de politiques de Mozilla
Pour permettre aux utilisateurs d'utiliser des cartes à puce dans Firefox
-
Sur le fichier WorkSpace que vous utilisez pour créer votre WorkSpace image, créez un nouveau fichier nommé
policies.jsonin, qui sePREFIX/firefox/distribution/trouvePREFIX/usr/lib64sur les systèmes basés sur Fedora (Amazon Linux 2, Red Hat Enterprise Linux et Rocky Linux WorkSpaces) et sur les systèmes basés/usr/libsur Debian (Ubuntu). WorkSpaces -
Dans le fichier JSON, ajoutez la SecurityDevices politique suivante, où se
trouve la valeur que vous souhaitez utiliser pour identifier leNAME_OF_DEVICEpkcsmodule. Par exemple, il se peut que vous souhaitiez utiliser une valeur comme"OpenSC":{ "policies": { "SecurityDevices": { "NAME_OF_DEVICE": "PREFIX/opensc-pkcs11.so" } } }
Résolution des problèmes
Le dépannage de l'authentification par carte à puce est facilité lorsque la pré-session est configurée pour utiliser l'authentification par mot de passe. Pendant le provisionnement des sessions, Linux fait WorkSpaces automatiquement passer le mode d'authentification sur l'hôte à un mode basé sur un mot de passe ou à un mode basé sur une carte à puce en fonction de la méthode d'authentification de présession utilisée. En cas de problème d'authentification par carte à puce, la déconnexion et la reconnexion à l'aide de l'authentification de présession par mot de passe réinitialisent l'espace de travail à l'authentification par mot de passe sur l'hôte. Pour passer manuellement de l' WorkSpaces instance Linux à l'authentification par carte à puce, exécutez /usr/lib/skylight/resume_smartcard la commande en tant qu'utilisateur root.
Linux WorkSpaces utilise le logiciel OpenSC pour travailler avec des cartes à puce. Ce logiciel est livré avec des outils tels que pkcs11-tool et pkcs15-tool qui peuvent être utiles pour résoudre les problèmes liés aux cartes à puce. Ces outils peuvent être utilisés pour inspecter les lecteurs de cartes à puce, les jetons individuels et les emplacements ou certificats PIV sur chaque jeton de carte à puce.
Un outil de openssl ligne de commande peut être utile pour résoudre les problèmes liés aux chaînes de confiance, aux répondeurs OCSP ou aux indicateurs manquants KUs/EKUs (utilisation des usage/extended clés), en particulier lorsqu'ils sont associés pkcs15-tool à la capacité d'extraire des certificats publics d'une carte à puce.
Options de dépannage courantes :
-
Extrayez le premier certificat (généralement le slot PIV 9A) de la carte à puce et enregistrez-le sous le nom suivant :
card-cert.pempkcs15-tool --read-certificate 1 >card-cert.pem -
Validez le certificat extrait par rapport à la base de données de confiance sur WorkSpace :
openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -certcard-cert.pem -
Obtenez l'URL OCSP à partir du certificat de carte à puce extrait :
openssl x509 -noout -ocsp_uri -incard-cert.pem -
Vérifiez que la réponse OCSP indique que le certificat est valide et inclut NONCE :
openssl ocsp -issuer /etc/sssd/pki/sssd_auth_ca_db.pem -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -cert, où secard-cert.pem-text -urlOCSP_URIOCSP_URItrouve l'URL OCSP ci-dessus. -
Vérifiez si le certificat du contrôleur de domaine est considéré comme fiable :
openssl s_client -connect, oùDC_HOSTNAME:636 -showcerts | openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pemDC_HOSTNAMEest le nom d'hôte de l'un des contrôleurs de domaine de votre domaine Active Directory. -
Vérifiez que le certificat du contrôleur de domaine a défini l'EKU d'authentification KDC (utilisation étendue des clés) :.
openssl s_client -connectDC_HOSTNAME:636 -showcerts | openssl x509 -noout -text -
Essayez le PKINIT manuel pour voir s'il existe des codes d'erreur susceptibles d'être utilisés pour affiner le problème :
KRB5_TRACE=/dev/stdout kinit -X X509_user_identity=PKCS11:opensc-pkcs11.so:certid=où01-V01est le numéro de l'un des quatre emplacements PIV principaux de la carte :01pour9A,02pour, etc.9CLa plupart des cartes comportent un certificat destiné à l'authentification de l'utilisateur dans l'emplacement 9A. -
Vérifiez si le système est capable de mapper le certificat de carte à puce à un utilisateur AD (exécuter en tant que root) :
dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe/Users org.freedesktop.sssd.infopipe.Users.FindByCertificate string:"$(<. Cela peut être combiné avec l'activation de la journalisation du débogage pour SSSD.card-cert.pem)"
Les problèmes connus les plus courants sont les suivants :
-
Chaîne de confiance incomplète pour le certificat de carte à puce : lors de l'importation de certificats à l'aide d'un
enable_smartcardscript, la liste complète de tous les certificats d'autorité de certification racine et intermédiaire doit être fournie. L'enable_smartcardoutil affiche une erreur si tous les certificats importés ne sont pas fiables parce qu'ils ne figurent pas dans la liste des certificats d'autorité de certification racine, mais il ne peut pas détecter l'absence d'une chaîne de confiance complète ou du certificat d'autorité de certification intermédiaire le plus interne de l'une des chaînes de confiance. Dans ce cas, il importera les certificats sans erreur, mais un certificat de carte à puce ou un certificat de contrôleur de domaine peuvent toujours être considérés comme non fiables. -
Chaîne de confiance manquante pour les certificats de contrôleur de domaine : si les certificats de contrôleur de domaine sont émis par une autorité de certification différente de celle des cartes à puce (par exemple, dans le cas d'une carte d'accès commune (CAC)
), cette chaîne de confiance doit être importée avec la carte à puce émettrice des certificats d'autorité de certification. -
Absence de prise en charge de l'extension NONCE dans le répondeur OCSP - Linux WorkSpaces exige que l'extension NONCE soit activée sur le répondeur OCSP de l'émetteur de la carte à puce. Si elle ne peut pas être activée, la validation OCSP devra être complètement désactivée.
-
Les certificats de contrôleur de domaine sont absents (OID 1.3.6.1.5.2.3.1). Pour que l'authentification par carte à puce fonctionne, les certificats de contrôleur de domaine doivent être réémis pour inclure l'
KDC AuthenticationEKU d'authentification KDC. -
Les certificats de contrôleur de domaine ont expiré. Pour que l'authentification par carte à puce fonctionne, les certificats de contrôleur de domaine doivent être conservés up-to-date.
-
Les certificats de carte à puce sont mappés aux utilisateurs dans AD à l'aide de méthodes de mappage faibles. Traditionnellement, le champ UPN dans subjectAltName l'attribut était utilisé pour mapper un certificat à un utilisateur dans AD, étant censé correspondre userPrincipalName à l'attribut. Cette méthode n'est plus considérée comme une méthode de mappage sécurisée et est interdite par défaut. Il est possible de le réactiver en passant un
--allow-weak-mappingargument à laenable_smartcardcommande et en ajoutant unesmartcard_weak_mapping = trueligne à la[features]section du/etc/skylight.conffichier, mais une meilleure solution consiste à utiliser l'une des méthodes de mappage les plus puissantes. Consultez la documentation relative à l'association de comptespour plus de détails.
Les outils de gestion des certificats et des clés de carte à puce (comme la suppression ou le remappage des certificats et des clés) peuvent être spécifiques au fabricant. Voici des outils supplémentaires que vous pouvez utiliser pour travailler avec des cartes à puce :
-
opensc-explorer -
opensc-tool -
pkcs11_inspect -
pkcs11_listcerts -
pkcs15-tool
Pour activer la journalisation du débogage
-
Ajoutez une
debug_level =ligneLEVEL/etc/sssd/sssd.confpour chaque section individuelle, où seLEVELsitue le niveau de verbosité souhaité, de 1 à 10. Les journaux de chaque section correspondante peuvent ensuite être trouvés dans le/var/log/sssd/répertoire. Consultez la documentation SSSD iciet ici pour plus de détails.
Activer les cartes à puce pour Amazon Linux 2 WorkSpaces
Note
Amazon Linux 2 WorkSpaces sur DCV présente actuellement les limites suivantes :
-
La redirection du presse-papiers, d'entrée audio, d'entrée vidéo et de fuseau horaire n'est pas prise en charge.
-
L'utilisation de plusieurs moniteurs n'est pas prise en charge.
Pour permettre l'utilisation de cartes à puce sur Amazon Linux 2 WorkSpaces, vous devez inclure un fichier de certificat CA racine au format PEM dans l' WorkSpace image.
Pour obtenir votre certificat d'autorité de certification racine : vous pouvez obtenir votre certificat d'autorité de certification racine de plusieurs manières :
-
Vous pouvez utiliser un certificat de CA racine géré par une autorité de certification tierce.
-
Vous pouvez exporter votre propre certificat de CA racine via le site Web d'inscription, qui est
http://ouip_address/certsrvhttp://, oùfqdn/certsrvetip_addressreprésentent l'adresse IP et le nom de domaine complet (FQDN) du serveur de certification de la CA racine. Pour plus d'informations sur l'utilisation du site d'inscription Web, consultez Comment exporter un certificat d'autorité de certification racinefqdndans la documentation Microsoft. -
Vous pouvez utiliser la procédure suivante pour exporter le certificat de CA racine depuis un serveur de certification de CA racine qui exécute les services de certificats Active Directory (AD CS). Pour plus d'informations sur l'installation d'AD CS, consultez Installer l'autorité de certification
dans la documentation Microsoft. -
Connectez-vous au serveur de CA racine via un compte administrateur.
-
Dans le menu Démarrer Windows, ouvrez une fenêtre d'invite de commandes (Démarrer > Système Windows > Invite de commandes).
-
Utilisez la commande suivante pour exporter le certificat de CA racine vers un nouveau fichier, où
est le nom du nouveau fichier :rootca.cercertutil -ca.certrootca.cerPour plus d'informations sur l'exécution de certutil, consultez la page certutil
dans la documentation Microsoft. -
Utilisez la commande OpenSSL suivante pour convertir le certificat CA racine exporté du format DER au format PEM,
rootcaoù est le nom du certificat. Pour plus d'informations sur OpenSSL, consultez le site http://www.openssl.org/. openssl x509 -inform der -inrootca.cer -out /tmp/rootca.pem
-
Pour ajouter votre certificat CA racine à votre Amazon Linux 2 WorkSpaces
Pour vous aider à activer les cartes à puce, nous avons ajouté le enable_smartcard script à nos offres Amazon Linux DCV. Ce script effectue les actions suivantes :
-
Importation du certificat CA racine dans la base de données des services de sécurité réseau (NSS)
. -
Installation du module
pam_pkcs11pour l'authentification PAM (Pluggable Authentication Module). -
Exécute une configuration par défaut, qui inclut l'activation
pkinitlors du WorkSpace provisionnement.
La procédure suivante explique comment utiliser le enable_smartcard script pour ajouter votre certificat CA racine à votre Amazon Linux 2 WorkSpaces et pour activer les cartes à puce pour votre Amazon Linux 2 WorkSpaces.
-
Créez un nouvel Amazon Linux 2 WorkSpace avec le protocole DCV activé. Lorsque vous lancez le WorkSpace dans la WorkSpaces console Amazon, sur la page Select Bundles, assurez-vous de sélectionner DCV pour le protocole, puis sélectionnez l'un des bundles publics Amazon Linux 2.
-
Sur le nouveau WorkSpace, exécutez la commande suivante en tant qu'utilisateur root, où se
trouve le chemin d'accès au fichier de certificat de l'autorité de certification racine au format PEM.pem-path/usr/lib/skylight/enable_smartcard --ca-certpem-pathNote
Amazon Linux 2 part du WorkSpaces principe que les certificats figurant sur les cartes à puce sont émis pour le nom d'utilisateur principal (UPN) par défaut de l'utilisateur, par exemple
, où sesAMAccountName@domaintrouve un nom de domaine complet (FQDN).domainPour utiliser d'autres suffixes UPN,
run /usr/lib/skylight/enable_smartcard --helppour plus d'informations. Le mappage d'autres suffixes UPN est propre à chaque utilisateur. Par conséquent, ce mappage doit être effectué individuellement sur celui de chaque utilisateur WorkSpace. -
(Facultatif) Par défaut, tous les services sont activés pour utiliser l'authentification par carte à puce sur Amazon Linux 2 WorkSpaces. Pour limiter l'authentification par carte à puce uniquement à des services spécifiques, vous devez modifier
/etc/pam.d/system-auth. Supprimer la mise en commentaire de la ligneauthpourpam_succeed_if.so, et modifiez la liste des services selon les besoins.Une fois la mise en commentaire supprimée pour la ligne
auth, vous devez ajouter à la liste le service pour lequel vous souhaitez autoriser l'authentification par carte à puce. Pour qu'un service utilise uniquement l'authentification par mot de passe, vous devez le supprimer de la liste. -
Procédez à toute personnalisation supplémentaire du WorkSpace. Par exemple, vous souhaiterez peut-être ajouter une politique à l'échelle du système pour permettre aux utilisateurs d'utiliser des cartes à puce dans Firefox. (Les utilisateurs de Chrome doivent activer eux-mêmes les cartes à puce sur leurs clients. Pour plus d'informations, consultez la section Support des cartes à puce dans le guide de WorkSpaces l'utilisateur Amazon.)
-
Créez une WorkSpace image personnalisée et un bundle à partir du WorkSpace.
-
Utilisez le nouveau pack personnalisé WorkSpaces pour le lancer pour vos utilisateurs.
Vous pouvez autoriser vos utilisateurs à utiliser des cartes à puce dans Firefox en ajoutant une SecurityDevices politique à votre WorkSpace image Amazon Linux 2. Pour plus d'informations sur l'ajout de politiques à l'échelle du système à Firefox, consultez les modèles de politiques de Mozilla
Pour permettre aux utilisateurs d'utiliser des cartes à puce dans Firefox
-
Sur le fichier WorkSpace que vous utilisez pour créer votre WorkSpace image, créez un nouveau fichier nommé
policies.jsondans/usr/lib64/firefox/distribution/. -
Dans le fichier JSON, ajoutez la SecurityDevices politique suivante, où se
trouve la valeur que vous souhaitez utiliser pour identifier leNAME_OF_DEVICEpkcsmodule. Par exemple, il se peut que vous souhaitiez utiliser une valeur comme"OpenSC":{ "policies": { "SecurityDevices": { "NAME_OF_DEVICE": "/usr/lib64/opensc-pkcs11.so" } } }
Résolution des problèmes : pour résoudre les problèmes, nous vous recommandons d'ajouter l'pkcs11-toolsutilitaire. Il vous permet d'effectuer les actions suivantes :
-
Répertorier chaque carte à puce
-
Répertorier les emplacements de chaque carte à puce
-
Répertorier les certificats sur chaque carte à puce
Voici quelques exemples de problèmes courants :
-
Mappage incorrect des emplacements aux certificats
-
Plusieurs certificats sur la carte à puce qui peuvent correspondre à l'utilisateur Les certificats sont mis en correspondance selon les critères suivants :
-
Autorité de certification racine du certificat
-
Champs
<KU>et<EKU>du certificat -
UPN dans l'objet du certificat
-
-
Plusieurs certificats avec
<EKU>msScLogindans l'utilisation de la clé
Pour l'authentification par carte à puce, il est en général préférable de n'avoir qu'un seul certificat, mappé au tout premier emplacement de la carte.
Les outils de gestion des certificats et des clés de carte à puce (comme la suppression ou le remappage des certificats et des clés) peuvent être spécifiques au fabricant. Voici des outils supplémentaires que vous pouvez utiliser pour travailler avec des cartes à puce :
-
opensc-explorer -
opensc-tool -
pkcs11_inspect -
pkcs11_listcerts -
pkcs15-tool
Pour activer la journalisation du débogage
Pour résoudre les problèmes liés à la configuration de pam_pkcs11 et pam-krb5, vous pouvez activer la journalisation du débogage.
-
Dans le fichier
/etc/pam.d/system-auth-ac, modifiez l'actionauthet faites passer le paramètrenodebugdepam_pksc11.soàdebug. -
Dans le fichier
/etc/pam_pkcs11/pam_pkcs11.conf, remplacezdebug = false;pardebug = true;. L'optiondebugs'applique séparément à chaque module de mappeur, vous devrez donc peut-être la modifier à la fois sous la sectionpam_pkcs11directement, et aussi sous la section de mappeur appropriée (par défaut, ceci estmapper generic). -
Dans le fichier
/etc/pam.d/system-auth-ac, modifiez l'actionauthet ajoutez le paramètredebugoudebug_sensitiveàpam_krb5.so.
Une fois que vous avez activé la journalisation du débogage, le système imprime les messages de débogage pam_pkcs11 directement dans le terminal actif. Les messages de pam_krb5 sont consignés dans /var/log/secure.
Pour vérifier à quel nom d'utilisateur correspond un certificat de carte à puce, utilisez la commande pklogin_finder suivante :
sudo pklogin_finder debug config_file=/etc/pam_pkcs11/pam_pkcs11.conf
Lorsque vous y êtes invité, saisissez le code PIN de la carte à puce. pklogin_finder sort sur stdout le nom d'utilisateur figurant sur le certificat de carte à puce sous la forme . Ce nom d'utilisateur doit correspondre au WorkSpace nom d'utilisateur.NETBIOS\username
Dans les services de domaine Active Directory (AD DS), le nom de domaine NetBIOS est le nom de domaine antérieur à Windows 2000. Généralement (mais pas toujours), le nom de domaine NetBIOS est le sous-domaine du nom de domaine DNS (Domain Name System). Par exemple, si le nom de domaine DNS est example.com, le domaine NetBIOS est généralement EXAMPLE. Si le nom de domaine DNS est corp.example.com, le domaine NetBIOS est généralement CORP.
Par exemple, pour l'utilisateur mmajor du domaine corp.example.com, le résultat de pklogin_finder est CORP\mmajor.
Note
Si vous recevez le message "ERROR:pam_pkcs11.c:504: verify_certificate()
failed", ceci indique que pam_pkcs11 a trouvé sur la carte à puce un certificat qui correspond aux critères du nom d'utilisateur, mais qui n'est pas lié à un certificat de CA racine reconnu par la machine. Lorsque cela se produit, pam_pkcs11 génère le message ci-dessus, puis essaie le certificat suivant. L'authentification n'est autorisée que si un certificat correspondant au nom d'utilisateur et lié à un certificat de CA racine reconnue est trouvé.
Pour résoudre les problèmes de configuration pam_krb5, vous pouvez invoquer manuellement kinit en mode débogage à l'aide de la commande suivante :
KRB5_TRACE=/dev/stdout kinit -V
Cette commande devrait réussir à obtenir un ticket d'octroi de tickets (TGT) Kerberos. En cas d'échec, essayez d'ajouter explicitement le nom principal Kerberos approprié à la commande. Par exemple, pour l'utilisateur mmajor du domaine corp.example.com, utilisez cette commande :
KRB5_TRACE=/dev/stdout kinit -V mmajor
Si cette commande aboutit, le problème provient probablement du mappage entre le WorkSpace nom d'utilisateur et le nom principal Kerberos. Consultez la section [appdefaults]/pam/mappings du fichier /etc/krb5.conf.
Si cette commande échoue, mais qu'une commande kinit basée sur un mot de passe réussit, vérifiez les configurations associées à pkinit_ dans le fichier /etc/krb5.conf. Par exemple, si la carte à puce contient plusieurs certificats, vous devrez peut-être modifier pkinit_cert_match.