Multi factor authentication to Windows systems
Vorwort
In diesem Artikel möchte ich Ihnen etwas über die Multifaktor Anmeldung mit Smartcard erzählen.
Diese Anmeldemethode steht seit mehr als 20 Jahren in Windows und anderen Betriebssystemen zur Verfügung und wird auch vereinzelnd genutzt. Die Möglichkeiten, die Anfang der 2000 Jahre zur Verfügung standen, waren beschränkt auf Smartcards im Checkkarten Format oder USB Geräte. Die Akzeptanz eine solche Karte zu nutzen war eher niedrig und dann musste die Karte im PC oder Notebook verwendet werden können und dies stellte sich eher schwierig, da, da nicht alle Geräte über die entsprechenden Kartenleser verfügten.
Einige Firmen beschäftigten sich Anfang des Jahrhunderts mit dieser Technik, waren jedoch nicht wirklich überzeugt von der Technik oder es fehlte an Informationen zur Konfiguration dieser Anmeldemethode. Dann kamen da noch die Schwierigkeit bei der Nutzung der Karten hinzu und es gab nicht wirklich externen Druck, diese Technik nutzen zu müssen, denn ein Passwort war ja so schön einfach.
Aus diesen Gründen hat sich diese Technik wohl nicht durchgesetzt und wird stand heute nicht oder nur sehr selten genutzt!
Passwörter
Das Passwörter heutzutage nicht die beste Wahl sind, seine Zugänge zu schützen, sollte jedem bekannt sein, zumindest, wenn man sich NUR auf das Passwort verlässt und keinen zweiten Faktor für die Anmeldung nutzt.
Also nur Passwörter für eine Anmeldung mit hoch Berechtigten Konten ist also keine Option und die Cyber Versicherer sehen das aktuell genauso. In der Cloud ist es heute kein Hexenwerk MFA zu aktivieren und nur Multi Faktor Anmeldung zuzulassen, in einem on Premises Netzwerk ist dies anders.
Active Directory Gesamtstruktur
In einer Active Directory Gesamtstruktur (Forest) oder auch nur ein einer Active Directory Domäne sollten alle Anmeldungen, die Sie per Remote Desktop (RDP), PowerShell oder weitere Protokolle durchführen, sollten durch einen zweiten Faktor für hoch berechtigte Benutzer, gesichert werden.
In den nächsten Kapiteln erläutere ich Ihnen, welche Voraussetzungen gelten, um Smartcards für die Anmeldungen am Windows Betriebssystem nutzen zu können.
Zertifizierungsstelle
Sie benötigen eine Enterprise ROOT CA und mindestens eine Issuing CA, sowie folgende Zertifikatsvorlagen, um Smartcard Zertifikate aufstellen zu können.
- Kerberos Authentication
- Smartcard Logon
Die beiden Vorlagen müssen konfiguriert und in Ihrer CA Infrastruktur bereitgestellt werden. Für die Smartcard Anmeldung ist es erforderlich, dass Sie für die Zertifikate folgende Optionen konfigurieren, damit die Anmeldungen verifiziert werden können.
- CRL Distribution Points
- AIA = Authority Information Access
Diese Optionen sollten nicht nur im Active Directory veröffentlicht sein, sondern auch von extern über eine Url abgerufen werden können und im Zertifikat hinterlegt sein. Diese benötigen Sie, damit ein nicht Windows-Domain-Client, die Certificate Revocation lists abfragen kann, um die Gültigkeit des Zertifikates zu überprüfen.
Zertifikatsvorlage: Smartcard Logon
In der Zertifikatsvorlage konfigurieren Sie die Berechtigungen für die automatische Verteilung der Zertifikate sowie einige Parameter. Eine Gruppenrichtlinie für die automatische Verteilung von Zertifikaten liest diese Einstellungen und bietet den berechtigten Benutzern den Deploymentwizard für den Zertifikats-Rollout nach einer Anmeldung an.
Die Smartcard sollte im Vorwege entsprechend mit einer PIN und einer PUK, wie Sie es von einer Mobilfunk SIM kennen, konfiguriert werden.
Die Einstellungen der Smartcard erfolgt über den Yubico Manager und muss von jedem Benutzer selbst vorgenommen werden.
Über das PIN, PUK Management lassen sich die Einstellungen für den Benutzer konfigurieren.
Hardware
Sie benötigen eine Smartcard, ich nutze in meinen Projekten die FIDO2 Schlüssel von Yubico. Mit diesen Smartcards habe ich in meinen Projekten sehr gute Erfahrungen gemacht.
Diese Schlüssel besitzen einen FIDO2- und einen Smartcardcontainer, in dem Sie Ihre Anmeldedaten speichern können. Einige von den Schlüsseln besitzen sogar eine NFC-Schnittstelle, so können diese an mobilen Endgeräten zur Anmeldung genutzt werden.
Active Directory Gruppenrichtlinie
Damit Sie die Smardcards nutzen können, benötigen Sie eine oder mehrere Gruppenrichtlinien, die folgende Einstellungen für die Clients und Server konfigurieren:
- Automatic certificate management
- Security Einstellungen: Interactive logon: Smart card removal behavior
- je nachdem welcher Kryptografie Algorithmus verwendet wird, evtl.: Allow ECC certificates to be used for logon and authentication
Dann nutze ich eine Gruppenrichtlinie um den Yubico Minitreiber zu verteilen, damit die Clients mit der Smartcard umgehen können. Dieses MSI-Paket wird in meinem Setup mit einer PowerShell Datei verteilt, da ich der MSI-Datei ein paar Parameter mitgebe und natürlich prüfe, ob der Treiber bereits installiert ist.
Der Minitreiber ist erforderlich, damit Benutzer die native Oberfläche zum Verteilen eines Smartcard Zertifikates in Windows, PIN und PUK Management und die Smartcard Anmeldung nutzen können.
Zertifikat-Enrollment-Wizard
Wenn Sie alle Voraussetzungen geschaffen haben und der Benutzer kein gültiges Smartcard Zertifikat im Active Directory besitzen, dann sieht der Benutzer im Systray dieses kleine Smartcard Symbol. Klickt der Benutzer darauf, startet der Wizard und Speichert nach Eingabe der PIN, das Zertifikat auf dem Schlüssel.
Wichtig: Wenn das Zertifikat erfolgreich gespeichert wurde, dann entfernen Sie den USB Schlüssel aus dem USB Slot und stecken diesen wieder in den Slot. Hierdurch werden die neu erstellten Zertifikate dann in den lokalen Speicher des System geladen und können für Anmeldungen zum Beispiel per RDP genutzt werden.
RDP Zugriff
Der Zugriff per RDP mit einer Smartcard kann von nahezu jedem RDP-Client durchgeführt werden. Als Voraussetzung ist die Aktivierung der Smartcard als einziges zu nennen.
Wenn die Smartcard aktiviert ist, dann stellen Sie eine Verbindung zum RDP-Endpunkt her. Bei der Anfrage nach dem Anmeldekonto klicken Sie auf “More choices” und wählen die Smartcard Anmeldung aus. Sie können Smartcard Anmeldedaten an dem Smartcard Symbol erkennen.
Wenn Sie Ihren Schlüssel mit mehreren Smartcard Anmeldungen provisionieren, dann werden in diesem Screen mehrere Smartcard Anmeldungen zur Auswahl angezeigt.
Netzwerklaufwerk verbinden
Wenn Sie eine Verbindung zu einem Netzwerklaufwerk mit einem anderen Benutzer als den momentan angemeldeten Benutzer herstellen wollen und dabei die Smartcard verwenden wollen, dann nutzen Sie die Funktion zum Herstellen eines Netzwerklaufwerkes im Explorer. Achten Sie darauf, dass Sie das Häkchen aktivieren für die Anmeldung mit einem anderen Benutzer.
Wählen Sie hier den Benutzer mit der Smartcard aus und bestätigen mit der PIN, um die Verbindung aufzubauen.
PowerShell Credentials Object
Wenn Sie in einer PowerShell beim Zugriff auf ein anderes System die Smartcard verwenden wollen, dann müssen Sie zuerst ein Credential Object erstellen.
$Cred = Get-Credential
Nach der Eingabe des Befehls öffnet sich dann der normale Dialog zur Eingabe von Benutzer und Passwort. Sie klicken auf den Dropdown Pfeil neben dem Benutzernamen Feld und wählen ihren Smartcard Benutzer aus. Das Kennwort Feld ändert sich anschließend zum PIN Feld. Geben Sie Ihre PIN für die Smartcard ein und bestätigen mit OK, das PowerShell Credential Objekt ist jetzt gespeichert.
Wenn Sie einen Befehl ausführen wollen, um auf ein entferntes System zuzugreifen, verwenden Sie den Parameter -Credential und geben das zuvor erstellte Credential Objekt hierfür an.
Invoke-Command -ComputerName LAB1-CA01 -ScriptBlock { Get-ChildItem -Path C:\ } -Credential $Cred
Der Zugriff auf die Entfernte Ressource wird dann mit der Smartcard authentifiziert.
Passwortlos
Um die Passwörter für berechtigte Benutzer loswerden zu können, sind es nicht mehr viele Aufgaben die Sie zu erledigen haben. Die folgenden Tätigkeiten sind gerade für die Benutzer relevant, die aktuell die Rolle der Domain Administratoren bekleiden.
- Erstellen Sie mindesten einen Break Glas Account.
- Dieses Konto sollte ein sehr langes Passwort besitzen und nicht für die Smartcard Anmeldung aktiviert sein. Denn sollte die Smartcard Anmeldung einmal nicht funktionieren, so können Sie Ihren Domäne nicht mehr verwalten.
- Dieses Konto sollte mit einem Passwort versehen sein, welches nur durch zwei Benutzer eingetragen werden kann (Vier Augen Prinzip)
- Dieses Konto sollte in die Überwachung aufgenommen werden und einen Alarm generieren, wenn es für die Anmeldung genutzt wird. Denn es wir lediglich in einem Fehlerfall genutzt und ist dieser nicht vorhanden, kann es ein Einbruchsversuch sein.
Sind diese Vorkehrungen getroffen, so können Sie für Ihren Benutzer, der für die Smartcard Anmeldung aktiviert ist und eine Smartcard besitzt, die passwortlose Anmeldung aktivieren. Sie öffnen die MMC Active Directory Benutzer und Computer und öffnen Ihren Benutzer. Auf der Registerkarte “Account” aktivieren Sie das Häkchen “Smartcard Anmeldung erforderlich” und speichern es ab. Sie können sich jetzt nur noch mit einer passwortlosen Anmeldung, also Smartcard oder Windows Hello for Business, falls konfiguriert anmelden.
Mögliche Fehlermeldungen
In diesem Kapitel fasse ich Ihnen ein paar Fehler zusammen, die in meinen Projekten aufgetreten sind.
Der folgende Fehler tritt auf, wenn Sie zum Beispiel versuchen, eine Verbindung per RDP aufzubauen und der RDP Client ist nicht in der Lage die Certificate Revocation list (CRL) zu erreichen.
Diese Fehlermeldung erhalten Sie, wenn Sie entweder die Smartcard nicht erneut in den USB Slot gestckt haben oder wenn die Active Directory Synchronisation für den Benutzer und das Zertifikat noch nicht abgeschlossen ist.
Meldung: he revocation status of the domain controller certificate used for smart card authentication could not be determined.
Wenn Sie diese Meldung erhalten, dann können die „Certificate Revocation Lists“ nicht überprüft werden.