Wir führen eine Terminalserverfarm in einer Windows 2003-Domäne aus, und ich habe ein Problem mit den GPO-Einstellungen für Softwareeinschränkungen festgestellt, die auf unsere TS-Server angewendet werden. Hier sind die Details unserer Konfiguration und das Problem:
Auf allen unseren Servern (Domänencontroller und Terminalserver) wird Windows Server 2003 SP2 ausgeführt, und sowohl die Domäne als auch die Gesamtstruktur befinden sich auf Windows 2003-Ebene. Unsere TS-Server befinden sich in einer Organisationseinheit, in der bestimmte Gruppenrichtlinienobjekte verknüpft und die Vererbung blockiert sind. Daher werden nur die TS-spezifischen Gruppenrichtlinienobjekte auf diese TS-Server angewendet. Unsere Benutzer sind alle remote und haben keine Workstations, die mit unserer Domain verbunden sind. Daher verwenden wir keine Loopback-Richtlinienverarbeitung. Wir verfolgen einen "Whitelist" -Ansatz, um Benutzern das Ausführen von Anwendungen zu ermöglichen, sodass nur Anwendungen ausgeführt werden können, die wir genehmigen und als Pfad- oder Hash-Regeln hinzufügen. Wir haben die Sicherheitsstufe in Softwareeinschränkungen auf Nicht zulässig und die Durchsetzung auf "Alle Softwaredateien außer Bibliotheken" festgelegt.
Ich habe festgestellt, dass ein Benutzer, wenn ich ihm eine Verknüpfung zu einer Anwendung gebe, die Anwendung auch dann starten kann, wenn sie nicht in der Liste der zusätzlichen Regeln für Anwendungen auf der Whitelist enthalten ist. Wenn ich einem Benutzer eine Kopie der ausführbaren Hauptdatei für die Anwendung gebe und er versucht, sie zu starten, wird die erwartete Meldung "Dieses Programm wurde eingeschränkt ..." angezeigt. Es scheint, dass die Softwareeinschränkungen tatsächlich funktionieren, außer wenn der Benutzer eine Anwendung über eine Verknüpfung startet, anstatt die Anwendung über die ausführbare Hauptdatei selbst zu starten, was dem Zweck der Verwendung von Softwareeinschränkungen zu widersprechen scheint.
Meine Fragen sind: Hat jemand dieses Verhalten gesehen? Kann jemand anderes dieses Verhalten reproduzieren? Fehlt mir etwas in meinem Verständnis von Softwareeinschränkungen? Ist es wahrscheinlich, dass in den Softwareeinschränkungen etwas falsch konfiguriert ist?
BEARBEITEN
Um das Problem ein wenig zu klären:
Es werden keine übergeordneten Gruppenrichtlinienobjekte erzwungen. Das Ausführen von gpresults zeigt, dass tatsächlich nur die Gruppenrichtlinienobjekte auf TS-Ebene angewendet werden und ich tatsächlich sehen kann, dass meine Softwareeinschränkungen angewendet werden. Es werden keine Pfad-Platzhalter verwendet. Ich teste mit einer Anwendung unter "C: \ Programme \ Anwendung \ ausführbare Datei.exe" und die ausführbare Datei der Anwendung befindet sich in keinem Pfad oder in keiner Hash-Regel. Wenn der Benutzer die ausführbare Hauptanwendung direkt aus dem Ordner der Anwendung startet, werden die Softwareeinschränkungen erzwungen. Wenn ich dem Benutzer eine Verknüpfung gebe, die auf die ausführbare Anwendungsdatei unter "C: \ Programme \ Anwendung \ ausführbare Datei.exe" verweist, kann er das Programm starten.
BEARBEITEN
Außerdem werden LNK-Dateien in den festgelegten Dateitypen aufgeführt, sodass sie als ausführbare Datei behandelt werden sollten. Dies bedeutet, dass sie an dieselben Einstellungen und Regeln für Softwareeinschränkungen gebunden sind.
quelle
Antworten:
Also habe ich endlich die Antwort gefunden. In unseren Regeln für Softwareeinschränkungen gibt es eine Pfadregel als solche:
% HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ProgramFilesDir%
Auf diese Weise können alle ausführbaren Dateien im Verzeichnis "Programme" und in den untergeordneten Verzeichnissen unbeschwert ausgeführt werden. Dieser Pfad wird standardmäßig hinzugefügt, wenn Sie Softwareeinschränkungen konfigurieren. Das Entfernen dieser Pfadregel führt dazu, dass alle Programme abgelehnt werden, auch wenn ihre ausführbare Datei explizit als uneingeschränkter Pfad hinzugefügt wird.
Was die Frage aufwirft: Wenn 99% aller Programme im Verzeichnis "Programme" installiert sind, ich aber bestimmte Programme einschränken möchte, wie kann ich dies mit Softwareeinschränkungen erreichen?
Ebenso wichtig ist die Frage, was genau Softwarebeschränkungen nützen, außer für Programme oder ausführbare Dateien, die sich nicht in Programmdateien befinden.
quelle
Ich würde die ACLs in der Verknüpfung überprüfen, die Sie für die Benutzer erstellt haben. Gemäß den Richtlinien für Softwareeinschränkung Best Practices: Sicherheitspolitik; Sicherheitsdienste ,
quelle
Möglicherweise möchten Sie versuchen, LNK als festgelegten Dateityp zu entfernen. Obwohl sie als ausführbare Dateien behandelt werden, sollten sie es nicht sein. Auf diese Weise sollten die Softwareeinschränkungen auf die ausführbare Datei angewendet werden, auf die die LNK-Datei abzielt, und nicht auf die LNK-Datei selbst.
quelle
Ich habe erlebt, wovon Sie sprechen - es ist sehr ärgerlich. Ich bin mir ziemlich sicher, dass Ihre Benutzer standardmäßig Apps ausführen dürfen, die in Programmdateien installiert sind.
Haben Sie versucht, den Zugriff auf Anwendungen mit NTFS-Berechtigungen und White Listing auf diese Weise einzuschränken?
Dann könnten Benutzer Verknüpfungen zu dem haben, was sie wollten, und es würde ihnen nicht helfen, da sie nicht auf das Programm zugreifen könnten.
Ref: http://www.virtualizationadmin.com/articles-tutorials/terminal-services/security/locking-down-windows-terminal-services.html
quelle