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
Die DCV-Pakete für Windows und Linux WorkSpaces 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. Die Authentifizierung vor der Sitzung bezieht sich auf die Smartcard-Authentifizierung, die durchgeführt wird, während sich Benutzer bei ihrem anmelden. WorkSpaces Die Authentifizierung während der Sitzung bezieht sich auf die Authentifizierung, die durchgeführt wird, nachdem Sie sich angemeldet haben.
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 über Administratorberechtigungen für sein Linux verfügt, kann er Smartcards verwenden WorkSpace, um sich bei der Ausführung sudo von Befehlen zu authentifizieren. sudo -i
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 mit Windows oder Linux zu verwenden WorkSpace, muss der Benutzer den Amazon WorkSpaces Windows-Client Version 3.1.1 oder höher, den WorkSpaces macOS-Client Version 3.1.5 oder höher oder WorkSpaces Ubuntu 22.04 Client Version 2024.1 oder höher verwenden (Smartcard-Authentifizierung wird mit WorkSpaces dem Ubuntu 20.04-Client nicht unterstützt). Weitere Informationen zur Verwendung von Smartcards mit Windows- und macOS-Clients finden Sie unter Smartcard-Support im WorkSpaces Amazon-Benutzerhandbuch.
-
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:
-
Die Daten des AD-Benutzers userPrincipalName (UPN) im Feld subjectAltName (SAN) des Zertifikats. Es wird empfohlen, Smartcard-Zertifikate für den Standard-UPN des/der Benutzer:in auszustellen.
Anmerkung
Amazon Linux 2 WorkSpaces verwendet UPN für die certificate-to-user Zuordnung. Neuere WorkSpaces Linux-Versionen wie Ubuntu, Rocky Linux und Red Hat Enterprise Linux WorkSpaces unterstützen sicherere Zuordnungsmethoden
. -
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 Authentifizierung während der Sitzung, und die OCSP-Überprüfung in diesen Systemen erfordert, dass der OCSP-Responder die NONCE-Erweiterung aktiviert hat, um Replay-Angriffe zu verhindern. Um die NONCE-Erweiterung zu deaktivieren, muss die OCSP-Überprüfung während der Sitzung vollständig deaktiviert werden. Um die OCSP-Verifizierung 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-Anwendungsversion 3.1.1 oder höher, die WorkSpaces macOS-Client-Anwendungsversion 3.1.5 oder höher und die WorkSpaces Ubuntu 22.04-Client-Anwendungsversion 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-Client-Anwendung 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.
-
Sitzungsinterne Authentifizierung ist in allen Regionen verfügbar, in denen DCV unterstützt wird. Die Authentifizierung vor der Sitzung ist in folgenden Regionen verfügbar:
-
Region Asien-Pazifik (Sydney)
-
Region Asien-Pazifik (Tokio)
-
Region Europa (Irland)
-
AWS GovCloud Region (USA-Ost)
-
AWS GovCloud Region (USA West)
-
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 jeweils nur eine Smartcard zulässig. Die gleichzeitige Verwendung mehrerer Karten funktioniert möglicherweise, 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 auch, aber sie wurden noch 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. KCD verlangt, dass der Benutzernamen-Teil des AD Connector Connector-Dienstkontos mit dem AMAccount s-Namen desselben Benutzers übereinstimmt. Ein AMAccount S-Name darf nicht länger als 20 Zeichen sein.
Konfiguration des On-Premises-Verzeichnisses
In addition to configuring your AD Connector directory:-
Stellen Sie sicher, dass für die Zertifikate, die für die Domänencontroller Ihres lokalen Verzeichnisses ausgestellt werden, die erweiterte Schlüsselverwendung (EKU) für die KDC-Authentifizierung aktiviert 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 auf dem OCSP-Responder für die Zertifizierungsstelle, die Smartcard-Zertifikate ausstellt, die NONCE-Erweiterung 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-Verifizierung 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, die für WorkSpaces die Smartcard-Authentifizierung vor der Sitzung aktiviert sind, 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 mit seiner Smartcard erneut eine Verbindung zum WorkSpaces Client 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 das Trennen der Sitzung über die Bildschirmsperre für DCV.
So aktivieren Sie die Authentifizierung während der Sitzung oder vor der Sitzung
Standardmäßig ist Windows WorkSpaces nicht dafür aktiviert, die Verwendung von Smartcards für die Authentifizierung vor oder während der Sitzung zu unterstützen. Bei Bedarf können Sie mithilfe der Gruppenrichtlinieneinstellungen die Authentifizierung während der Sitzung und vor der Sitzung für Windows WorkSpaces 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 Ubuntu, Rocky Linux und Red Hat Enterprise Linux WorkSpaces
Um die Verwendung von Smartcards auf Ubuntu, Rocky Linux und Red Hat Enterprise Linux zu ermöglichen WorkSpaces, müssen Sie das Stamm- und alle Zwischenzertifikate der Zertifizierungsstelle für alle CAs ausstellenden Smartcards und für alle CAs ausstellenden Domänencontroller-Zertifikate in das WorkSpace Image aufnehmen.
Um Ihr CA-Zertifikat zu erhalten
Sie können Ihr CA-Zertifikat auf verschiedene Arten erhalten:
-
Sie können ein CA-Zertifikatspaket einer Zertifizierungsstelle eines Drittanbieters verwenden.
-
Sie können Ihr eigenes Zertifizierungsstellenzertifikat mithilfe der Website für die Webregistrierung exportieren. Dabei handelt es sich entweder um
http://oderip_address/certsrvhttp://, wofqdn/certsrvund wo die IP-Adresse und der vollqualifizierte Domänenname (FQDN) des CA-Serversip_addressstehen. 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 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-Paketen 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 „Bundles auswählen“ darauf, DCV als Protokoll auszuwählen, und wählen Sie dann eines der WorkSpaces öffentlichen Linux-Pakete aus.
-
Vergewissern Sie sich WorkSpace, dass die Datei auf der neu erstellten
/etc/skylight.confDatei folgendepam_smartcard = trueZeile enthält:[features][features] pam_smartcard = trueAnmerkung
Wenn noch nicht alle Ihre Benutzer für die Verwendung der starken
altSecurityIdentitiesZertifikatszuweisung konfiguriert sind, können Sie demselben[features]Abschnitt auch einesmartcard_weak_mapping = trueZeile hinzufügen,/etc/skylight.confum ältere Zuordnungsmethoden zu unterstützen. Wir empfehlen jedoch, diese Benutzer stattdessen so bald wie möglich auf starke Zuordnungsmethoden zu migrieren. -
Führen Sie auf dem WorkSpace den folgenden Befehl als Root aus
pem-path1, wobei usw. die Pfade zu Dateien 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 dabei die folgenden Befehle als Root-Benutzer.
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 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-Support im WorkSpaces Amazon-Benutzerhandbuch.)
-
Erstellen Sie ein benutzerdefiniertes WorkSpace Image und bündeln Sie es aus dem WorkSpace.
-
Verwenden Sie das neue benutzerdefinierte Paket, um es WorkSpaces für Ihre Benutzer zu starten.
So ermöglichen Sie Benutzern die Verwendung von Smartcards in Firefox
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
-
Erstellen Sie auf dem WorkSpace , mit dem Sie Ihr WorkSpace Image erstellen, eine neue Datei mit dem Namen
policies.jsonin, woPREFIX/firefox/distribution/sichPREFIX/usr/lib64auf Fedora-basierten Systemen (Amazon Linux 2, Red Hat Enterprise Linux und Rocky Linux WorkSpaces) und/usr/libauf Debian-basierten Systemen (Ubuntu) befindet. WorkSpaces -
Fügen Sie in der JSON-Datei die folgende SecurityDevices Richtlinie hinzu, in der sich der Wert
befindet, den Sie zur Identifizierung des Moduls verwenden möchten.NAME_OF_DEVICEpkcsSo können Sie beispielsweise einen Wert wie"OpenSC"verwenden:{ "policies": { "SecurityDevices": { "NAME_OF_DEVICE": "PREFIX/opensc-pkcs11.so" } } }
Fehlerbehebung
Die Fehlerbehebung bei der Smartcard-Authentifizierung ist einfacher, wenn vor der Sitzung die Kennwortauthentifizierung aktiviert ist. Während der Sitzungsbereitstellung wechselt Linux je nach verwendeter Authentifizierungsmethode vor der Sitzung WorkSpaces automatisch auf kennwortbasiert oder smartcard-basiert. Wenn es Probleme mit der Smartcard-Authentifizierung gibt, wird der Workspace durch Trennen und Wiederverbinden mit der Authentifizierung vor der Sitzung mit einem Passwort wieder auf die Passwort-On-Host-Authentifizierung zurückgesetzt. Um die WorkSpaces Linux-Instanz manuell auf die Smartcard-Authentifizierung umzustellen, führen Sie den Befehl als Root-Benutzer aus. /usr/lib/skylight/resume_smartcard
Linux WorkSpaces verwendet 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 Token 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 Kennzeichnungen KUs/EKUs ( usage/extended Schlüsselverwendung) hilfreich sein, insbesondere in Kombination mit der Fähigkeit, öffentliche Zertifikate pkcs15-tool von einer Smartcard zu extrahieren.
Allgemeine Optionen zur Problembehebung:
-
Extrahieren Sie zuerst das Zertifikat (normalerweise PIV-Steckplatz 9A) von der Smartcard und speichern Sie es unter:
card-cert.pempkcs15-tool --read-certificate 1 >card-cert.pem -
Überprüfen Sie das extrahierte Zertifikat anhand der Vertrauensdatenbank auf dem: 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 angibt, dass das Zertifikat gültig ist und NONCE:
openssl ocsp -issuer /etc/sssd/pki/sssd_auth_ca_db.pem -CAfile /etc/sssd/pki/sssd_auth_ca_db.pem -certenthält. Dabeicard-cert.pem-text -urlOCSP_URIOCSP_URIhandelt es sich um die OCSP-URL von oben. -
Überprüfen Sie, ob das Domänencontroller-Zertifikat als vertrauenswürdig gilt:
openssl s_client -connect, wobei der Hostname eines der Domänencontroller in Ihrer Active Directory-DomäneDC_HOSTNAME:636 -showcerts | openssl verify -verbose -CAfile /etc/sssd/pki/sssd_auth_ca_db.pemDC_HOSTNAMEsteht. -
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, die zur Eingrenzung des Problems verwendet werden 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.9A029CBei den meisten Karten befindet sich ein Zertifikat für die Benutzerauthentifizierung im Steckplatz 9A. -
Prüfen Sie, ob das System in der Lage ist, ein Smartcard-Zertifikat einem AD-Benutzer zuzuordnen (als Root-Benutzer 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 CA-Zwischenzertifikat in einer der Vertrauensketten fehlt. In diesem Fall werden Zertifikate ohne Fehler importiert, aber entweder ein Smartcard-Zertifikat oder ein Domänencontroller-Zertifikat können dennoch als nicht vertrauenswürdig angesehen 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 von Common Access Card (CAC))
, muss diese CA-Vertrauenskette zusammen mit der Smartcard importiert werden, die CA-Zertifikate ausstellt. -
Fehlende Unterstützung für NONCE-Erweiterungen im OCSP-Responder — Linux setzt WorkSpaces voraus, dass für den OCSP-Responder des Smartcard-Ausstellers die NONCE-Erweiterung aktiviert ist. 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 die Domänencontroller-Zertifikate neu ausgestellt werden, sodass sie die KDC-Authentifizierung EKU enthalten. -
Die Domänencontrollerzertifikate sind abgelaufen. Damit die Smartcard-Authentifizierung funktioniert, müssen die Domänencontrollerzertifikate weiterhin vorhanden sein. up-to-date
-
Smartcard-Zertifikate werden Benutzern in AD mithilfe schwacher Zuordnungsmethoden zugeordnet. Traditionell wurde das UPN-Feld im subjectAltName Attribut verwendet, um einem Benutzer in AD ein Zertifikat zuzuordnen, wobei erwartet wurde, dass es dem Attribut entspricht userPrincipalName . Dies gilt nicht mehr als sichere Zuordnungsmethode und ist standardmäßig nicht zulässig. Es ist möglich, sie wieder zu aktivieren, indem Sie
enable_smartcarddem Befehl ein--allow-weak-mappingArgument übergeben und dem[features]Abschnitt in der/etc/skylight.confDatei einesmartcard_weak_mapping = trueZeile hinzufügen. Eine bessere Lösung ist jedoch die Verwendung einer der starken Zuordnungsmethoden. Weitere Informationen finden Sie in der Dokumentation zur Kontoverknü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 einedebug_level =Zeile von 1 bis 10LEVELLEVELein, wobei die gewünschte Ausführlichkeitsstufe angegeben ist. Die Protokolle für jeden entsprechenden Abschnitt finden Sie dann im/var/log/sssd/Verzeichnis. Weitere Informationen finden Sie in der SSSD-Dokumentation hierund hier .
Smartcards für Amazon Linux 2 aktivieren 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 unter Amazon Linux 2 zu aktivieren WorkSpaces, müssen Sie eine Root-CA-Zertifikatsdatei im PEM-Format in das WorkSpace Image aufnehmen.
So erhalten Sie Ihr Stammzertifizierungsstellenzertifikat
Sie können Ihr Stammzertifizierungsstellenzertifikat 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, 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
-
So fügen Sie Ihr Root-CA-Zertifikat zu Ihrem Amazon Linux 2 hinzu WorkSpaces
Um Ihnen bei der Aktivierung von Smartcards zu helfen, 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 zu aktivieren WorkSpaces.
-
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 „Bundles auswählen“ darauf, DCV als Protokoll auszuwählen, und wählen Sie dann eines der öffentlichen Amazon Linux 2-Pakete aus.
-
Führen Sie auf der neuen WorkSpace Version den folgenden Befehl als Root-Benutzer aus. Dabei
handelt es sich um den 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 (User Principal Name, UPN) des Benutzers ausgestellt wurden
, z. B. wosAMAccountName@domainist ein vollqualifizierter Domainname (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-Support im WorkSpaces Amazon-Benutzerhandbuch.)
-
Erstellen Sie ein benutzerdefiniertes WorkSpace Image und bündeln Sie es aus dem WorkSpace.
-
Verwenden Sie das neue benutzerdefinierte Paket, um es WorkSpaces für Ihre Benutzer zu starten.
So ermöglichen Sie Benutzern die Verwendung von Smartcards in Firefox
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
-
Erstellen Sie auf der Datei WorkSpace , mit der Sie Ihr WorkSpace Bild erstellen, eine neue Datei mit dem Namen
policies.jsonin./usr/lib64/firefox/distribution/ -
Fügen Sie in der JSON-Datei die folgende SecurityDevices Richtlinie hinzu, in der der Wert angegeben
ist, 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 Fehlerbehebung 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 Benutzername sollte mit dem WorkSpace Benutzernamen ü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.