Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Smartcards für die Authentifizierung in WorkSpaces Personal verwenden
Windows- und WorkSpaces Linux-on-DCV-Pakete ermöglichen die Verwendung von Common Access Card (CAC)
Amazon WorkSpaces unterstützt die Verwendung von Smartcards sowohl für die Authentifizierung vor der Sitzung als auch für die Authentifizierung während der Sitzung. Pre-session Authentifizierung bezieht sich auf die Smartcard-Authentifizierung, die durchgeführt wird, während sich Benutzer bei ihrem Konto anmelden. WorkSpaces In-session Authentifizierung bezieht sich auf die Authentifizierung, die nach der Anmeldung durchgeführt wird.
Beispielsweise können Sie Smartcards für die Authentifizierung während der Sitzung verwenden, während Sie mit Webbrowsern und Anwendungen arbeiten. Sie können Smartcards auch für Aktionen verwenden, für die Administratorberechtigungen erforderlich sind. Wenn der Benutzer beispielsweise Administratorrechte auf seinem Linux hat, kann er Smartcards verwenden WorkSpace, um sich bei der Ausführung sudo von sudo -i Befehlen zu authentifizieren.
Inhalt
Voraussetzungen
-
Für die Authentifizierung vor der Sitzung ist ein Active-Directory-Connector-(AD-Connector)-Verzeichnis erforderlich. AD Connector verwendet die zertifikatbasierte gegenseitige Transport-Layer-Security-Authentifizierung (mutual TLS), um Benutzer mit hardware- oder softwarebasierten Smartcard-Zertifikaten bei Active Directory zu authentifizieren. Weitere Informationen zum Konfigurieren Ihres AD Connector und Ihres On-Premises-Verzeichnisses finden Sie unter Verzeichniskonfiguration.
-
Um eine Smartcard unter Windows oder Linux zu verwenden WorkSpace, muss der Benutzer die Amazon WorkSpaces Windows-Client-Version 3.1.1 oder höher, die WorkSpaces macOS-Client-Version 3.1.5 oder höher oder die WorkSpaces Ubuntu 22.04-Client-Version 2024.1 oder höher verwenden (die Smartcard-Authentifizierung wird mit dem Ubuntu 20.04-Client nicht unterstützt). WorkSpaces Weitere Informationen zur Verwendung von Smartcards mit den Windows- und macOS-Clients finden Sie unter Smartcard-Unterstützung im Amazon-Benutzerhandbuch. WorkSpaces
-
Die Stammzertifizierungsstelle und die Smartcard-Zertifikate müssen bestimmte Anforderungen erfüllen. Weitere Informationen finden Sie unter Aktivieren der mTLS-Authentifizierung in AD Connector für die Verwendung mit Smartcards im AWS Directory Service -Administratorhandbuch und unter Zertifikatanforderungen
in der Microsoft-Dokumentation. Zusätzlich zu diesen Anforderungen WorkSpaces müssen Benutzerzertifikate, die für die Smartcard-Authentifizierung bei Amazon verwendet werden, die folgenden Attribute enthalten:
-
Der Benutzer des AD-Benutzers PrincipalName (UPN) im Betrefffeld AltName (SAN) des Zertifikats. Es wird empfohlen, Smartcard-Zertifikate für den Standard-UPN des/der Benutzer:in auszustellen.
Anmerkung
Amazon Linux 2 verwendet UPN WorkSpaces für die Zuordnung von Zertifikaten zu Benutzern. Neuere WorkSpaces Linux-Systeme wie Ubuntu, Rocky Linux und Red Hat Enterprise Linux unterstützen sicherere WorkSpaces Zuordnungsmethoden. https://www.idmanagement.gov/implement/scl-windows/#step-4---account-linking
-
Das EKU-Attribut (Extended Key Usage) für die Client-Authentifizierung (1.3.6.1.5.5.7.3.2).
-
Das EKU-Attribut für Smartcard-Anmeldung (1.3.6.1.4.1.311.20.2.2).
-
-
Für die Authentifizierung vor der Sitzung ist das Online Certificate Status Protocol (OCSP) zur Überprüfung des Zertifikats erforderlich. Für die Authentifizierung während der Sitzung wird OCSP empfohlen, ist jedoch nicht erforderlich.
Anmerkung
Ubuntu WorkSpaces, Rocky Linux WorkSpaces und Red Hat Enterprise Linux WorkSpaces benötigen standardmäßig OCSP für die sitzungsinterne Authentifizierung. Für die OCSP-Überprüfung in diesen Systemen muss der OCSP-Responder die NONCE-Erweiterung aktiviert haben, um Wiederholungsangriffe zu verhindern. Um die NONCE-Erweiterung zu deaktivieren, muss die OCSP-Überprüfung während der Sitzung vollständig deaktiviert werden. Um die OCSP-Überprüfung in Ubuntu, Rocky Linux und Red Hat Enterprise Linux zu deaktivieren WorkSpaces, erstellen Sie eine neue Datei
/etc/sssd/conf.d/disable-ocsp.confmit dem folgenden Inhalt:[sssd] certificate_verification = no_ocsp
Einschränkungen
-
Derzeit werden nur die WorkSpaces Windows-Client-Anwendung, Version 3.1.1 oder höher, die WorkSpaces macOS-Client-Anwendung, Version 3.1.5 oder höher, und die WorkSpaces Ubuntu 22.04-Client-Anwendung, Version 2024.1 oder höher, für die Smartcard-Authentifizierung unterstützt. WorkSpaces Die Clientanwendung Ubuntu 20.04 oder früher wird für die Smartcard-Authentifizierung nicht unterstützt.
-
Die WorkSpaces Windows-Clientanwendung 3.1.1 oder höher unterstützt Smartcards nur, wenn der Client auf einer 64-Bit-Version von Windows ausgeführt wird.
-
Derzeit werden nur AD-Connector-Verzeichnisse für die Smartcard-Authentifizierung unterstützt.
-
In-session Die Authentifizierung ist in allen Regionen verfügbar, in denen DCV unterstützt wird. Pre-session Die Authentifizierung ist in den folgenden Regionen verfügbar:
-
Region Asien-Pazifik (Sydney)
-
Region Asien-Pazifik (Tokio)
-
Region Europa (Irland)
-
AWS GovCloud (US-East) Region
-
AWS GovCloud (US-West) Region
-
Region USA Ost (Nord-Virginia)
-
Region USA West (Oregon)
-
-
Für die Authentifizierung während der Sitzung und die Authentifizierung vor der Sitzung unter Linux oder Windows WorkSpaces ist derzeit nur eine Smartcard gleichzeitig zulässig. Die gleichzeitige Verwendung mehrerer Karten kann funktionieren, wird aber nicht unterstützt.
-
Für die Authentifizierung vor der Sitzung wird die Aktivierung sowohl der Smartcard-Authentifizierung als auch der Anmeldeauthentifizierung im selben Verzeichnis derzeit nicht unterstützt.
-
Derzeit werden nur CAC- und PIV-Karten unterstützt. Andere Arten von hardware- oder softwarebasierten Smartcards funktionieren möglicherweise ebenfalls, sie wurden jedoch nicht vollständig für die Verwendung mit DCV getestet.
Verzeichniskonfiguration
Zur Aktivierung der Smartcard-Authentifizierung müssen Sie Ihr AD-Connector-Verzeichnis und Ihr On-Premises-Verzeichnis wie folgt konfigurieren.
Verzeichniskonfiguration für AD Connector
Bevor Sie beginnen, stellen Sie sicher, dass Ihr AD-Connector-Verzeichnis wie unter AD-Connector-Voraussetzungen im AWS Directory Service -Administratorhandbuch beschrieben eingerichtet wurde. Stellen Sie insbesondere sicher, dass Sie die erforderlichen Ports in Ihrer Firewall geöffnet haben.
Zum Abschließen der Konfiguration Ihres AD-Connector-Verzeichnisses folgen Sie den Anweisungen unter Aktivieren der mTLS-Authentifizierung in AD Connector für die Verwendung mit Smartcards im AWS Directory Service -Administratorhandbuch.
Anmerkung
Die Smartcard-Authentifizierung setzt voraus, dass Kerberos Constrained Delegation (KCD) ordnungsgemäß funktioniert. Bei KCD muss der Benutzernamenbereich des AD Connector-Dienstkontos mit den Angaben AMAccountName desselben Benutzers übereinstimmen. Ein s AMAccountName darf 20 Zeichen nicht überschreiten.
On-premises Konfiguration des Verzeichnisses
Zusätzlich zur Konfiguration Ihres AD Connector-Verzeichnisses:
-
Stellen Sie sicher, dass für die Zertifikate, die an die Domänencontroller für Ihr lokales Verzeichnis ausgestellt werden, die erweiterte Schlüsselverwendung (EKU) für die „KDC-Authentifizierung“ festgelegt ist. Verwenden Sie dazu die standardmäßige Kerberos-Authentifizierungszertifikatsvorlage für Active Directory Domain Services (AD DS). Verwenden Sie keine Vorlage für ein Domain-Controller-Zertifikat oder eine Zertifikatsvorlage für die Domain-Controller-Authentifizierung, da diese Vorlagen nicht die erforderlichen Einstellungen für die Smartcard-Authentifizierung enthalten.
-
Stellen Sie für Linux sicher WorkSpaces, dass für den OCSP-Responder für die CA, die Smartcard-Zertifikate ausstellt, die Erweiterung NONCE aktiviert ist. Wenn sie nicht aktiviert werden kann, muss die OCSP-Überprüfung während der Sitzung in Ubuntu, Rocky Linux und Red Hat Enterprise Linux deaktiviert werden. WorkSpaces Um die OCSP-Überprüfung zu deaktivieren, erstellen Sie eine neue Datei
/etc/sssd/conf.d/disable-ocsp.confmit dem folgenden Inhalt:[sssd] certificate_verification = no_ocsp
Aktivieren Sie Smartcards für Windows WorkSpaces
Allgemeine Hinweise zur Aktivierung der Smartcard-Authentifizierung unter Windows finden Sie in der Microsoft-Dokumentation unter Richtlinien für die Aktivierung der Smartcard-Anmeldung bei Zertifizierungsstellen von Drittanbietern
So erkennen Sie den Windows-Sperrbildschirm und trennen die Sitzung
Damit Benutzer Windows entsperren können, für WorkSpaces die die Smartcard-Authentifizierung vor der Sitzung aktiviert ist, wenn der Bildschirm gesperrt ist, können Sie die Windows-Sperrbildschirmerkennung in Benutzersitzungen aktivieren. Wenn der Windows-Sperrbildschirm erkannt wird, wird die WorkSpace Sitzung getrennt, und der Benutzer kann mithilfe seiner Smartcard vom WorkSpaces Client aus erneut eine Verbindung herstellen.
Sie können mithilfe der Gruppenrichtlinieneinstellungen das Trennen der Sitzung aktivieren, wenn der Windows-Sperrbildschirm für Windows-WorkSpaces erkannt wird. Weitere Informationen finden Sie unter Konfigurieren Sie die Sitzungsunterbrechung bei Bildschirmsperre für DCV.
So aktivieren Sie die Authentifizierung während der Sitzung oder vor der Sitzung
Standardmäßig unterstützt Windows WorkSpaces die Verwendung von Smartcards für die Authentifizierung vor oder während der Sitzung nicht. Bei Bedarf können Sie die Authentifizierung während der Sitzung und vor der Sitzung für Windows WorkSpaces mithilfe der Gruppenrichtlinieneinstellungen aktivieren. Weitere Informationen finden Sie unter Konfigurieren Sie die Smartcard-Umleitung für DCV.
Zur Authentifizierung vor der Sitzung müssen Sie nicht nur die Gruppenrichtlinieneinstellungen aktualisieren, sondern auch die Authentifizierung vor der Sitzung über Ihre AD-Connector-Verzeichniseinstellungen aktivieren. Weitere Informationen finden Sie in den Anweisungen unter Aktivieren der mTLS-Authentifizierung in AD Connector für die Verwendung mit Smartcards im AWS Directory Service -Administratorhandbuch.
So ermöglichen Sie die Verwendung von Smartcards in einem Browser
Wenn Ihre Benutzer Chrome als Browser verwenden, ist für die Verwendung von Smartcards keine spezielle Konfiguration erforderlich.
Wenn Ihre Benutzer Firefox als Browser verwenden, können Sie Ihren Benutzern mithilfe von Gruppenrichtlinien die Verwendung von Smartcards in Firefox ermöglichen. Sie können diese Firefox-Gruppenrichtlinien-Vorlagen
Sie können beispielsweise die 64-Bit-Version von OpenSC der Wert ist, den Sie zur Identifizierung von PKCS #11 verwenden möchten (z. B. NAME_OF_DEVICEOpenSC), und der Pfad zum PKCS-#11-Modul ist. Dieser Pfad sollte auf eine Bibliothek mit der Erweiterung .DLL verweisen (z. B. 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
Tipp
Wenn Sie OpenSC verwenden, können Sie das OpenSC-Modul pkcs11 auch in Firefox laden, indem Sie das Programm pkcs11-register.exe ausführen. Zur Ausführung dieses Programms klicken Sie entweder doppelt auf die Datei unter C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe oder öffnen Sie ein Befehlszeilenfenster und führen Sie den folgenden Befehl aus:
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs11-register.exe"
Gehen Sie wie folgt vor, um zu überprüfen, ob das OpenSC-Modul pkcs11 in Firefox geladen wurde:
-
Wenn Firefox bereits läuft, schließen Sie es.
-
Öffnen Sie Firefox. Wählen Sie die Menüschaltfläche
in der oberen rechten Ecke und dann Optionen aus. -
Wählen Sie auf der Seite about:preferences im linken Navigationsbereich die Option Datenschutz & Sicherheit aus.
-
Wählen Sie unter Zertifikate die Option Sicherheitsgeräte aus.
-
Im Dialogfeld Geräte-Manager sollte im linken Navigationsbereich das OpenSC-Smartcard-Framework (0.21) angezeigt werden und es sollte die folgenden Werte haben, wenn Sie es auswählen:
Modul:
OpenSC smartcard framework (0.21)Pfad:
C:\Program Files\OpenSC Project\OpenSC\pkcs11\onepin-opensc-pkcs11.dll
Fehlerbehebung
Informationen zur Problembehandlung bei Smartcards finden Sie in der Microsoft-Dokumentation unter Zertifikat- und Konfigurationsprobleme
Einige häufig auftretende Probleme, die zu Problemen führen können:
-
Falsche Zuordnung der Slots zu den Zertifikaten.
-
Es befinden sich mehrere Zertifikate auf der Smartcard, die dem/der Benutzer:in entsprechen können. Zertifikate werden anhand der folgenden Kriterien abgeglichen:
-
Die Stammzertifizierungsstelle für das Zertifikat.
-
Die Felder
<KU>und<EKU>des Zertifikats. -
Der UPN im Zertifikatantragsteller.
-
-
Mehrere Zertifikate, die
<EKU>msScLoginin der Schlüsselnutzung verwendet.
Im Allgemeinen empfiehlt es sich, nur ein Zertifikat für die Smartcard-Authentifizierung zu verwenden, das dem allerersten Slot der Smartcard zugeordnet ist.
Die Tools zur Verwaltung der Zertifikate und Schlüssel auf der Smartcard (z. B. zum Entfernen oder Neuzuordnen der Zertifikate und Schlüssel) können herstellerspezifisch sein. Weitere Informationen finden Sie in der vom Hersteller Ihrer Smartcards mitgelieferten Dokumentation.
Aktivieren Sie Smartcards für Linux WorkSpaces
Alle Linux-Systeme WorkSpaces verwenden SSSD für die Active Directory-Integration und verwenden dieselbe Smartcard-Authentifizierungsimplementierung, die auf PKINIT und OpenSC basiert.
Um die Verwendung von Smartcards unter Linux zu ermöglichen WorkSpaces, müssen Sie das Stamm- und alle Zwischenzertifikate der Zertifizierungsstellen für alle Zertifizierungsstellen, die Smartcards ausstellen, und für alle Zertifizierungsstellen, die Domänencontroller-Zertifikate ausstellen, in das WorkSpace Image aufnehmen.
So erhalten Sie Ihr CA-Zertifikat: Sie können Ihr CA-Zertifikat auf verschiedene Arten erhalten:
-
Sie können ein CA-Zertifikatspaket einer Drittanbieter-Zertifizierungsstelle verwenden.
-
Sie können Ihr eigenes CA-Zertifikat über die Website für die Webregistrierung exportieren. Dabei handelt es sich entweder um
http://oderip_address/certsrvhttp://, wofqdn/certsrvundip_addresssind die IP-Adresse und der vollqualifizierte Domänenname (FQDN) des CA-Servers. Weitere Informationen zur Verwendung der Website für die Webregistrierung finden Sie in der Microsoft-Dokumentation unter So exportieren Sie ein Stammzertifizierungsstellenzertifikatfqdn. -
Sie können das folgende Verfahren verwenden, um das CA-Zertifikat von einem CA-Server zu exportieren, auf dem die Active Directory-Zertifikatsdienste (AD CS) ausgeführt werden. Informationen zur Installation von AD CS finden Sie in der Microsoft-Dokumentation unter Installieren der Zertifizierungsstelle
. -
Melden Sie sich mit einem Administratorkonto beim CA-Server an.
-
Öffnen Sie im Windows-Startmenü ein Befehlszeilenfenster (Start > Windows-System > Eingabeaufforderung).
-
Verwenden Sie den folgenden Befehl, um das CA-Zertifikat in eine neue Datei zu exportieren, wobei der Name der neuen Datei
steht:rootca.cercertutil -ca.certrootca.cerWeitere Informationen zum Ausführen von certutil finden Sie unter certutil
in der Microsoft-Dokumentation. -
Verwenden Sie den folgenden OpenSSL-Befehl, um das exportierte CA-Zertifikat vom DER-Format in das PEM-Format zu konvertieren, wobei der Name des Zertifikats
rootcasteht. Weitere Informationen zu OpenSSL finden Sie unter http://www.openssl.org. openssl x509 -inform der -inrootca.cer -out /tmp/rootca.pem
-
Um Ihre CA-Zertifikate zu Ihrem Linux hinzuzufügen WorkSpaces
Um Sie bei der Aktivierung von Smartcards zu unterstützen, haben wir das enable_smartcard Skript zu unseren WorkSpaces Linux-DCV-Bundles hinzugefügt. Dieses Skript führt die folgenden Aktionen aus:
-
Importiert Ihre CA-Zertifikate in ein privates PEM-Paket, das den Vertrauensstamm für SSSD (unter Linux) definiert. WorkSpaces
-
Aktualisiert die SSSD-, PAM- und Kerberos-Konfiguration, einschließlich der Aktivierung
PKINIT(Kerberos-Authentifizierung mit Zertifikat statt Passwort) während der Bereitstellung. WorkSpace
Das folgende Verfahren erklärt, wie Sie das enable_smartcard Skript verwenden, um Ihre CA-Zertifikate zu importieren und die Smartcard-Authentifizierung für Ihr Linux zu aktivieren. WorkSpaces
-
Erstellen Sie ein neues Linux WorkSpace mit aktiviertem DCV-Protokoll. Achten Sie beim Starten von WorkSpace in der WorkSpaces Amazon-Konsole auf der Seite „Pakete auswählen“ darauf, DCV für das Protokoll auszuwählen, und wählen Sie dann eines der öffentlichen WorkSpaces Linux-Pakete aus.
-
Stellen Sie bei der neu erstellten
/etc/skylight.confDatei sicher WorkSpace, dass die Datei einepam_smartcard = trueZeile in einem Abschnitt enthält:[features][features] pam_smartcard = trueAnmerkung
Wenn noch nicht alle Ihre Benutzer für die Verwendung einer starken
altSecurityIdentitiesZertifikatszuordnung konfiguriert sind, können Sie demselben[features]Abschnitt auch einesmartcard_weak_mapping = trueZeile hinzufügen, um ältere Zuordnungsmethoden/etc/skylight.confzu unterstützen. Wir empfehlen jedoch, diese Benutzer stattdessen so schnell wie möglich zu migrieren, sodass sie stattdessen so schnell wie möglich starke Zuordnungsmethoden verwenden. -
Führen Sie auf dem WorkSpace den folgenden Befehl als Root aus
pem-path1, wobei usw. die Pfade zu den Dateien angegeben sind, die jeweils eines der CA-Zertifikate in der Vertrauenskette für die Smartcard- und Domänencontroller-Zertifikate enthalten. Alle diese Dateien sollten im PEM-Format vorliegen und ein Zertifikat pro Datei enthalten. Glob-Muster können verwendet werden (z. B.)pem-path2*.pem/usr/lib/skylight/enable_smartcard --ca-certpem-path1pem-path2pem-path3...Anmerkung
Stellen Sie sicher, dass zusätzliche Abhängigkeitspakete auf dem installiert sind, WorkSpace bevor Sie den obigen Befehl ausführen. Verwenden Sie dazu die folgenden Befehle als Root.
Für Rocky Linux und Red Hat Enterprise Linux WorkSpaces:
dnf install sssd-dbus libsss_simpleifp sssd-tools krb5-pkinit openscFür Ubuntu WorkSpaces:
apt install krb5-pkinit opensc -
Nehmen Sie alle zusätzlichen Anpassungen am WorkSpace vor. Möglicherweise möchten Sie beispielsweise eine systemweite Richtlinie hinzufügen, um Benutzern die Verwendung von Smartcards in Firefox zu ermöglichen. (Chrome-Nutzer müssen Smartcards auf ihren Clients selbst aktivieren. Weitere Informationen finden Sie unter Smartcard-Unterstützung im WorkSpaces Amazon-Benutzerhandbuch.)
-
Erstellen Sie ein benutzerdefiniertes WorkSpace Image und ein Paket aus dem WorkSpace.
-
Verwenden Sie das neue benutzerdefinierte Paket, um es WorkSpaces für Ihre Benutzer zu starten.
Sie können Ihren Benutzern die Verwendung von Smartcards in Firefox ermöglichen, indem Sie Ihrem WorkSpace Linux-Image eine SecurityDevices Richtlinie hinzufügen. Weitere Informationen zum Hinzufügen systemweiter Richtlinien zu Firefox finden Sie in den Mozilla-Richtlinienvorlagen
So ermöglichen Sie Benutzern die Verwendung von Smartcards in Firefox
-
Erstellen Sie auf dem WorkSpace , mit dem Sie Ihr WorkSpace Image erstellen, eine neue Datei mit dem Namen
policies.jsonin, wherePREFIX/firefox/distribution/isPREFIX/usr/lib64on Fedora-based systems (Amazon Linux 2, Red Hat Enterprise Linux und Rocky Linux WorkSpaces) und/usr/libauf Debian-based Systemen (Ubuntu WorkSpaces). -
Fügen Sie in der JSON-Datei die folgende SecurityDevices Richtlinie hinzu. Dabei
steht der Wert, den Sie zur Identifizierung desNAME_OF_DEVICEpkcsModuls verwenden möchten. So können Sie beispielsweise einen Wert wie"OpenSC"verwenden:{ "policies": { "SecurityDevices": { "NAME_OF_DEVICE": "PREFIX/opensc-pkcs11.so" } } }
Fehlerbehebung
Die Problembehandlung bei der Smartcard-Authentifizierung ist einfacher, wenn vor der Sitzung die Kennwortauthentifizierung verwendet wird. Während der Sitzungsbereitstellung wechselt Linux je nach verwendeter Authentifizierungsmethode vor der Sitzung WorkSpaces automatisch die Voreinstellung für den Host-Authentifizierungsmodus auf kennwortbasiert oder Smartcard-basiert. Wenn Probleme mit der Smartcard-Authentifizierung auftreten, wird beim Trennen und erneuten Herstellen der Verbindung mithilfe der Passwortauthentifizierung vor der Sitzung der Workspace wieder auf die Passwort-On-Host-Authentifizierung zurückgesetzt. Um die WorkSpaces Linux-Instanz manuell zur Smartcard-Authentifizierung umzuschalten, führen Sie den Befehl als Root aus. /usr/lib/skylight/resume_smartcard
Linux WorkSpaces verwendet die OpenSC-Software für die Arbeit mit Smartcards. Diese Software enthält Tools wie pkcs11-tool undpkcs15-tool, die bei der Behebung von Problemen mit Smartcards hilfreich sein können. Diese Tools können zur Überprüfung von Smartcard-Lesegeräten, einzelnen Tokens und PIV-Steckplätzen oder Zertifikaten auf jedem Smartcard-Token verwendet werden.
Ein openssl Befehlszeilentool kann bei der Behebung von Problemen mit Vertrauensketten, OCSP-Respondern oder fehlenden Flags KUs/EKUs (Verwendung von usage/extended Schlüsselschlüsseln) hilfreich sein, insbesondere in Kombination mit der Fähigkeit, öffentliche Zertifikate pkcs15-tool von einer Smartcard zu extrahieren.
Allgemeine Optionen zur Problembehandlung:
-
Extrahieren Sie das erste Zertifikat (normalerweise PIV-Steckplatz 9A) von der Smartcard und speichern Sie es unter:
card-cert.pempkcs15-tool --read-certificate 1 >card-cert.pem -
Validieren Sie das extrahierte Zertifikat anhand der Vertrauensdatenbank auf: WorkSpace
openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -certcard-cert.pem -
Rufen Sie die OCSP-URL aus dem extrahierten Smartcard-Zertifikat ab:
openssl x509 -noout -ocsp_uri -incard-cert.pem -
Stellen Sie sicher, dass die OCSP-Antwort darauf hinweist, dass das Zertifikat gültig ist und NONCE: enthält
openssl ocsp -issuer /etc/sssd/pki/sssd_auth_ca_db.pem -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -cert, wobei die OCSP-URL von obencard-cert.pem-text -urlOCSP_URIOCSP_URIsteht. -
Prüfen Sie, ob das Domänencontroller-Zertifikat als vertrauenswürdig eingestuft wird:
openssl s_client -connect, woDC_HOSTNAME:636 -showcerts | openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pemDC_HOSTNAMEist der Hostname eines der Domänencontroller in Ihrer Active Directory-Domäne. -
Vergewissern Sie sich, dass für das Domänencontroller-Zertifikat die KDC-Authentifizierung EKU (erweiterte Schlüsselverwendung) festgelegt ist:.
openssl s_client -connectDC_HOSTNAME:636 -showcerts | openssl x509 -noout -text -
Versuchen Sie manuell mit PKINIT zu überprüfen, ob es Fehlercodes gibt, mit denen Sie das Problem eingrenzen können:
KRB5_TRACE=/dev/stdout kinit -X X509_user_identity=PKCS11:opensc-pkcs11.so:certid=, wo01-V01ist die Nummer eines der vier PIV-Hauptsteckplätze auf der Karte -01für, für usw.9A029CDie meisten Karten verfügen über ein Zertifikat zur Benutzerauthentifizierung in Steckplatz 9A. -
Prüfen Sie, ob das System in der Lage ist, das Smartcard-Zertifikat einem AD-Benutzer zuzuordnen (als Root ausführen):
dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe/Users org.freedesktop.sssd.infopipe.Users.FindByCertificate string:"$(<. Dies kann mit der Aktivierung der Debug-Protokollierung für SSSD kombiniert werden.card-cert.pem)"
Die häufigsten bekannten Probleme:
-
Unvollständige Vertrauenskette für das Smartcard-Zertifikat — beim Import von Zertifikaten mithilfe eines
enable_smartcardSkripts muss die vollständige Liste aller Stamm- und Zwischenzertifikate der Zertifizierungsstelle bereitgestellt werden. Dasenable_smartcardTool zeigt einen Fehler an, wenn nicht allen importierten Zertifikaten vertraut wird, weil das Stammzertifikat der Zertifizierungsstelle in der Liste fehlt. Es kann jedoch nicht erkennen, ob entweder eine gesamte Vertrauenskette oder das innerste Zwischenzertifikat der Zertifizierungsstelle in einer der Vertrauensketten fehlt. In diesem Fall importiert es Zertifikate ohne Fehler, aber entweder ein Smartcard-Zertifikat oder Domänencontroller-Zertifikate können immer noch als nicht vertrauenswürdig betrachtet werden. -
Fehlende Vertrauenskette für die Domänencontroller-Zertifikate — wenn Domänencontroller-Zertifikate von einer anderen Zertifizierungsstelle als Smartcards ausgestellt werden (z. B. im Fall einer Common Access Card (CAC)
), muss diese CA-Vertrauenskette zusammen mit den Smartcard-ausgebenden CA-Zertifikaten importiert werden. -
Fehlende Unterstützung für NONCE-Erweiterungen im OCSP-Responder — Linux WorkSpaces verlangt, dass der OCSP-Responder des Smartcard-Ausstellers die NONCE-Erweiterung aktiviert hat. Wenn sie nicht aktiviert werden kann, muss die OCSP-Validierung vollständig deaktiviert werden.
-
Bei Domänencontroller-Zertifikaten fehlt
KDC AuthenticationEKU (OID 1.3.6.1.5.2.3.1) — damit die Smartcard-Authentifizierung funktioniert, müssen Domänencontroller-Zertifikate erneut ausgestellt werden, sodass sie die KDC-Authentifizierungs-EKU enthalten. -
Domänencontroller-Zertifikate sind abgelaufen — damit die Smartcard-Authentifizierung funktioniert, müssen Domänencontroller-Zertifikate auf dem neuesten Stand sein.
-
Smartcard-Zertifikate werden Benutzern in AD mithilfe schwacher Zuordnungsmethoden zugeordnet. Traditionell wurde das UPN-Feld im AltName Betreffattribut verwendet, um ein Zertifikat einem Benutzer in AD zuzuordnen, wobei erwartet wurde, dass es dem PrincipalName Benutzerattribut entspricht. Dies wird nicht mehr als sichere Zuordnungsmethode angesehen und ist standardmäßig nicht zulässig. Es ist möglich, sie wieder zu aktivieren, indem Sie ein
--allow-weak-mappingArgument an einenenable_smartcardBefehl übergeben und dem[features]Abschnitt in der/etc/skylight.confDatei einesmartcard_weak_mapping = trueZeile hinzufügen. Eine bessere Lösung besteht jedoch darin, eine der starken Zuordnungsmethoden zu verwenden. Weitere Informationen finden Sie in der Dokumentation zurKontoverknüpfung.
Die Tools zur Verwaltung der Zertifikate und Schlüssel auf der Smartcard (z. B. zum Entfernen oder Neuzuordnen der Zertifikate und Schlüssel) können herstellerspezifisch sein. Zusätzliche Tools, mit deren Hilfe Sie mit Smartcards arbeiten können, sind:
-
opensc-explorer -
opensc-tool -
pkcs11_inspect -
pkcs11_listcerts -
pkcs15-tool
So aktivieren Sie die Protokollierung
-
Fügen Sie
/etc/sssd/sssd.conffür jeden einzelnen Abschnitt, in dem die gewünschte AusführlichkeitsstufeLEVELliegt, einedebug_level =Zeile von 1 bis 10 hinzu. Die Protokolle für jeden entsprechenden Abschnitt finden Sie dann imLEVEL/var/log/sssd/Verzeichnis. Weitere Informationen finden Sie unter SSSD-Problembehandlungund SSSD-Debug-Protokolle in der SSSD-Dokumentation.
Aktivieren Sie Smartcards für Amazon Linux 2 (veraltet) WorkSpaces
Wichtig
Amazon Linux 2 erreicht am 30. Juni 2026 das Ende seiner Lebensdauer. Dieser Abschnitt gilt nur für ältere Versionen von Amazon Linux 2. WorkSpaces Informationen zum aktuellen Linux WorkSpaces finden Sie unterAktivieren Sie Smartcards für Linux WorkSpaces.
Anmerkung
Amazon Linux 2 WorkSpaces auf DCV hat derzeit die folgenden Einschränkungen:
-
Zwischenablage-, Audioeingang-, Videoeingang- und Zeitzonenumleitung werden nicht unterstützt.
-
Mehrere Monitore werden nicht unterstützt.
Um die Verwendung von Smartcards auf Amazon Linux 2 zu aktivieren WorkSpaces, müssen Sie dem Image eine Root-CA-Zertifikatsdatei im PEM-Format hinzufügen. WorkSpace
So erhalten Sie Ihr Root-CA-Zertifikat: Sie können Ihr Root-CA-Zertifikat auf verschiedene Arten erhalten:
-
Sie können ein Stammzertifizierungsstellenzertifikat verwenden, das von einer externen Zertifizierungsstelle betrieben wird.
-
Sie können Ihr eigenes Stammzertifizierungsstellenzertifikat mithilfe der Website für die Webregistrierung exportieren. Dabei handelt es sich entweder um
http://oderip_address/certsrvhttp://, wobeifqdn/certsrvundip_addressdie IP-Adresse und der vollqualifizierte Domain-Name (FQDN) des Stammzertifizierungsstellenservers sind. Weitere Informationen zur Verwendung der Website für die Webregistrierung finden Sie in der Microsoft-Dokumentation unter So exportieren Sie ein Stammzertifizierungsstellenzertifikatfqdn. -
Mit dem folgenden Verfahren können Sie das Stammzertifizierungsstellenzertifikat von einem Stammzertifizierungsserver exportieren, auf dem die Active-Directory-Zertifikatsdienste (AD CS) ausgeführt werden. Informationen zur Installation von AD CS finden Sie in der Microsoft-Dokumentation unter Installieren der Zertifizierungsstelle
. -
Melden Sie sich mit einem Administratorkonto beim Stammzertifizierungsstellenserver an.
-
Öffnen Sie im Windows-Startmenü ein Befehlszeilenfenster (Start > Windows-System > Eingabeaufforderung).
-
Verwenden Sie den folgenden Befehl, um das Stammzertifizierungsstellenzertifikat in eine neue Datei zu exportieren, wobei der Name der neuen Datei
lautet:rootca.cercertutil -ca.certrootca.cerWeitere Informationen zum Ausführen von certutil finden Sie unter certutil
in der Microsoft-Dokumentation. -
Verwenden Sie den folgenden OpenSSL-Befehl, um das exportierte Root-CA-Zertifikat vom DER-Format in das PEM-Format zu konvertieren. Dabei
rootcasteht der Name des Zertifikats. Weitere Informationen zu OpenSSL finden Sie unter http://www.openssl.org. openssl x509 -inform der -inrootca.cer -out /tmp/rootca.pem
-
Um Ihr Root-CA-Zertifikat zu Ihrem Amazon Linux 2 hinzuzufügen WorkSpaces
Um Sie bei der Aktivierung von Smartcards zu unterstützen, haben wir das enable_smartcard Skript zu unseren Amazon Linux DCV-Paketen hinzugefügt. Dieses Skript führt die folgenden Aktionen aus:
-
Importiert Ihr Stammzertifizierungsstellenzertifikat in die Network-Security-Services-(NSS)
-Datenbank. -
Installiert das
pam_pkcs11-Modul für die PAM-Authentifizierung (Pluggable Authentication Module). -
Führt eine Standardkonfiguration durch, zu der auch die Aktivierung
pkinitwährend der WorkSpace Bereitstellung gehört.
Das folgende Verfahren erklärt, wie Sie das enable_smartcard Skript verwenden, um Ihr Root-CA-Zertifikat zu Ihrem Amazon Linux 2 hinzuzufügen WorkSpaces und Smartcards für Ihr Amazon Linux 2 WorkSpaces zu aktivieren.
-
Erstellen Sie ein neues Amazon Linux 2 WorkSpace mit aktiviertem DCV-Protokoll. Achten Sie beim Starten von WorkSpace in der WorkSpaces Amazon-Konsole auf der Seite „Pakete auswählen“ darauf, DCV für das Protokoll auszuwählen, und wählen Sie dann eines der öffentlichen Amazon Linux 2-Pakete aus.
-
Führen Sie auf dem neuen WorkSpace Gerät den folgenden Befehl als Root aus. Dort
befindet sich der Pfad zur Root-CA-Zertifikatsdatei im PEM-Format.pem-path/usr/lib/skylight/enable_smartcard --ca-certpem-pathAnmerkung
Amazon Linux 2 WorkSpaces geht davon aus, dass die Zertifikate auf den Smartcards für den Standard-Benutzerprinzipalnamen (UPN) des Benutzers ausgestellt werden, z. B.
wosAMAccountName@domainist ein vollqualifizierter Domänenname (FQDN).domainWeitere Informationen zu alternativen UPN-Suffixen finden Sie unter
run /usr/lib/skylight/enable_smartcard --help. Die Zuordnung für alternative UPN-Suffixe ist für jeden/jede Benutzer:in eindeutig. Daher muss diese Zuordnung für jeden Benutzer einzeln durchgeführt werden. WorkSpace -
(Optional) Standardmäßig sind alle Dienste für die Verwendung der Smartcard-Authentifizierung auf Amazon Linux 2 aktiviert WorkSpaces. Sie müssen
/etc/pam.d/system-authbearbeiten, um die Smartcard-Authentifizierung nur auf bestimmte Services zu beschränken. Entfernen Sie den Kommentar der Zeileauthfürpam_succeed_if.sound bearbeiten Sie die Liste der Services nach Bedarf.Nachdem die Zeile
authkein Kommentar mehr ist, müssen Sie sie der Liste hinzufügen, damit ein Service die Smartcard-Authentifizierung verwenden kann. Damit ein Service nur die Passwortauthentifizierung verwendet, müssen Sie ihn aus der Liste entfernen. -
Nehmen Sie alle zusätzlichen Anpassungen an der WorkSpace vor. Möglicherweise möchten Sie beispielsweise eine systemweite Richtlinie hinzufügen, um Benutzern die Verwendung von Smartcards in Firefox zu ermöglichen. (Chrome-Nutzer müssen Smartcards auf ihren Clients selbst aktivieren. Weitere Informationen finden Sie unter Smartcard-Unterstützung im WorkSpaces Amazon-Benutzerhandbuch.)
-
Erstellen Sie ein benutzerdefiniertes WorkSpace Image und ein Paket aus dem WorkSpace.
-
Verwenden Sie das neue benutzerdefinierte Paket, um es WorkSpaces für Ihre Benutzer zu starten.
Sie können Ihren Benutzern die Verwendung von Smartcards in Firefox ermöglichen, indem Sie Ihrem Amazon Linux WorkSpace 2-Image eine SecurityDevices Richtlinie hinzufügen. Weitere Informationen zum Hinzufügen systemweiter Richtlinien zu Firefox finden Sie in den Mozilla-Richtlinienvorlagen
So ermöglichen Sie Benutzern die Verwendung von Smartcards in Firefox
-
Erstellen Sie auf der Seite WorkSpace , die Sie zum Erstellen Ihres WorkSpace Images verwenden, eine neue Datei mit dem Namen
policies.jsonin/usr/lib64/firefox/distribution/. -
Fügen Sie in der JSON-Datei die folgende SecurityDevices Richtlinie hinzu. Dabei
steht der Wert, den Sie zur Identifizierung desNAME_OF_DEVICEpkcsModuls verwenden möchten. So können Sie beispielsweise einen Wert wie"OpenSC"verwenden:{ "policies": { "SecurityDevices": { "NAME_OF_DEVICE": "/usr/lib64/opensc-pkcs11.so" } } }
Fehlerbehebung: Zur Problembehandlung empfehlen wir, das pkcs11-tools Hilfsprogramm hinzuzufügen. Mit dem Hilfsprogramm können Sie die folgenden Aktionen ausführen:
-
Auflisten aller Smartcards
-
Auflisten der Slots auf jeder Smartcard
-
Auflisten der Zertifikate auf jeder Smartcard
Einige häufig auftretende Probleme, die zu Problemen führen können:
-
Falsche Zuordnung der Slots zu den Zertifikaten.
-
Es befinden sich mehrere Zertifikate auf der Smartcard, die dem/der Benutzer:in entsprechen können. Zertifikate werden anhand der folgenden Kriterien abgeglichen:
-
Die Stammzertifizierungsstelle für das Zertifikat.
-
Die Felder
<KU>und<EKU>des Zertifikats. -
Der UPN im Zertifikatantragsteller.
-
-
Mehrere Zertifikate, die
<EKU>msScLoginin der Schlüsselnutzung verwendet.
Im Allgemeinen empfiehlt es sich, nur ein Zertifikat für die Smartcard-Authentifizierung zu verwenden, das dem allerersten Slot der Smartcard zugeordnet ist.
Die Tools zur Verwaltung der Zertifikate und Schlüssel auf der Smartcard (z. B. zum Entfernen oder Neuzuordnen der Zertifikate und Schlüssel) können herstellerspezifisch sein. Zusätzliche Tools, mit deren Hilfe Sie mit Smartcards arbeiten können, sind:
-
opensc-explorer -
opensc-tool -
pkcs11_inspect -
pkcs11_listcerts -
pkcs15-tool
So aktivieren Sie die Protokollierung
Zur Behebung von Fehlern in Ihrer pam-krb5- und pam_pkcs11-Konfiguration können Sie die Debug-Protokollierung aktivieren.
-
Bearbeiten Sie in der
/etc/pam.d/system-auth-ac-Datei dieauth-Aktion und ändern Sie dennodebug-Parameter vonpam_pksc11.sozudebug. -
Ändern Sie in der Datei
/etc/pam_pkcs11/pam_pkcs11.confdebug = false;zudebug = true;. Diedebug-Option gilt separat für jedes Mapper-Modul, sodass Sie sie möglicherweise sowohl direkt impam_pkcs11-Abschnitt als auch im entsprechenden Mapper-Abschnitt ändern müssen (standardmäßig ist diesmapper generic). -
Bearbeiten Sie in der
/etc/pam.d/system-auth-ac-Datei dieauth-Aktion und fügen Sie dendebug- oderdebug_sensitive-Parameter zupam_krb5.sohinzu.
Nachdem Sie die Debug-Protokollierung aktiviert haben, gibt das System pam_pkcs11-Debug-Meldungen direkt im aktiven Terminal aus. Nachrichten von pam_krb5 werden in /var/log/secure protokolliert.
Verwenden Sie den folgenden pklogin_finder-Befehl, um zu überprüfen, welchem Benutzernamen ein Smartcard-Zertifikat zugeordnet ist:
sudo pklogin_finder debug config_file=/etc/pam_pkcs11/pam_pkcs11.conf
Geben Sie bei entsprechender Aufforderung die Smartcard-PIN ein. pklogin_finder gibt in stdout den Benutzernamen auf dem Smartcard-Zertifikat in der Form aus. Dieser Nutzername sollte mit dem WorkSpace Nutzernamen übereinstimmen.NETBIOS\username
In Active Directory Domain Services (AD DS) ist der NetBIOS-Domain-Name der Domain-Name vor Windows 2000. Normalerweise (aber nicht immer) ist der NetBIOS-Domain-Name die Unterdomain des DNS-Domain-Namens (Domain Name System). Wenn der DNS-Domain-Name example.com lautet, kann die NetBIOS-Domain beispielsweise EXAMPLE sein. Wenn der DNS-Domain-Name corp.example.com lautet, ist der NetBIOS-Domain normalerweise CORP.
Für den Benutzer mmajor in der Domain pklogin_finder lautet die Ausgabe von corp.example.com beispielsweise CORP\mmajor.
Anmerkung
Wenn Sie die Nachricht "ERROR:pam_pkcs11.c:504: verify_certificate()
failed" erhalten, weist diese Meldung darauf hin, dass pam_pkcs11 auf der Smartcard ein Zertifikat gefunden hat, das den Kriterien für den Benutzernamen entspricht, das aber nicht mit einem Stammzertifizierungsstellenzertifikat verknüpft ist, das vom Computer anerkannt wird. In diesem Fall gibt pam_pkcs11 die Meldung oben aus und es wird dann das nächste Zertifikat versucht. Die Authentifizierung ist nur möglich, wenn ein Zertifikat gefunden wird, das sowohl dem Benutzernamen entspricht als auch mit einem anerkannten Stammzertifizierungsstellenzertifikat verknüpft ist.
Zur Behebung von Fehlern in Ihrer pam_krb5-Konfiguration können Sie sie kinit manuell im Debug-Modus mit dem folgenden Befehl aufrufen:
KRB5_TRACE=/dev/stdout kinit -V
Mit diesem Befehl sollte erfolgreich ein Kerberos Ticket Granting Ticket (TGT) abgerufen werden. Falls dies fehlschlägt, versuchen Sie, dem Befehl explizit den richtigen Kerberos-Prinzipalnamen hinzuzufügen. Verwenden Sie beispielsweise für den Benutzer mmajor in der Domain corp.example.com diesen Befehl:
KRB5_TRACE=/dev/stdout kinit -V mmajor
Wenn dieser Befehl erfolgreich ist, liegt das Problem höchstwahrscheinlich in der Zuordnung vom WorkSpace Benutzernamen zum Kerberos-Prinzipalnamen. Überprüfen Sie den [appdefaults]/pam/mappings-Abschnitt in der Datei /etc/krb5.conf.
Wenn dieser Befehl nicht erfolgreich ist, ein passwortbasierter kinit-Befehl jedoch erfolgreich ist, überprüfen Sie die entsprechenden Konfigurationen zu pkinit_ in der Datei /etc/krb5.conf. Wenn die Smartcard beispielsweise mehr als ein Zertifikat enthält, müssen Sie möglicherweise Änderungen an pkinit_cert_match vornehmen.