Wenn es nicht klappt...

Zertifikatstypen

Als Signaturtypen sind bei X.509 derzeit folgende Varianten verbreitet:

  • RSA-SHA256
  • RSA-SHA256PSS
  • ECDSA

Unter Windows AD mit Samba4 als AD-DC funktioniert RSA-PSS definitv nicht, in Samba4 ist dann in der log.samba ein entsprechender Eintrag zu finden. In der Anleitung wurden alle Tests mit der konservativen Variante RSA-SHA256 (also ohne PSS) durchgeführt. ECDSA könnte auch funktionieren, wurde von mir aber nocht nicht getestet.

Preflight Checks

Bevor man die Smartcard Authentifizierung in Windows scharf schaltet, soll man einen Test durchführen:

PS C:\Users\Administrator\Desktop> certutil -SCInfo 'Yubico YubiKey OTP+FIDO+CCID 0'

Sollte da nun eine Meldung wie z.B.

Die Zertifizierungskette wurde richtig verarbeitet, doch wird eines der Zertifizierungsstellen-Zertifikate vom Richtlinienanbieter nicht für vertrauenswürdig gehalten. 0x800b0112 (-2146762478 CERT_E_UNTRUSTEDCA)

erscheinen, dann gibt es noch etwas zu tun. Mit

PS C:\Users\Administrator\Desktop> certutil -enterprise -verifystore NTAuth

kann überprüft werden, womit Windows die Smartcard Zertifikate überprüft. Dort sollte das CA Zertifikat erscheinen, mit denen die Zertifikate auf den Smartcards signiert werden. Falls da CA Zertifikate angezeigt werden, die man nicht erwartet hat, dann sollte unbedingt die Ursache dafür geprüft werden. Fall man gerade eine Migration der CA durchführt, dann ist das zumindest eine plausible Ursache, dass noch die alten CA Zertifikate angezeigt werden. Im nächsten Abschnitt wird gezeigt, wie man die alten Zertifikate unter Windows los wird.

Alte CA

Hat man den Samba4 AD-DC mit einer anderen CA für die Smartcard Authentifizierung betrieben, dann muss man die alten CA Zertifikate erst einmal wieder los werden. Mit den Anpassungen der /etc/krb5.conf und /etc/samba/smb.conf ist es leider nicht getan. An dieser Stelle hilft aber das Windows Tool certutil weiter. In dem folgenden Beispiel soll das alte CA Zertifikat "Windows CA 2003" durch ein neues CA Zertifikat "Windows CA 2022" ersetzt werden. Mit

certutil -viewstore -user -enterprise NTAuth

kann man sich die für die Smartcard relevanten Zertifikate anzeigen lassen. Mit

certutil -delstore -enterprise NTauth "Windows CA 2003"

wird das alte Zertifikat gelöscht. Im Beispiel liegt das neue CA (Intermediate) Zertifikat als Datein winca.cer (Base64 Format) vor. Mit

certutil -addstore -user -enterprise NTAuth .\winca.cer

Wird es nun installiert. Auf den Clients greift das allerdings erst nach einem Update der Gruppenrichtlinen, mit gpupdate /force kann man das erzwingen. Zur Sicherheit sollten die betroffenen Clients auch einen Reboot durchführen.

Zeitsynchronisation

Immer wieder "beliebt" sind abweichende Uhren zwischen AD DC, Client oder auch PKI. Bei virtualisierten Windows Clients unter Linux läuft der Linux Host oft mit UTC. Das muss Windows bekannt gemacht werden, indem in der Registry [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=dword:00000001 gesetzt wird. Nach einem Reboot des Clients sollte die Zeit wieder passen und Active Directory funkltioniert wieder auf dem Client.

 

Zurück