本章目录(6)On this page (6)
  1. 两种模式
  2. 审计日志必须开,而且是基础
  3. 环回处理
  4. 拆包
  5. 强制执行的两条路径
  6. 环回之外的两个常见问题
文章Articles

组策略与终端强制

用 GPO 把口令、审计、屏保、更新这些决定可靠地推到每一台机器上,以及环回处理和拆包这两个绕不开的工程问题。

更新Updated 2026.10.17identitygroup-policywindows

两种模式

模式 生效时机 用途
计算机配置 开机时 安全基线:审计、屏保、更新、防火墙
用户配置 登录时 桌面体验、映射驱动器、软件限制

安全基线全部放计算机配置。用户配置可以在用户退出前被改回来,甚至可以在用户会话里被改——放在这里的策略等于没有。

审计日志必须开,而且是基础

一个常见的误区是:「有了 Sysmon / 日志平台,还要开 GPO 审计日志吗?」答案是要,而且它是基础,不是补充。

因为两者记录的根本不是一回事:

记录什么 典型事件
Sysmon 进程、网络连接、文件行为 进程创建、命令行参数、出站连接
GPO 审计日志 身份与权限事件 登录成功(4624)、登录失败(4625)、权限变更、账户操作

Sysmon 回答「这台机器上发生了什么」,审计日志回答「是谁」触发的、以什么身份触发的。少了后者,日志里只有一串没有归属的进程链——能看到 PowerShell 被启动了,看不到是哪个账号在下班后启动的它。缺一个都不完整:没有审计,溯源停在「有这事」;没有 Sysmon,溯源停在「有这人」。

所以基线里这几项审计必须通过 GPO 打开:登录日志、PowerShell 日志、账户变更、敏感目录的文件访问。USB 相关行为则主要由 Sysmon 侧采集。不建议全量审计——日志量会迅速膨胀,很快撑爆存储;按上面的清单开,就够覆盖绝大多数溯源场景。

环回处理

这是 GPO 最经典的坑:用户策略作用于计算机对象时,默认不生效。

典型症状:域策略里给用户配了软件安装,用户在域控本机上装不上;在服务器上用管理员账号登录,桌面策略也不生效。

# 用户策略:反向(计算机对象也要应用)
Set-GPRegisteredValue -Guid "{42B5FAAE-6536-4842-9C55-3937E6B2B2D7}" `
  -Name "Loopback" -Value 1
# 0 = 不合并  1 = 合并  2 = 替换

处理原则:只在确实需要用户策略作用于计算机的 OU 上开环回,并且一律用「替换」而不是「合并」。合并模式下两套策略的胜出关系很难预测。

拆包

一个 GPO 塞进几十条设置会带来两个问题:登录变慢,以及排查时不知道是哪一条导致的。

拆分的合理单位是变更频率:

GPO-Base-Windows          基线设置,几乎不动      → 计算机配置
GPO-Security-Endpoint     审计与日志策略          → 计算机配置
GPO-Update-Servers        服务器更新窗口          → 计算机配置
GPO-WiFi-Split            无线网络                → 用户配置
GPO-Software-Restricted   软件限制(AppLocker/WDAC)→ 计算机配置

一个判断标准:如果一个设置要通过审核(比如密码长度、审计策略),它就该有自己的 GPO——审核时能直接指出「这一条来自哪个 GPO」。

强制执行的两条路径

GPO 推不下去的时候,客户端刷新通常会失败。先看这三个地方:

# 1) 客户端能不能连到域控
Test-ComputerSecureChannel -Verbose

# 2) 手动刷新并看错误
gpupdate /force
# 报错 0x800705dc = 域控不可达
# 报错 0x80070005 = 权限不足(多半是没加 Domain Computers)

# 3) 看策略结果报告
gpresult /r
gpresult /h C:\temp\gpo.html

gpresult /r 是判断「策略到底有没有应用」的唯一可靠手段。客户端的日志里经常同时有成功和失败的记录,看 Resultant Set of Policy 里的 Applied 部分才准。

环回之外的两个常见问题

组策略链接顺序。同级的多个 GPO 会按字母序合并,拒绝优先于允许,最后应用的胜出。所以不要依赖字母序,链接顺序错了很难发现——要用冲突项的话,要么在同一条设置里写清楚,要么拆到不同 OU。

安全组筛选。给 GPO 做安全筛选时,如果筛选的组解析失败(组被删了、域控不可达),结果是该 GPO 不作用于任何机器,而不是作用于全部。安全筛选总是保守失败。