Windows Login mit Mehr-Faktor-Authentifizierung absichern

Im dritten Part zur Mehr-Faktor-Authentifizierung (Part I / Part II) geht es um den RCDevs OpenOTP Credentials Provider zur Absicherung des Windows Logins mit einem weiteren Faktor / One Time Password.

Damit der Windows Login mit einem entsprechendem zweiten Faktor geschützt werden kann, muss als erstes der passende Credential Provider heruntergeladen werden:

Weiter geht es mit der Installation des OpenOTP Credential Provider. Dazu das entsprechende ZIP entpacken und das MSI Paket per Doppelklick öffnen:

  • Der „Welcome Screen“ wird mit „Next“ bestätigt
  • Die EULA wird natürlich gelesen und akzeptiert -> „Next“
  • Für den ersten Test empfiehlt es sich den „Default provider“ nicht zu installieren -> „Next“
  • Im nächsten Step den Primary Server mit „https://<IP / FQDN der Appliance>:8443/openotp“ konfigurieren und evtl. den „Request Timeout“ anpassen -> „Next“
  • Authentication Form
    • Simple: Erst werden Benutzername und Passwort eingegeben; Im nächsten Schritt der zweite Faktor
    • Normal: Auf dem Anmeldebildschirm gibt es drei Felder (Benutzername, Passwort und Einmalpasswort)
  • Die ersten „Advanced Settings“ können mit den Standardeinstellungen übernommen werden -> „Next“
  • Die zweiten „Advanced Settings“ sollten ggfs. angepasst werden, damit ebenfalls der RDP Zugriff geschützt wird bzw. ein Offline Login* (z.B. am Notebook) ermöglicht werden kann -> „Next“
  • „Install“ -> „Finish“

*Offline Login: Damit der Offline Login am Notebook funktioniert müssen zwei Bedingungen erfüllt sein!

  1. Es müssen „Push Tokens“ genutzt werden!
  2. Eine Anmeldung muss „online“ mit erreichbarem OpenOTP Server erfolgen!

Damit der erste Test durchgeführt werden kann, muss sich vom System abgemeldet werden. Nach erfolgter Abmeldung begrüßt uns der „OpenOTP Login“. Wie an dieser Stelle zu sehen ist, macht es später in einer produktiven Umgebung wenig Sinn den „Default provider“ zu deaktivieren. Ein Klick auf „Anderer Benutzer“ würde reichen, um sich ohne den zweiten Faktor anzumelden.

Damit sich an diesem Server / dieser Workstation nur noch per Multi-Faktor-Authentifizierung angemeldet werden kann, muss die Installation angepasst werden und der „Default provider“ installiert werden. Dazu die installierten Programme- und Features anzeigen, den „OpenOTP-CP“ Einträg wählen sowie auf „Ändern“ klicken. Jetzt wird lediglich der „Defaul provider“ aktiviert. Der Rest der Konfiugration bleibt identisch. Was passiert hier? Der folgende Registry Schlüssek wird angelegt und der „Standard Key“ auf den OpenOTPCredentialProviderFilter gesetzt:

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Provider Filters{5AE8C610-7541-4FF8-9845-C363410D574C}]
@=“OpenOTPCredentialProviderFilter“

Registry

Ab diesem Zeitpunkt sind nur noch Anmeldungen mit registrierten OpenOTP Usern möglich! Um den „Default provider“ wieder zu deaktivieren, reicht es aus den o.g. Registry Schlüssel zu löschen. Z.B. per Gruppenrichtlinien Registry Einstellung. Computer Startu-Up Script oder im abgesicherten Modus. Um die Änderung des „Default providers“ auch im abgesicherten Modus zu deaktivieren, muss ein weiterer Registry Key gesetzt werden:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers]
„ProhibitFallbacks“=dword:1

Registy

Aufgehoben wird das Erzwingen des „Default providers“ mit folgendem Schlüssel erneut z.B. per GPO Registry Einstellung oder Computer Start-Up Script:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers]
„ProhibitFallbacks“=-

Registry

Terminalserver Zwischenablage per User

Umleitung der Zwischenablage am Terminalserver pro Benutzer erlauben bzw. verbieten.

Die Umleitung der Zwischenablage kann in den Eigenschaften der jeweiligen Sammlung nur für die gesamte Bereitstellung aktiviert oder deaktiviert werden. Möchte man allerdings verschiedenen Benutzern das Umleiten der Zwischenablage verbieten könnte man einfach zwei verschiedene RDS Farmen bereitstellen. Schaut man sich die Gruppenrichtlinien an, wird man vorerst auch nur unter der Computerkonfiguration -> Administrative Vorlagen -> Windows-Komponenten -> Remotedesktopdienste -> Remotedesktopsitzungs-Host -> Geräte- und Ressourcenumleitung fündig. Da wir uns hier allerdings wieder in der Computerkonfiguration befinden, greift diese Einstellung wieder für alle User die auf dem entsprechenden Host angemeldet sind.

Die Richtlinie „Zwischenablageumleitung nicht zulassen“ findet sich allerdings auch an entsprechender Stelle der Benutzerkonfiguration (Benutzerkonfiguration -> Administrative Vorlagen -> Windows-Komponenten -> Remotedesktopdienste -> Remotedesktopsitzungs-Host -> Geräte- und RessourcenumleitungAdministrative Vorlagen -> Windows-Komponenten -> Remotedesktopdienste -> Remotedesktopsitzungs-Host -> Geräte- und Ressourcenumleitung).

Jetzt muss nur noch ein GPO in der Gruppenrichtlinienverwaltung (gpmc.msc) erstellt und mit der entsprechenden Benutzer Organisationseinheit verknüpft werden. Ebenso muss die Sicherheitsfilterung angepasst werden, damit nur die gewünschten User diese Einstellung auf den gewünschten Terminalservern bekommen. Sollten die Terminalserver im Loopbackverarbeitungsmodus (Ersetzen) betrieben werden, bitte untenstehenden Hinweis beachten.

Zwischenablage per User
Zwischenablage per User
  1. GPO erstellen
  2. Registerkarte „Delegierung“ öffnen
  3. „Erweitert…“ klicken
  4. Die Gruppe „Authentifizierte Benutzer“ entfernen, da ansonsten jeder Benutzer an jedem Client diese Richtlinie übernimmt
    Gruppe hinzufügen (In meinem Fall „keine_Zwischenablage“), die die einzuschränkenden Benutzerobjekte enthält -> Lesen + Gruppenrichtlinie übernehmen: Zulassen
    Gruppe hinzufügen (In meinem Fall „RDS-Hosts“), die die Computerobjekte der Remotedesktopsession-Hosts enthält ->Lesen: Zulassen
Zwischenablage per User
Zwischenablage per User

Im nächsten Schritt sollte dann das GPO bearbeitet werden und die oben genannte Richtlinie in der Benutzerkonfiguration (http://gpsearch.azurewebsites.net/#10702) aktiviert werden.

Jetzt kann das Gruppenrichtlinien Objekt mit der entsprechende OU welche die Benutzerobjekte beinhaltet verknüpft werden.

Gegebenenfalls bietet es sich direkt an, ein weiteres GPO zu erstellen, in dem die Umleitung der Zwischenablage analog für die „restlichen“ Benutzer erlaubt wird.

Loopbackverarbeitungsmodus (Ersetzen):

In diesem Fall muss die Richtlinie natürlich mit der Organisationseinheit verknüpft werden, in der sich die RDS Hosts befinden. Des Weiteren sollte dann im Rahmen der Sicherheitsfilterung, sofern gewünscht, noch den Domänen-Admins sowie den Organisations-Admins die Berechtigung „Gruppenrichtlinie übernehmen“ verweigert werden.

Wichtig: Zur Umleitung der Zwischenablage muss auch die Umleitung der Clientlaufwerke erlaubt sein!

Vorab: Vielen Dank an den Kommentar von Harald Haas. Diesen Umstand habe ich in der Tat verschwiegen. 😉

Ergänzend ist vielleicht der Einschub noch erlaubt, dass das Ganze nur dann funktioniert, wenn in den Sammlungseigenschaften der Client Settings auch der Laufwerke mit aktiviert ist.
Wieso auch immer, hat Microsoft wohl die Zwischenablage an das Zulassen der Laufwerkumleitung geknüpft – eine Verschriftlichung findet sich in der Hilfe der entsprechenden GPO-Richtlinie:
„Wenn Sie diese Richtlinieneinstellung aktivieren (also das nicht zulassen der Laufwerkumleitung), ist die Umleitung von Clientlaufwerken in Remotedesktopdienste-Sitzungen nicht zulässig, und die Zwischenablageumleitung beim Kopieren von Dateien ist auf Computern unter Windows Server 2003, Windows 8 und Windows XP nicht zulässig.“
Was machen aber jene Firmen, die KEINE lokalen Laufwerke innerhalb einer RDP-Session haben wollen, aber die Zwischenablage nutzen wollen????

https://jans.cloud/2017/10/terminalserver-zwischenablage-per-user/#comment-9348

Hier könnte man jetzt an zwei Punkten ansetzen:

  1. Ich hake in meiner selbst erstellten RDP Verbindung (mstsc.exe), die ich dem User bereitstelle, die Laufwerke ab und aktiviere nur die Zwischenablage
  2. Ich bearbeite meine Bereitstellung mit „Set-RDSessionCollectionConfiguration“ und dem Parameter „-ClientDeviceRedirectionOptions“. Alternativ lässt sich laut den Technet-Foren auch mit dem Parameter „-CustomRdpProperty“ das Property „drivestoredirect“ bearbeiten.
Set-RDSessionCollectionConfiguration -CollectionName "YourCollectionName" -CustomRdpProperty "drivestoredirect:s:C:\"