当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] GPO 安全过滤

作者:精品下载站 日期:2024-12-14 20:55:00 浏览:15 分类:玩电脑

GPO 安全过滤


[玩转系统] GPO 安全过滤

本文将向您展示如何使用 PowerShell 对 GPO 安全过滤进行完整分析。

如果您正在寻找有关 GPO 安全过滤工作原理的完整说明,请转到本部分。

GPO 的安全筛选允许您限制受 GPO 设置影响的用户或计算机,并允许您委派 GPO 的管理。

要定位用户或计算机,您必须向用户/计算机或其所属组分配读取和应用权限。这些权限通常分配给经过身份验证的用户,因此请删除这些默认权限以限制目标用户。

在本文中,我们将了解如何全面了解所有 GPO 的安全过滤。 PowerShellExcel 就是您所需要的。

(如果您正在寻找有关 OU 安全过滤的信息,请查看本文)。

使用 PowerShell 获取 GPO 权限

要列出域中的所有 GPO,请使用以下 PowerShell 命令:

$GPOs = Get-GPO -Al

您的系统上需要有 GroupPolicy PowerShell 模块:在 Windows 客户端上安装 RSAT,或者在服务器上使用 Install-WindowsFeature 命令(如果尚未安装)。

牢牢掌握所有 GPO 对象后,您可以运行以下 PowerShell 命令来查看访问权限:

$ACLs = Get-GPPermission -Guid $GPO.Id -All

由于为每个 GPO 配置了多个访问权限,因此您还必须迭代这些权限。

为了全面了解 GPO 的安全设置,我建议获取以下信息:

  • 组策略对象名称
  • 组策略对象 GUID
  • 受托人
  • 分配给受托人的权利
  • 受托人类型
  • 所有者

将这些信息插入 Excel 后,您应该能够快速识别环境中的任何自定义设置。

此处列出了获取此信息的完整脚本:

# Set up output file
$File = "GPO_Delegation.txt"
"Name;GUID;ID;Rights;Type;Owner" | Out-File $File
# Import GPO module
Import-Module GroupPolicy
# Get all GPO's in the domain
$GPOs = Get-GPO -All
$Result = @()
ForEach($GPO In $GPOs){
    # Get ACL of GPO
    $ACLs = Get-GPPermission -Guid $GPO.Id -All
    ForEach($ACL in $ACLs){
        # Objectify the result for easier handling
        $Properties = @{
            ACL = $ACL
            GPO = $GPO
        }
        $Result += New-Object psobject -Property $Properties
    }
}
ForEach ($Item In $Result){
    $Output = $Item.GPO.DisplayName + ";" + $Item.GPO.Id + ";" + $Item.ACL.Trustee.Name + ";" + $Item.ACL.Permission + ";" + $Item.ACL.Trustee.SidType + ";" + $Item.GPO.Owner
    $Output | Out-File $File -Append
    Write-Host $Output
}

只需几行代码即可完成实际工作。剩下的就是格式化结果以便于导入到 Excel。

该脚本将生成类似于以下内容的输出:

Default Domain Policy;31b2f340-016d-11d2-945f-00c04fb984f9;Domain Admins;GpoCustom;Group;GIGACORP\Domain Admins
Default Domain Policy;31b2f340-016d-11d2-945f-00c04fb984f9;Enterprise Admins;GpoCustom;Group;GIGACORP\Domain Admins
Default Domain Policy;31b2f340-016d-11d2-945f-00c04fb984f9;SYSTEM;GpoEditDeleteModifySecurity;WellKnownGroup;GIGACORP\Domain Admins
Default Domain Policy;31b2f340-016d-11d2-945f-00c04fb984f9;Authenticated Users;GpoApply;WellKnownGroup;GIGACORP\Domain Admins
Default Domain Policy;31b2f340-016d-11d2-945f-00c04fb984f9;ENTERPRISE DOMAIN CONTROLLERS;GpoRead;WellKnownGroup;GIGACORP\Domain Admins
Default Domain Controllers Policy;6ac1786c-016f-11d2-945f-00c04fb984f9;Domain Admins;GpoCustom;Group;GIGACORP\Domain Admins
Default Domain Controllers Policy;6ac1786c-016f-11d2-945f-00c04fb984f9;Enterprise Admins;GpoCustom;Group;GIGACORP\Domain Admins
Default Domain Controllers Policy;6ac1786c-016f-11d2-945f-00c04fb984f9;SYSTEM;GpoEditDeleteModifySecurity;WellKnownGroup;GIGACORP\Domain Admins
Default Domain Controllers Policy;6ac1786c-016f-11d2-945f-00c04fb984f9;Authenticated Users;GpoApply;WellKnownGroup;GIGACORP\Domain Admins
Default Domain Controllers Policy;6ac1786c-016f-11d2-945f-00c04fb984f9;ENTERPRISE DOMAIN CONTROLLERS;GpoRead;WellKnownGroup;GIGACORP\Domain Admins
802.1x LAN Authentication;b2fdd239-3def-4af9-a53e-6fae160bb1af;G.C.802_1x_LAN_Computers;GpoApply;Group;GIGACORP\Domain Admins
802.1x LAN Authentication;b2fdd239-3def-4af9-a53e-6fae160bb1af;Domain Admins;GpoEditDeleteModifySecurity;Group;GIGACORP\Domain Admins
802.1x LAN Authentication;b2fdd239-3def-4af9-a53e-6fae160bb1af;Enterprise Admins;GpoEditDeleteModifySecurity;Group;GIGACORP\Domain Admins
802.1x LAN Authentication;b2fdd239-3def-4af9-a53e-6fae160bb1af;ENTERPRISE DOMAIN CONTROLLERS;GpoRead;WellKnownGroup;GIGACORP\Domain Admins
802.1x LAN Authentication;b2fdd239-3def-4af9-a53e-6fae160bb1af;Authenticated Users;GpoRead;WellKnownGroup;GIGACORP\Domain Admins
802.1x LAN Authentication;b2fdd239-3def-4af9-a53e-6fae160bb1af;SYSTEM;GpoEditDeleteModifySecurity;WellKnownGroup;GIGACORP\Domain Admins
Computer Certificate Autoenroll;c5985d6f-e519-4fa3-9260-fbe289be7b56;Authenticated Users;GpoApply;WellKnownGroup;GIGACORP\Domain Admins
Computer Certificate Autoenroll;c5985d6f-e519-4fa3-9260-fbe289be7b56;Domain Admins;GpoEditDeleteModifySecurity;Group;GIGACORP\Domain Admins
Computer Certificate Autoenroll;c5985d6f-e519-4fa3-9260-fbe289be7b56;Enterprise Admins;GpoEditDeleteModifySecurity;Group;GIGACORP\Domain Admins
Computer Certificate Autoenroll;c5985d6f-e519-4fa3-9260-fbe289be7b56;ENTERPRISE DOMAIN CONTROLLERS;GpoRead;WellKnownGroup;GIGACORP\Domain Admins
Computer Certificate Autoenroll;c5985d6f-e519-4fa3-9260-fbe289be7b56;SYSTEM;GpoEditDeleteModifySecurity;WellKnownGroup;GIGACORP\Domain Admins

在您的生产环境中,输出当然会大得多。

打开输出文件 GPO_Delegation.txt,轻松将数据导入 Excel 进行进一步分析。

使用 Excel 分析 GPO 安全过滤

使用之前的脚本导出数据后,就可以使用 Excel 仔细查看数据了。

将输出文件“GPO_Delegation.txt”的内容复制到 Excel 中,使用分号作为列分隔符并在顶行创建过滤器:

[玩转系统] GPO 安全过滤

[玩转系统] GPO 安全过滤

您可以检查 GPO 的安全选项卡,以获取有关配置的安全过滤的更多详细信息。

在组策略管理控制台中识别 GPO,右键单击并选择编辑:

[玩转系统] GPO 安全过滤

右键单击 GPO 并选择属性:

[玩转系统] GPO 安全过滤

查看“安全”选项卡中的访问权限,了解有关 GPO 自定义委派的完整信息:

[玩转系统] GPO 安全过滤

概括

现在你就得到了它。全面了解 GPO 上的自定义安全过滤可能是一项艰巨的任务。但这实际上相当容易实现。

Active Directory GPO 上的访问权限委派应始终遵循最小权限原则。使用 PowerShell 和 Excel,您可以轻松地深入检查您的设置。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯