Windows Zertifikatsspeicher unter Firefox nutzen Part II

Hier ein kleines Update zum Beitrag wie der Windows Zertifikatsspeicher im Firefox Browser genutzt werden kann.

Um es ganz kurz zu halten: Mozilla hat dem Firefox ab der Version 60 beigebracht mit Gruppenrichtlinien umzugehen. Yay! 🙂 Dazu einfach die ADMX Templates von github (https://github.com/mozilla/policy-templates/releases) laden und in den zentralen Richtlinienspeicher (PolicyDefinitions Ordner (\\<Domain DNS Name\SYSVOL\<Domain DNS Name>\Policies\PolicyDefinitions)) kopieren. Im Anschluss die Gruppenrichtlinienverwaltung (gpmc.msc) starten, in der Computer- und / oder Benutzerkonfiguration in die administrativen Vorlagen wechseln und Mozilla -> Firefox -> Zertifikate -> Windows Zertifikatsspeicher benutzern -> Aktivieren.

Wie man sehen kann lässt sich die Einstellung „security.enterprise_roots.enabled“ im about:config-Tab nicht mehr ändern und diese erhält durch die Richtlinie den Status „gesperrt“.

Neben der Aktivierung des Windows Zertifikatsspeichers im Firefox können die Richtlinien noch ein wenig mehr wie zum Beispiel die Ausführung von Flash nur auf bestimmten Seiten zulassen oder den Zugriff auf Kamera, Mikrofon und Standort steuern. Eine vollständige Liste gibt es ebenfalls auf github bzw. im ZIP File mit den GPO Templates: https://github.com/mozilla/policy-templates/blob/master/README.md

Windows Zertifikatsspeicher unter Firefox nutzen

Mit dem Firefox Browser der eigenen Enterprise CA bzw. den Zertifikaten im Windows Zertifikatsspeicher vertrauen.

In einem Kundenprojekt gab es den Bedarf an einer zweistufigen Public Key Infrastruktur sowie der Nutzung des Firefox Browsers. Zum Einen gab es hier die Herausforderung dem Firefox beizubringen den Windows Zertifikatsspeicher zu nutzen sowie zum Anderen diese Einstellung nach Möglichkeit automatisiert auszurollen.

Update: Ab Version 60 versteht der Mozilla Firefox Gruppenrichtlinien – Juchuu!

Damit der Firefox Browser den per GPO verteilten Zertifikaten (Computer Konfiguration -> Windows Einstellungen -> Sicherheitseinstellungen -> Richtlinien für öffentliche Schlüssel -> Vertrauenswürdige Stammzertifizierungsstellen bzw. Zwischenzertifizierungsstellen) vertraut muss im Firefox im about:config Tab die Nutzung der Enterprise Roots aktiviert werden.

Um die guten Schuhe zu schonen wird jetzt ein Weg benötitig, diese Einstellung zu verteilen. Dazu wird ein GPO oder ein Start-Up-Script benötigt welches eine js-Datei ins Firefox Programmverzeichniss (C:\Program Files (x86)\Mozilla Firefox\defaults\pref) kopiert. Als Beispiel die Verteilung per GPO:

Dazu eine Freigabe erstellen in der die Computerkonten bzw. die „Authentifizierten User“ Lesen dürfen sowie ebenfalls das NTFS Recht „Lesen“ besitzen.

Im Ordner eine „EnableRoot.js“-Datei anlegen

/* Windows Zertifikatsspeicher nutzen */
pref("security.enterprise_roots.enabled", true);

GPO erstellen welche mit der entsprechenden Computer-OU verlinkt ist und unter Computerkonfiguration -> Einstellungen -> Windows-Einstellungen -> Dateien eine „neue Datei“ erstellen sowie eine Zielgruppenadressierung für x64 bzw. 64 Bit Systeme hinzufügen:

Quelldatei(en): \\<Server>\<Freigabe>\EnableRoot.js
Zieldatei: C:\Program Files (x86)\Mozilla Firefox\defaults\pref\EnableRoot.js
Select * from Win32_Processor where AddressWidth = ’64‘

Gruppenrichtlinien Einstellung (Group Policy Preference) für 64-Bit

Für die älteren x86 bzw. 32 Bit Clients folgende „neue Datei“ samt Zielgruppenadressierung erstellen:

Quelldatei(en): \\<Server>\<Freigabe>\EnableRoot.js
Zieldatei: C:\Program Files\Mozilla Firefox\defaults\pref\EnableRoot.js
Select * from Win32_Processor where AddressWidth = ’32‘

Gruppenrichtlinien Einstellung (Group Policy Preference) für 32-Bit
Gruppenrichtlinien-Einstellungen und Zielgruppenadressierung
Gruppenrichtlinien-Einstellungen und Zielgruppenadressierung

Im Worst-Case den Client einmal durchbooten, sofern es ein neues GPO ist oder per „gpupdate“ die Gruppenrichtlinien erneut anwenden.

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:\"