Fragensteller
WMI Nutzerberechtigungen (High Secure)

Frage
-
Einen schönen Tag wünsche ich euch,
ich habe folgendes Problem: Mit meinem Monitoring Tool benötige ich Credentials auf dem zu überwachenden System (Windows). Möglich ist dies nur mit WMI. Mit dem Domänenadmin kein Problem, jedoch möchte ich die höchstmögliche Sicherheit gewähren und einen Domänenuser dafür hinterlegen. Dazu habe ich folgende Kriterien aufgestellt:
- User ist nur in der Gruppe Leistungsüberwachungsbenutzer, nicht DCOM
- Kann nur WMI mit einem Lesezugriff Remote abfragen
- Add the user(s) in question to the Performance Monitor Users group
- Under Services and Applications, bring up the properties dialog of WMI Control (or run wmimgmt.msc). In the Security tab, highlight Root/CIMV2, click Security; add Performance Monitor Users and enable the options : Enable Account and Remote Enable
- Run dcomcnfg. At Component Services > Computers > My Computer, in the COM security tab of the Properties dialog click "Edit Limits" for both Access Permissions and Launch and Activation Permissions. Add Performance Monitor Users and allow remote access, remote launch, and remote activation.
- Select Windows Management Instrumentation under Component Services > Computers > My Computer > DCOM Config and give Remote
Launch and Remote Activation privileges
to Performance Monitor Users Group.
- At last turn on the Firewall Rule for WMI Inbound (Domain) in the Windows Defender Firewall. wf.msc
Nun sehe ich mich in bäldiger Zukunft dass für sehr viele Rechner einer Domäne zu erledigen, daher frage ich mich:
Kann ich eine GPO formulieren, womit die Clients diese Einstellungen übernehmen?
Bin ein Student und befasse mich noch nicht so lange mit Microsoft Administration.
Vielen Dank schon einmal für eure Antworten!
Dies konnte ich dank diesem Beitrag im Internet ermöglichen: https://serverfault.com/questions/28520/which-permissions-rights-does-a-user-need-to-have-wmi-access-on-remote-machines/44997#44997
mithilfe folgender Einstellungen:
Alle Antworten
-
Hallo lmbarth,
um das ganze so so fein abgegrenzt zu setzten ist mir keine Policy Option bekannt. Da kenne ich nur die Option ComputerConfiguration->Windows Settings-> Security Settings -> Security Options -> DCOM:... hier kannst du aber nur einem User/Gruppe komplette Rechte auf die DCOM Schnittstellen geben.
Um das ganze wie beschrieben umzusetzen ist wohl etwas Skripting erforderlich.
Ich habe das ganze mal in einemPowershell-Skript gebaut. Ich habe mir dafür allerdings um das ganze etwas zu vereinfachen bereits bestehende vordefinierte Skripte zur Hilfe genommen.
Skript Quellen:
hier sind auch die zugehörigen Lizenz Bestimmungen zu finden
https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClcsCAC
https://gallery.technet.microsoft.com/scriptcenter/Grant-Revoke-Get-DCOM-22da5b96
http://get-carbon.org/
Mein Skript greift auf die genannten Skripte bzw. Pakete zu so wird das ganze etwas vereinfacht. Damit das ganze funktioniert die Skripte herunterladen und in den selben Ordner legen, das Skript greift dann selbständig darauf zu, allerdings muss vorher der Pfad in zwei variablen eingetragen werden. Das unten angeführte Skript einfach in eine ISE kopieren und als .ps1 abspeichern. Anschließend deiner GPO als StartScript hinzufügen ggf. muss über die Parameter die Script-Execution Policy umgangen werden. Die Variablen sind alle so gesetzt, dass nur hier etwas geändert werden muss um eine andere DCOM Schnittstelle oder eine Gruppe etc. nutzen zu können im Skript muss nichts geändert werden. Firewall Regel lasse ich aus dem Skript raus, das würde ich wieder über GPO machen.
Hoffe das Hilft etwas
Gruß Ulf
######################################## # Change Distributed COM Permissions # # Use this Script to grant permissions # # using Group Policy or something else # ######################################## ##Generate Variables ##Change here for your requiements ##Replace CLSID with your Apllication CLSID $Appid = "{8BC3F05E-D86B-11D0-A075-00C04FB68820}" ##Replace "Performance Monitor Users" with target Group or User $targroup = ".\Leistungsüberwachungsbenutzer" ##Permissions change here $perm1 = "RemoteLaunch" $perm2 = "RemoteActivation" ##ComLimit Variales $comscriptpath = "C:\temp\WMIDCOMScript\Carbon" $comtargroup = 'Leistungsüberwachungsbenutzer' ##Used for change Com Access Permsionns $comallowperm1 = @{Remote = $true} ##Used for change COM Activiton Permisionns $comperm1 = @{RemoteLaunch = $true} $comperm2 = @{RemoteActivation = $true} ##WMI mgment.msc Change perms here like root/cimv2 $wmimgmntperm = "root/cimv2" $wmiperm1 = "Enable" $wmiperm2 = "RemoteAccess" $wmiscriptpath = "C:\temp\WMIDCOMScript" ######################### DO NOT M0dify################################################################ ##SET DCOM Permissions## ##Download Script from https://gallery.technet.microsoft.com/scriptcenter/Grant-Revoke-Get-DCOM-22da5b96 ##Place the Script in the same directory as this execution Script Import-Module $PSScriptRoot\DCOMPermissions.psm1 ##Grant DCOM Permissions for WMI to Performance Monitor Users Grant-DCOMPermission -ApplicationID $Appid -account $targroup -Type Launch -Permissions $perm1,$perm2 ##Set COM Limit Permissions cd $comscriptpath .\Import-Carbon.ps1 ##Acces Permissions Grant-ComPermission -Identity $comtargroup -Access -Limits -Allow @comallowperm1 ##Launch and LaunchAndActivation Permissions Grant-ComPermission -LaunchAndActivation -Identity $comtargroup -Limits -Allow @comperm1 @comperm2 Remove-Module -Name 'Carbon' ##Set Permissons an root\cimv2## ##Download Script from https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClcsCAC ##Copy script into Scriptroot ##Set Permissions ##.\Set-WmiNamespaceSecurity.ps1 $wmimgmntperm add $targroup Enable, cd $wmiscriptpath .\Set-WmiNamespaceSecurity.ps1 $wmimgmntperm add $targroup $wmiperm1,$wmiperm2 exit
PS. das ich hätte das ganze unter folgendem Forum gepostet
https://social.technet.microsoft.com/Forums/de-DE/home?forum=gruppenrichtliniende&filter=alllanguages
-
Very nice :-)
Es sei hier der dringende Hinweis erlaubt, dass die TechNet Gallery (nicht zu verwechseln mit der PowerShell Gallery) zu einem noch nicht definierten Zeitpunkt in naher Zukunft geschlossen wird: https://docs.microsoft.com/en-us/teamblog/technet-gallery-retirement
Evgenij Smirnov
-
Großartig. Es funktioniert einwandfrei.
Gibt es auch eine Möglichkeit das ganze auf der Domänenebene abzubilden? Ich bin mir noch nicht sicher wie die Implementierung das am Ende vorsieht, ob Überwachungsnutzer in der Leistungsüberwachungsbenutzergruppe lokal angelegt werden oder Domänenmitglieder sein sollen.
Vielen Dank Ulf97!
@Evgenji Smirnov
Danke für den Hinweis!
- Bearbeitet lmbarth Mittwoch, 24. Juni 2020 14:29
-
Prinzipiell sollte es kein Problem sein die angegebene Gruppe durch eine AD-Group zu ersetzten. Einfach oben unter den variablen mal austauschen und testen wie es sich verhält.
Alternativ eine AD Gruppe anlegen z.b "WMI-Acces" dort die benötigten Domänen Benutzer rein und die Gruppe per GPO Computer Configuration -> Windows Settings -> Security Settings -> Restricted Groups in die lokale Gruppe aufnehmen. Aber Achtung hier muss der Engische Gruppen namen verwendet werden.
-
Hallo lmbarth,
für dich zur Info falls du noch nicht selbst testen konntest. Ich habe das ganze heute in meiner Domäne durchgeführt. Habe ich die Gruppen einfach durch AD-Gruppen ersetzt und die Pfade durch UNC-Pfade -> hat ohne Probleme funktioniert.