多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Windows终端与服务器等保测评实战:资产梳理、测评项拆解与整改落地

Windows终端与服务器等保测评实战:资产梳理、测评项拆解与整改落地 等保测评接到手的时候最让人头疼的往往不是业务系统的复杂逻辑而是那一堆Windows终端和服务器——既有老旧的Windows Server 2008也有刚上的Windows Server 2019终端更是型号混杂、补丁参差。很多人以为等保测评就是“看看密码长度、装没装杀毒软件”真正操作起来才发现光是一个“身份鉴别”控制点就能拉出十几项细查要求。这篇东西我基于这些年做过的Windows终端和服务器测评项目把从资产梳理、测评项拆解、证据收集到整改复测的完整链路捋一遍给正在准备等保测评或自己内部预检的运维、安全工程师一个可以直接照着做的参考。1. 测评对象边界先把终端和服务器分开测评范围才不会失控1.1 从资产清单到测评对象哪些Windows设备必须纳入很多项目一开始就栽在“范围不清”上。测评机构会根据备案表和网络拓扑圈定测评对象但实际运维中往往有大量“隐藏资产”——比如某个部门自己装的Windows 10办公机、一台没入域但连着业务网的Windows Server核心板、甚至开发用的虚拟机。我遇到过用户提供30台终端结果现场发现实际有47台的情况测评结论的可信度直接下降。建议在正式测评前用两种方式交叉梳理网络扫描通过Nmap或内网扫描工具按IP段探测开放445、3389、139等端口的Windows设备再比对ARP表和DHCP租约。域控查询如果是AD域环境直接导出一份computers组织单位下的所有计算机账户再结合Get-ADComputer -Filter *命令拉取操作系统版本、最后登录时间筛掉长时间离线的僵尸设备。梳理结果需要按“服务器区”“终端区”“管理区”进行分级并标记每台设备的用途域名控制器、Web服务器、数据库服务器、办公终端、运维终端等。等保2.0对“关键设备”和“一般设备”的测评深度不同比如对域控和数据服务器身份鉴别、访问控制、安全审计这些控制点基本是全部检查而普通办公终端在入侵防范上相对宽松一些。1.2 物理机与虚拟化场景下的边界划分现在虚拟化环境很常见但测评边界容易被搞混。如果一台物理服务器上跑了多个Windows Server虚拟机测评对象通常是承载业务系统的虚拟服务器而不是宿主机本身的超融合系统。不过宿主机的管理安全、虚拟化平台的安全配置也要纳入测评范围——因为一旦宿主机被攻破所有虚拟机都暴露。在Windows终端这边还要注意VDI虚拟桌面与物理终端的差异。VDI的模板镜像、虚拟桌面池对应的安全策略和物理PC一样需要测评但外设管控、网络安全域隔离等要求在VDI场景下会有特殊体现。我建议在资产表里专门增加一列“部署形态”填“物理机”“虚拟机”“VDI”等方便后续套用测评项时做差异化处理。1.3 网络区域归属对测评项的影响Windows终端和服务器所部署的网络区域直接影响测评项的判定。比如部署在边界区的Windows服务器需要检查是否配置了访问控制策略、是否开启不必要的端口映射而部署在内网办公区的Windows终端需要侧重检查是否私自搭建无线热点、是否非法外联。测评机构通常会把网络划分为“核心交换区”“服务器区”“终端接入区”“安全管理区”等每台Windows设备要对应到具体区域。我在预检时会把每一台设备的IP地址、MAC地址、所在VLAN、网关、DNS、所属区域全部整理成表格后面测评时直接按表抽查效率高很多。2. Windows测评项逐条拆解等保2.0控制点里的硬指标2.1 身份鉴别密码策略、登录失败处理与双因素认证身份鉴别是Windows测评的“重灾区”。等保2.0要求“应对登录的用户进行身份标识和鉴别身份标识具有唯一性身份鉴别信息具有复杂度要求并定期更换”。具体到Windows上需要检查这些项密码策略查看“本地安全策略→账户策略→密码策略”中的密码长度最小值建议≥8位最好≥10位、密码复杂性要求启用、密码最长使用期限≤90天、强制密码历史≥5个。登录失败处理查看“账户锁定策略”中的账户锁定阈值建议≤5次、锁定时间建议≥30分钟、复位计数器时间。注意Windows Server 2008默认没有启用锁定策略这是高频不合规点。双因素认证等保三级以上要求“采用两种或两种以上组合的鉴别技术”。对Windows系统来说可以使用USB Key 密码、智能卡 PIN、或结合动态口令系统。如果只靠密码这项直接不合规。需要注意的是域环境下的双因素认证通常要结合AD证书服务和智能卡登录配置相对复杂但很多测评项目会接受“堡垒机 Windows账号密码”的组合鉴别方式。另外Windows 10和Server 2016以后支持Windows Hello、Microsoft账户等鉴别方式但在企业内网测评中通常不建议使用微软云账户本地域账户更可控。2.2 访问控制用户权限、共享安全与默认共享隐患访问控制的核心是“最小权限原则”。测评时重点看用户权限分配检查本地“安全设置→本地策略→用户权限分配”中是否把不必要的用户加入“作为操作系统的一部分运行”“从网络访问此计算机”“拒绝从网络访问这台计算机”等策略。常见不合规现象是Everyone组拥有“从网络访问此计算机”权限。共享权限检查所有共享文件夹的共享权限和NTFS权限。很多人只注意共享权限忽略了NTFS权限导致叠加后权限过大。标准做法是共享权限设置为“Everyone-读取”实际控制靠NTFS权限按用户组分配。默认共享Windows默认开启C$、D$、ADMIN$等管理共享对本地管理员开放。等保测评中一般要求关闭不必要的默认共享或者通过防火墙限制管理共享的远程访问。关闭方式在HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server等注册表项下配置或者直接修改共享权限。远程桌面检查远程桌面是否启用启用的用户组是否合理是否配置了“网络级别认证”NLA。建议将远程桌面用户限制为运维专用账号而不是Administrator组。2.3 安全审计Windows审核策略与日志留存要求安全审计是等保测评的“证据链”核心。Windows的审核策略默认记录得很少必须手动开启关键审核项。测评检查点包括审核策略查看“本地安全策略→本地策略→审核策略”中是否开启审核账户登录事件、审核账户管理、审核登录事件、审核对象访问、审核策略更改、审核系统事件等。建议至少开启“成功”和“失败”的记录尤其是登录事件和账户管理。日志留存检查“事件查看器→Windows日志→安全”中日志大小和保留策略。等保要求日志留存不少于6个月所以日志文件最大大小不能太小至少设为1GB以上并配置“按照需要覆盖事件”或“不覆盖事件手动清除”。日志完整性更高等级要求有日志保护措施防止未授权删除或修改。对Windows单机来说可以通过限制“管理事件日志”权限来实现或者将日志实时转发到SIEM系统。很多管理员嫌审核日志太占空间直接把审核策略全关掉。这在等保测评里属于“严重不符合”而且安全隐患很大——系统被入侵了连记录都没有。实际项目中我会用一条命令批量开启关键审核策略auditpol /set /subcategory:登录/注销 /success:enable /failure:enable auditpol /set /subcategory:帐户登录 /success:enable /failure:enable auditpol /set /subcategory:帐户管理 /success:enable /failure:enable auditpol /set /subcategory:策略更改 /success:enable /failure:enable auditpol /set /subcategory:系统事件 /success:enable /failure:enable注意用auditpol设置的审核策略是“高级审核配置”会覆盖组策略中的“审核策略”设置所以建议先统一规划。2.4 入侵防范和恶意代码防范基线配置与防病毒方案这部分包含很多细节主要检查补丁更新Windows系统是否开启自动更新或是否有统一的补丁分发机制如WSUS。测评时输入wmic qfe list brief可查看已安装补丁比对最新安全更新看是否落后太多。防病毒是否安装企业版杀毒软件病毒库是否最新。等保允许使用第三方安全产品替换Windows Defender但需要提供部署和更新记录。最小服务是否关闭不必要的Windows服务如Print Spooler如果不用可以停用、Server服务如果不需要文件共享可以禁用。配置安全基线是否参考CIS、等保相关基线对Windows进行加固比如禁用Guest账户、禁用不必要的计划任务、限制匿名枚举SAM账户等。“入侵防范”还涉及网络层面的东西但对单台Windows设备来说检查的是主机防火墙状态和过滤规则。如果服务器需要对外开放Web服务要求防火墙只放行80/443等必要端口并记录规则变更流程。3. 证据收集实战命令行与图形化工具配合高效产出测评记录3.1 必须掌握的Windows审计命令清单有经验的人不会在GUI里一项项点开截图那样既慢又容易漏。建议直接通过命令行甚至批处理脚本一次性收集关键配置。以下命令我都实测过在Server 2008 R2到Server 2022、Windows 10/11上均可用:: 查看系统版本和补丁信息 systeminfo :: 查看IP配置 ipconfig /all :: 查看本地用户和组 net user net localgroup administrators :: 查看共享资源 net share :: 查看开放端口 netstat -ano | findstr LISTENING :: 查看服务状态 sc query | findstr /i RUNNING :: 查看防火墙规则需管理员权限 netsh advfirewall firewall show rule nameall更专业一点用PowerShell导出配置报告。比如把本地安全策略导出为inf文件secedit /export /cfg C:\temp\secpol.cfg导出的secpol.cfg里包含了密码策略、账户锁定策略、用户权限分配、审核策略等几乎所有核心安全设置。测评时直接打开该文件逐条对照比截图本地安全策略窗口快得多也避免了肉眼误读。当然审核策略有时在本地安全策略中显示不全还需要通过auditpol /get /category:*来查看全部状态。3.2 图形化检查路径与截图点位避免录屏式低效取证虽然命令行高效但部分测评机构在报告证据链上要求提供GUI截图尤其是指标项的判定依据。我的经验是“命令行拿数据GUI截关键页面”。常见截图点位包括“系统属性→计算机名/域” 页面确认主机名和域成员身份。“本地安全策略→账户策略→密码策略” 页面密码策略一览。“本地安全策略→本地策略→审核策略” 页面审核策略一览。“本地安全策略→本地策略→安全选项” 页面重点截“交互式登录不显示最后的用户名”“网络访问不允许匿名枚举SAM账户”等项。“事件查看器→Windows日志→安全” 页面展示日志大小、事件数量证明日志功能在工作。“共享文件夹” 管理界面展示共享路径和权限。“服务” 管理界面展示关键服务状态建议先按名称排序。截图时要带上时间戳比如在桌面任务栏显示当前日期时间或者运行一个date /t和time /t到命令行窗口。很多测评机构对证据的时间有效性有要求如果截图时间早于测评日期会质疑证据有效性。3.3 日志与配置导出的时间戳规范让证据链可追溯除了截图还要把几类关键证据以文件形式导出系统信息systeminfo 主机名_systeminfo.txt安全日志用wevtutil epl Security C:\temp\Security.evtx导出事件日志注意该操作需要管理员权限并可能因为日志较大耗时。也可以只导出最近7天或指定时间范围的日志避免文件过大。补丁列表wmic qfe list brief 主机名_hotfix.txt共享列表net share 主机名_share.txt端口监听netstat -ano 主机名_netstat.txt导出的文件建议按“测评日期_单位名称_主机名_内容”的格式命名并在每份文件开头手动添加探测时间和检测人信息。这样即使评审复核也能清晰还原当时的配置状态。4. 高频不合规项与整改方案从密码策略到安全基线落地4.1 密码策略“形同虚设”怎么把“要求复杂度”真正配置到位很多Windows服务器上“密码复杂性要求”显示“已启用”但实际用户口令还是Admin123这种可以猜出来的组合这就是策略和实际执行脱节。整改分两个层面策略层面通过组策略域环境或本地安全策略工作组环境设置——密码长度最小值10位、复杂性要求启用、最长使用期限90天、强制密码历史5个。这里提醒一下组策略默认刷新周期是90分钟修改后执行gpupdate /force立即生效。执行层面启用“用户下次登录时须更改密码”并检查现有账号是否有空密码或长期不变更的。PowerShell一条命令就能清查Get-LocalUser | Select-Object Name, PasswordRequired, PasswordLastSet, Enabled空密码或密码永不过期的账号要全部处理。域环境下还要检查是否有普通用户被加入了域管理员组尤其是那些历史遗留账号。4.2 默认共享和Guest账户老问题为什么年年上榜默认共享是等保测评里“几乎每月都会被提到”的问题却反复出现。一方面管理员觉得“默认共享是系统功能没法彻底关闭”另一方面测评要求又很明确。实践中可用以下方式缓解对服务器来说如果不需要远程管理直接关闭admin$和C$共享如果确实需要远程管理则通过防火墙限制管理共享只能来自运维网段。删除或禁用Guest账户在“安全选项”中设置“账户来宾账户状态”为“已禁用”、“网络访问将Everyone权限应用于匿名用户”为“已禁用”。设置共享文件夹的权限对Everyone只授予“读取”或者干脆移除Everyone按实际需求添加授权用户组。还有一个容易忽略的点本地Administrator账户重命名。等保测评中对“默认账户”有要求建议把Administrator重命名为一个不易猜测的名字并设置强密码。对域控制器内置Administrator账户禁用与否要看具体等级要求但重命名也是加分项。4.3 审核策略缺失与日志容量过小审计策略不合规通常有两种情况一是完全没开启任何审核二是只开了“成功”没开“失败”。整改方案如下打开“本地安全策略→本地策略→审核策略”将“审核账户登录事件”“审核账户管理”“审核登录事件”“审核对象访问”“审核策略更改”“审核系统事件”都设置为“成功失败”。同时把“事件查看器→Windows日志→安全”的日志最大大小调整为2048MB并选择“按需要覆盖事件”。如果担心日志被覆盖可以将三级以上系统的日志转发到集中日志平台。有一点容易被忽略日志的“防止攻击者篡改日志”机制。Windows本身不做防篡改但可以在事件查看器里设置“日志访问权限”只允许System和Administrators读取清除。更高等级要求采用独立日志服务器或日志审计系统Windows可以通过WinRM或任务计划把关键事件转发到SIEM。4.4 关闭不必要的服务与端口方法论优先于一刀切很多整改人员喜欢“把所有不认识的端口都封掉”结果把业务搞挂了。我更推荐按“最小权限”逐台梳理先用netstat -anob列出所有监听端口及其对应进程/服务名。对照业务清单确认哪些端口是业务必须的如Web的80/443、数据库的1433或3306、SSH的22、RDP的3389。对不明确的端口先在测试环境关闭或封禁观察业务日志而不是直接在生产环境重启服务。统一在主机的Windows防火墙中配置入站规则只放行必要的IP和端口。另外针对Windows服务器有几个默认服务建议检查Print Spooler打印服务如果不承担打印任务建议禁用。近年针对打印服务的漏洞很多。Windows Search服务在服务器上通常不需要可以禁用。Server服务LanmanServer如果不需要文件共享可以直接禁用同时也会禁用默认共享。远程注册表服务Remote Registry建议禁用减少远程修改注册表的风险。注意禁用Server服务会影响域控或文件共享功能需要专门评估。整改前请务必确认业务依赖。5. 测评结果与报告落地风险分析、整改复核与证据留存5.1 风险定级怎么定不能只看“符合/不符合”测评机构最终会给每个测评项标注“符合”“部分符合”“不符合”“不适用”并进行风险分析。我作为企业方配合测评时会重点关注“部分符合”和“不符合”项的风险定级是否合理。举个例子密码策略未启用属于高危因为攻击者很容易通过暴力破解获取系统权限而一台内网终端的计算机名未设置规范命名只能算低危或提示项。如果测评报告把所有问题都定为高危整改压力会很大。需要和测评师沟通风险定级的依据通常会参考《信息安全技术 网络安全等级保护基本要求》的标准要求结合业务系统重要性、威胁利用难度等因素来判定。企业自己的预检报告也可以沿用这个思路把不合规项分为“高危-必须立即整改”“中危-限期整改”“低危-建议改进”三档。这样整改推进起来更有主次。5.2 整改复核阶段的工作流从“发现”到“闭环”整改不是改完配置就结束了测评机构会进行一次或多次复核验证所以每一步都要留痕。我建议按以下流程做建立整改台账把测评发现的所有问题列成表格包括问题名称、涉及设备、风险等级、整改措施、整改责任人、完成期限、复核结果。每项整改提供证据修改了密码策略就截图新的策略配置关闭了默认共享就截图net share命令的返回结果升级了补丁就截图补丁列表。整改后统一复查在正式复核前按测评项自行用脚本再跑一遍确保没有遗漏。我常用一条命令批量检查多个Windows设备的状态比如用Invoke-Command远程执行secedit /export集中收集所有机器的安全策略。这里提醒一句整改过程中尽量不要改变网络架构和主机名/业务IP否则测评报告里的资产信息会对应不上。5.3 与测评机构对接的常见分歧和应对做测评项目多了会发现企业和测评机构之间偶尔会有主观分歧比如“符合”还是“部分符合”比如密码策略中“密码长度最小值为8位”测评标准是“采用密码技术进行身份鉴别”有些测评师认为8位不够强可能会判部分符合要求升级到10位以上。遇到这种情况最好先看具体等级要求如果标准中没有明确位数可以沟通采用行业基线。防病毒软件是否必须企业版等保要求“应安装防恶意代码软件或加固配置”Windows Defender在部分测评师眼里不算合规的企业级防病毒产品尤其是Server Core无图形界面模式下Defender功能受限。在测评前建议统一部署企业版杀毒如360天擎、火绒终端管理系统、奇安信天擎等或至少启用Defender并证明其正常更新。日志留存到底算谁的Windows自身日志可能只存本地但如果已转发至集中日志系统并留存6个月可以判定为符合。测评中需要提供集中日志平台的存储配置和实时接收记录。这些分歧都不应该演变成对立最好的办法是“用文档说话”——提前把整改方案、安全基线配置表、日志留存示意图准备好测评师看到你的部署有理有据一般都会认可。最后再分享一点个人经验Windows终端和服务器等保测评本质上不是“考证”而是一次系统安全状况的全面体检。我做过很多次测评配合工作凡是平时把安全基线落到日常运维里的单位测评前几乎不用大改而那些为了测评临时抱佛脚的往往在补丁、日志、权限三块连环踩坑。建议每季度用脚本对Windows资产做一次基线核查把等保要求融入到每天的巡检任务里。下次测评来的时候就可以从容地把证据链一条条摆在桌面上而不是连日加班补配置。
返回列表