简介:面向企业IT运维与安全加固人员的Windows 10 1803安全基线配置资料,聚焦系统合规检查与策略落地,适合需要按微软官方标准完成终端安全加固的中级技术人员参考。压缩包共72个文件、约1.06MB,以xml策略模板、htm组策略报告、pol与cmtx策略文件为主,辅以admx/adml管理模板、inf与cmd部署脚本、mof WMI筛选器及xlsx基线对照表,覆盖本地脚本安装、域加入与非域加入两类部署场景。资源内含计算机与用户两侧的组策略报告,涉及BitLocker、Credential Guard、Defender防病毒、域安全及IE 11等模块,并附RS3到RS4的基线差异说明,便于读者比对版本变化、定位策略项。已有1623人学习下载,可帮助读者快速搭建基线核查环境、理解各策略项含义并完成加固验证。
1. 安全基线不是清单,是一张能落地的加固地图
很多人第一次接触 Windows 10 安全基线,会把它当成一份“照着改就完事”的配置清单:关掉这个服务、打开那个策略、把注册表键值改成 1。真到动手时才发现,1803 这个版本里同一个安全目标往往有三条路径——本地安全策略、组策略、注册表,改错一处要么不生效,要么把机器锁死。安全基线 window 这个方向真正难的不是“知道要改什么”,而是“知道每一项为什么改、改了影响谁、怎么验证生效”。这篇笔记按知识地图的方式梳理:先看清基线覆盖的几大模块,再逐块拆解账户、策略、服务、审计、攻击面收敛的要点,最后落到一份可执行的复习与自查清单。适合正在系统学 Windows 加固的人,也适合考前快速查漏补缺的人。
2. 账户与认证基线:口令、锁定与权限分层
账户是整个基线的入口,1803 的账户类设置几乎全部围绕“谁能进来、进来后能干什么”展开。梳理下来会发现,这一块的重点不是把口令策略调到最严,而是让口令复杂度、锁定阈值、权限分配三者互相配合,形成一条完整的防线。很多人只改口令长度,却忘了账户锁定策略,结果暴力破解照样能试。
2.1 口令策略的三个参数怎么配
口令策略在“本地安全策略 → 账户策略 → 密码策略”里,核心参数就三个:最短密码长度、密码复杂性要求、最长使用期限。基线通常要求长度不低于 8 位、启用复杂性、最长使用期限不超过 90 天。参数之间是有联动的:如果启用了“密码必须符合复杂性要求”,那么长度 8 位实际约束的是字符集组合,而不是单纯位数。
# 查看当前口令策略(需管理员权限) net accounts # 输出示例: # 密码最短使用期限(天): 0 # 密码最长使用期限(天): 90 # 密码长度最小值: 8 # 密码历史记录: 5这段命令输出的是本机账户策略的当前值,密码长度最小值对应基线里的最短密码长度,密码历史记录决定用户能否重复使用旧密码。改完之后一定要用net accounts回读一次,因为组策略下发的值会覆盖本地设置,只看图形界面容易误判。最容易忽略的是“密码最短使用期限”,它防止用户改一圈又改回来,基线里通常设为 1 天。
2.2 账户锁定阈值与观察窗口
账户锁定策略包含三个参数:锁定阈值、锁定持续时间、重置计数器时间。基线常见配置是 5 次无效登录锁定、锁定 15 分钟、计数器 15 分钟后重置。这三个值必须满足“重置时间 ≥ 锁定时间”,否则会出现用户刚解锁、计数器还没清零、又被立刻锁定的玄学现象。
| 参数 | 基线建议值 | 作用 | 配错的后果 |
|---|---|---|---|
| 锁定阈值 | 5 次 | 触发锁定的失败次数 | 设 0 等于永不锁定 |
| 锁定持续时间 | 15 分钟 | 锁定时长 | 设 0 需管理员手动解锁 |
| 重置计数器时间 | 15 分钟 | 失败计数清零周期 | 小于锁定时长会反复锁 |
这张表是复习时最该背下来的部分,因为三个参数的关系比单个数值更重要。血泪经验是:测试环境里把锁定阈值设成 3 次、重置时间设成 5 分钟,结果自动化脚本一跑就锁一片账户,排查半天才发现是计数器窗口太短。
2.3 本地组成员与权限最小化
账户基线还有一半在“本地用户和组”里。Administrators 组只保留必要账户,Guest 必须禁用,远程桌面用户组要单独审查。1803 里内置管理员账户(Administrator)默认禁用,基线要求保持禁用状态,并给所有管理员账户改名或设置强口令。权限分层的关键是:日常操作账户不进 Administrators,管理操作走单独的管理账户,这样即使日常账户被钓鱼,攻击者也拿不到高权限。
3. 安全策略与注册表:那些图形界面藏起来的开关
安全策略模块是基线里最“散”的一块,散在本地安全策略、组策略、注册表三个地方。重点在于理解哪些设置只能通过注册表改、哪些改了要重启、哪些会被域策略覆盖。这一块最容易翻车的地方是“改了没生效”,而原因往往不是配置错,是作用域和刷新机制没搞清。
3.1 用户权限分配与安全选项
“本地策略 → 用户权限分配”里,基线关注的是“拒绝从网络访问这台计算机”“拒绝本地登录”“取得文件或其他对象的所有权”这几项。默认情况下 Everyone 可能拥有某些不该有的权限,基线要求把这些权限收窄到 Administrators 或特定服务账户。安全选项里则是一批开关:UAC 提权提示行为、关机时清除虚拟内存页面文件、不允许 SAM 账户匿名枚举。
# 导出当前安全策略做基线比对 secedit /export /cfg baseline_current.inf # 导出后可用文本比对工具与标准基线 inf 对比secedit /export把当前安全策略导出成 inf 文本,这是做基线自查最实用的手段:拿导出的文件和标准基线逐行比对,差异一目了然。参数/cfg指定输出文件,导出的是可读文本,不是二进制。注意导出的是“当前生效值”,如果组策略和本地策略冲突,这里看到的是最终结果,正好用来验证下发是否成功。
3.2 注册表加固的典型键值
注册表是图形界面藏起来的开关的聚集地。1803 基线里常见的注册表项包括:禁用自动播放(NoDriveTypeAutoRun)、禁用远程注册表访问、限制匿名 SID 枚举、关闭 Windows 脚本宿主。每一项都要落到具体路径和值,不能只记“要禁用”。
# 禁用自动播放(当前用户) reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 255 /f # 禁用远程注册表服务访问相关策略 reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg\AllowedExactPaths" /v Machine /t REG_MULTI_SZ /d "" /f第一行把NoDriveTypeAutoRun设为 255,含义是所有驱动器类型都禁用自动播放,这是基线里最常被漏掉的一项,因为它在用户配置分支下,只改机器分支不生效。第二行涉及远程注册表访问控制,REG_MULTI_SZ类型表示多字符串,置空等于收紧允许路径。改注册表前务必先导出备份,这是后悔药:reg export一条命令就能把整个分支存下来。
3.3 组策略与本地策略的优先级
同一个设置可能同时存在于本地策略和组策略里,生效顺序是:本地策略 → 站点 → 域 → 组织单位,后者覆盖前者。复习时要记住一个判断方法:如果某项设置在图形界面改了没反应,先查gpresult /h report.html看最终生效的是哪条策略。这个命令生成 HTML 报告,能看到每条策略的来源和胜负,是排查“改了不生效”的黑匣子。
4. 服务、端口与攻击面收敛:关掉不用的,锁住要用的
攻击面收敛是基线里“减法”做得最多的一块:关服务、关端口、关协议。重点不是关得越多越好,而是每关一项都要能说清“这台机器上谁在用”。1803 里 SMBv1、Telnet、远程注册表、Windows 远程管理这些是重点对象,但关之前要确认没有业务依赖,否则就是给自己埋雷。
4.1 高危服务的禁用清单
基线要求禁用的服务通常包括:Remote Registry、Telnet、TFTP、SNMP(如无监控需求)、Windows Remote Management(如无远程管理需求)。判断一个服务该不该关,看它的启动类型和依赖关系,而不是看名字。
# 查看服务状态与启动类型 sc query RemoteRegistry sc qc RemoteRegistry # 禁用并停止服务 sc config RemoteRegistry start= disabled sc stop RemoteRegistrysc qc输出服务的配置信息,包括启动类型和依赖服务,start= disabled把启动类型设为禁用,注意等号后必须有空格,这是sc命令的固定语法,写错就报错。停服务前先看依赖:如果某个业务服务依赖 Remote Registry,直接禁用会导致业务启动失败。踩坑最多的是把“禁用”和“停止”混为一谈——只 stop 不 config,重启后服务又起来了。
4.2 SMB 与网络协议的收敛
SMBv1 是基线里明确要求禁用的协议,1803 默认可能仍启用。禁用方式是通过“启用或关闭 Windows 功能”移除 SMB 1.0 支持,或用 PowerShell 的Disable-WindowsOptionalFeature。同时要关注 LLMNR 和 NetBIOS over TCP/IP,这两项常被用于内网名称解析攻击,基线建议在不需要时关闭。
| 对象 | 基线动作 | 验证方式 | 风险 |
|---|---|---|---|
| SMBv1 | 禁用 | Get-SmbServerConfiguration | 老设备无法访问共享 |
| LLMNR | 禁用 | 注册表EnableMulticast=0 | 影响名称解析 |
| NetBIOS | 按需关闭 | ipconfig /all查看 | 影响老应用发现 |
这张表复习时重点看“验证方式”一列,因为关没关掉不能靠记忆,要靠命令回读。SMBv1 禁用后如果还有老打印机连不上,就是典型的“关了但业务依赖没排查”,这类问题在考试和实战里都高频出现。
4.3 防火墙与入站规则的最小化
防火墙基线不是“全开”或“全关”,而是入站默认阻止、出站默认允许、按需放行。1803 的防火墙有三个配置文件:域、专用、公用,基线要求三个配置文件都启用,入站默认阻止。重点在于审查已有的入站放行规则,把“任何端口任何来源”的宽规则收窄到具体端口和网段。
# 查看所有启用的入站放行规则 netsh advfirewall firewall show rule name=all dir=in | findstr /i "启用 规则名称" # 或用 PowerShell 更清晰 Get-NetFirewallRule -Direction Inbound -Enabled True | Select-Object DisplayName, ActionGet-NetFirewallRule的输出比 netsh 更结构化,-Direction Inbound -Enabled True两个参数把范围限定在“启用的入站规则”,Select-Object只取名称和动作两列,避免输出刷屏。审查时重点找Action为 Allow 且作用域是 Any 的规则,这些就是攻击面收敛要处理的对象。
5. 审计与日志:基线里最容易被跳过的“证据链”
审计策略是基线里存在感最低、但考试和实战都爱考的一块。很多人把审计当成“开了就行”,实际上审计分“审核策略”和“高级审核策略”两套,1803 推荐用高级审核,因为它能精确到子类别。重点在于:登录事件、账户管理、对象访问、策略更改这四类必须开,且要能说清每类记录什么。
5.1 高级审核策略的子类别
高级审核策略在“本地安全策略 → 高级审核策略配置 → 审核策略”里,子类别包括“审核登录”“审核账户登录”“审核其他登录/注销事件”“审核用户账户管理”等。基线要求至少开启成功和失败两个方向的登录审计,账户管理审计开成功,策略更改审计开成功和失败。
# 查看当前审核策略 auditpol /get /category:* # 开启登录成功与失败审计 auditpol /set /subcategory:"登录" /success:enable /failure:enableauditpol /get /category:*列出所有类别的当前审计状态,/subcategory指定子类别名称,/success和/failure分别控制成功与失败事件。注意子类别名称要用系统显示名,不同语言版本名称不同,写脚本时最好先用/get确认名称。审计开太多会导致日志爆炸,开太少又查不到证据,基线给的是“够用”的下限,不是越多越好。
5.2 日志大小与保留策略
审计开了不等于能查到,日志文件大小和覆盖策略同样关键。基线建议安全日志不小于 128MB,采用“按需覆盖”而不是“覆盖早于 X 天”,避免攻击者用大量事件把关键日志冲掉。日志大小在事件查看器里改,或用wevtutil命令。
# 设置安全日志最大 128MB 并启用按需覆盖 wevtutil sl Security /ms:134217728 /rt:false/ms参数单位是字节,128MB 等于 134217728,/rt:false表示不按时间覆盖、按需覆盖。这个命令改完立即生效,但要注意磁盘空间:日志设太大而磁盘小,反而会挤占系统空间。复习时记住“大小 + 覆盖策略”是一对,只改一个等于没改。
6. 易错点排查:五条最容易翻车的基线操作
6.1 易错点一:只改本地策略,忘了组策略覆盖
为什么漏:本地安全策略图形界面最直观,改完以为生效,实际域环境下组策略优先级更高,本地设置被静默覆盖。怎么补:每次改完用gpresult /h生成报告,确认最终生效来源;单机环境则用secedit /export回读比对。
6.2 易错点二:禁用服务不看依赖
为什么漏:服务名看起来无关,实际被业务服务依赖,禁用后业务起不来,排查方向还容易跑偏。怎么补:禁用前用sc qc看依赖服务,测试环境先停不先禁,观察一个业务周期再改启动类型。
6.3 易错点三:口令策略与锁定策略参数冲突
为什么漏:两个策略在不同界面,参数关系不直观,重置时间小于锁定时长会导致反复锁定。怎么补:把三个锁定参数和口令历史记成一组,配置后用net accounts回读,确认重置时间不小于锁定时间。
6.4 易错点四:审计开了但日志被冲掉
为什么漏:只关注“开没开审计”,忽略日志大小和覆盖策略,关键事件被后续日志覆盖。怎么补:审计和日志大小一起配,安全日志不低于 128MB,覆盖策略选按需覆盖,定期检查日志保留情况。
6.5 易错点五:注册表改错分支
为什么漏:同一策略在 HKCU 和 HKLM 下都有对应键,改错分支不生效,且没有报错提示。怎么补:改前确认策略作用范围(当前用户还是整机),改后用reg query回读,重要分支先reg export备份。
7. 复习清单:把基线变成一张可自查的表
复习到这个阶段,最有效的不是再读一遍,而是拿一张表逐项打勾。下面这份清单按模块组织,每项都带验证命令,复习时遮住右列自测,能说出验证方式才算真掌握。
| 模块 | 检查项 | 验证方式 |
|---|---|---|
| 账户 | 口令长度 ≥ 8、启用复杂性 | net accounts |
| 账户 | 锁定阈值 5 次、重置 ≥ 锁定 | net accounts |
| 账户 | Guest 禁用、Administrator 禁用 | net user guest |
| 策略 | 安全策略导出比对 | secedit /export |
| 策略 | 组策略最终生效来源 | gpresult /h |
| 服务 | 高危服务启动类型为禁用 | sc qc 服务名 |
| 协议 | SMBv1 已禁用 | Get-SmbServerConfiguration |
| 防火墙 | 入站默认阻止、无宽放行规则 | Get-NetFirewallRule |
| 审计 | 登录与账户管理审计已开 | auditpol /get |
| 日志 | 安全日志 ≥ 128MB、按需覆盖 | wevtutil gl Security |
这张表的价值在于“验证方式”那一列:基线复习最容易犯的错是背结论不背验证,考试问“怎么确认”就卡壳。我的习惯是每改完一个模块,立刻跑对应命令回读,把输出贴进自己的笔记里,形成“配置—验证—记录”的闭环。从那以后我每次做基线加固,都强制走一遍“改前备份、改后回读、差异记录”三步,翻车次数明显少了。希望这份梳理能帮到你,把这张表存下来,复习时逐行过一遍,比通读十遍文档都管用。
本文还有配套的精品资源,点击获取