Windows服务器本地安全策略配置的核心价值不在于“开启更多限制”,而是让每一台服务器只允许完成它被部署的任务所必需的操作。很多运维人员习惯在服务器上线后保持默认安全设置,或者直接套用某一份通用加固清单,结果要么导致业务组件被意外拦截,要么留下明显缺口。真正有效的配置,是从账户策略、审核策略、用户权限分配、安全选项、应用程序控制以及防火墙规则六个层面,围绕服务器的具体角色做减法。
先处理最基础也最容易被忽视的账户策略。打开“本地安全策略”中的“账户策略-密码策略”,密码必须符合复杂性要求建议直接启用,最小密码长度至少设置为12位,如果服务器承载核心数据库或域控角色,建议14位以上。密码最长使用期限建议设置为90天以内,但不要低于30天,否则会迫使管理员频繁更换密码,反而容易产生弱口令或记录在便签上的行为。强制密码历史设置为5到10次,避免用户反复轮换使用相同密码。账户锁定阈值建议设置为5次无效登录后锁定,锁定时间30分钟,重置计数器30分钟。这个组合既能有效阻断在线暴力破解,又不会因为个别用户输错密码导致大量工单。特别注意,如果服务器加入了域环境,这些设置应在域控的组策略中统一配置,本地策略会被域策略覆盖。
账户策略中还有一个常被忽略的点:重命名系统管理员账户和禁用来宾账户。在“本地策略-安全选项”中,将Administrator账户重命名为一个不包含admin、root等字样的名称,同时确认Guest账户状态为“已禁用”。攻击者扫描到Windows服务器后,第一轮尝试通常是针对Administrator和Guest这两个默认账户。重命名不能替代强密码,但可以显著降低自动化攻击工具的成功率。另外,在“账户策略-Kerberos策略”中,如果服务器独立运行且不使用域认证,可以保持默认;如果是域成员,这些策略应在域级别统一调整。
接下来是审核策略,这是很多服务器配置中完全缺失的部分。在“本地策略-审核策略”中,至少应开启以下项目:审核账户登录事件、审核账户管理、审核登录事件、审核对象访问、审核策略更改、审核特权使用。成功和失败事件都要记录,尤其是失败事件。审核策略开启后,事件会写入安全日志。这里有一个常见误区:开启审核策略后不调整日志大小,导致日志很快被覆盖。应在“事件查看器”中右键“安全”日志,将最大日志大小设置为至少512MB,对于高并发的服务器建议1GB以上,并设置“按需要覆盖事件”。如果服务器需要满足等保或行业合规要求,还应配置日志转发到集中的日志服务器或SIEM平台,本地日志仅作为短期缓存。
用户权限分配是本地安全策略中最容易配置错误的部分。在“本地策略-用户权限分配”中,重点检查以下几项:“从网络访问此计算机”应仅保留Administrators、Remote Desktop Users等必要组,移除Everyone和Guest;“拒绝从网络访问这台计算机”建议添加Guest账户;“允许通过远程桌面服务登录”只保留需要远程管理的用户或组,不要保留默认的Administrators组中的所有成员,如果管理员账户已被重命名,应显式添加该账户;“作为批处理作业登录”和“作为服务登录”应根据服务器上运行的服务账户进行最小化配置。很多第三方服务安装时会自动请求“作为服务登录”权限,这是正常的,但安装完成后应检查是否有异常账户获得了该权限。特别是“调试程序”权限,默认仅Administrators拥有,不要授予任何服务账户或普通用户,这是本地提权攻击的重要跳板。
安全选项中的配置项数量很多,但真正需要逐条调整的集中在十几个关键项上。在“本地策略-安全选项”中,建议按以下顺序检查:
“账户:来宾账户状态”设为“已禁用”;“账户:使用空密码的本地账户只允许进行控制台登录”设为“已启用”;“账户:重命名系统管理员账户”设置为自定义名称;“交互式登录:不显示最后的用户名”设为“已启用”,避免登录界面泄露有效账户名;“交互式登录:提示用户在密码过期之前更改密码”设置为14天;“Microsoft网络服务器:对通信进行数字签名(始终)”和“Microsoft网络客户端:对通信进行数字签名(始终)”根据环境决定,如果服务器仅在内网且所有客户端都支持SMB签名,建议启用;“网络访问:不允许匿名枚举SAM账户和共享”设为“已启用”;“网络访问:可远程访问的注册表路径”应清空或仅保留必要的子路径;“关机:允许系统在未登录的情况下关闭”设为“已禁用”;“用户账户控制:以管理员批准模式运行所有管理员”保持启用,不要为了操作方便而关闭UAC。
这里特别强调“网络访问:不允许匿名枚举SAM账户和共享”这一项。很多Windows服务器默认允许匿名用户枚举共享列表和本地账户,攻击者可以通过空会话获取账户名列表,再配合密码喷洒攻击。启用该选项后,空会话将无法获取这些信息。但要注意,如果服务器上运行着依赖匿名访问的旧版应用程序,启用后可能导致该应用无法正常工作,需要在配置前确认业务兼容性。
应用程序控制策略是本地安全策略中防护能力最强但使用门槛也最高的部分。Windows提供了AppLocker和WDAC(Windows Defender Application Control)两种机制。对于大多数独立服务器,AppLocker是更务实的选择。在“本地安全策略-应用程序控制策略-AppLocker”中,可以为可执行文件、脚本、Windows安装程序、DLL和打包应用创建规则。建议先以“审核”模式部署规则,观察一段时间,确认没有拦截业务进程后,再切换到“强制”模式。一个实用的起步规则是:允许所有位于C:\Windows和C:\Program Files下的文件,允许管理员组运行任何程序,然后对脚本文件(.ps1、.vbs、.js、.bat)设置更严格的路径限制,因为脚本是攻击者落地后最常用的执行载体。WDAC策略更强,但配置复杂度高,且一旦配置错误可能导致系统无法启动,不建议在没有充分测试的情况下直接在生产服务器上启用。
本地防火墙规则配置必须与服务器角色精确匹配。在“高级安全Windows Defender防火墙”中,入站连接默认应设置为“阻止”,然后仅放行业务必需的端口。对于Web服务器,放行80和443;对于数据库服务器,仅放行数据库端口且限制来源IP为应用服务器网段;对于远程管理,RDP端口建议修改为非默认端口,并通过防火墙规则限制仅允许特定管理IP或跳板机IP访问。出站连接默认可以保持允许,但对于高安全要求的服务器,建议切换为“阻止”,然后放行必要的出站端口,如DNS(53)、NTP(123)、更新服务端口等。配置出站阻止前,必须完整梳理服务器需要访问的外部资源,包括补丁更新服务器、杀毒软件更新源、业务依赖的第三方API等,否则会导致服务异常。
还有一个经常被忽视的配置是“本地安全策略-高级审核策略配置”。与基础审核策略相比,高级审核策略提供更细粒度的事件类别。如果服务器需要记录详细的文件访问行为,可以在“对象访问-文件系统”中配置对关键目录的审核,例如Web目录、数据库数据目录、配置文件目录。配置方法是先在高级审核策略中启用“审核文件系统”的适当事件,然后在NTFS权限中对目标目录添加审核条目,指定要监控的用户或组以及要记录的操作类型。这个配置能帮助在安全事件发生后追溯文件被谁修改或删除,但会产生较多日志,需要配合日志轮转和集中收集。
对于需要满足等保2.0三级要求的服务器,本地安全策略配置还应包括以下细节:设置“审核:如果无法记录安全审核则立即关闭系统”为“已启用”,确保日志写入失败时系统会停止运行而不是静默丢失日志;在“安全选项”中启用“系统对象:增强内部系统对象的默认权限”和“系统对象:要求不区分大小写用于非Windows子系统”;在“用户权限分配”中确认“取得文件或其他对象的所有权”仅保留Administrators;在“账户策略-密码策略”中启用“用可还原的加密来储存密码”为“已禁用”。这些配置项虽然细小,但在合规检查和实际防护中都有明确价值。
配置完成后,验证工作同样重要。运行gpupdate /force刷新本地策略,使用secpol.msc检查策略是否生效,通过gpresult /h report.html导出策略结果集进行核对。对于防火墙规则,使用netstat -an检查监听端口是否与预期一致,使用Test-NetConnection从其他主机测试端口连通性。对于账户策略,可以尝试用错误密码登录测试锁定机制是否生效。对于审核策略,触发一次失败登录后检查安全日志中是否出现对应事件ID(4625)。只有经过实际验证的策略配置,才能确认真正落地。
本地安全策略配置不是一次性的工作。服务器角色变更、业务系统升级、新漏洞披露后,都需要重新审视现有策略是否仍然适用。建议每季度对关键服务器进行一次策略复查,重点检查账户权限变更、新增服务账户、防火墙规则变化以及审核日志的完整性。将策略配置纳入变更管理流程,任何修改都要有记录和审批,避免运维人员临时调整后忘记回滚。
