Windows服务器的安全基线不是一份拿来即用的清单,而是一个动态的防御闭环。很多管理员习惯装完系统、配好IP就扔进机房,这等于把没有锁的门直接暴露在公网上。安全基线的核心逻辑在于:先切断入口,再加固内部,最后建立审计。我们直接从最容易被忽视但杀伤力最大的环节——补丁管理说起。

补丁不是“有空再打”,而是安全基线的第一道防线

攻击者利用漏洞的速度是以小时计算的。微软每月第二个周二发布安全更新,而漏洞利用代码往往在24小时内就会出现。Windows Server默认的自动更新策略在服务器上并不完全适用,因为生产环境不能接受随时重启带来的业务中断。正确的做法是建立严格的补丁管理周期。将服务器按重要程度分级:核心域控和数据库服务器归入“关键组”,补丁延迟不超过7天;应用服务器归入“常规组”,延迟不超过14天。使用Windows Server Update Services搭建内部更新服务器,由管理员审批补丁后再下发,而不是让每台服务器直接连接公网更新。审批时必须关注CVSS评分,7.0分以上的高危漏洞必须优先部署。补丁测试环境不是奢侈品,哪怕用一台虚拟机跑一遍核心业务流程,也能避免补丁打完后业务瘫痪的尴尬。

账户与认证:把默认的管理员账户藏起来

内置Administrator账户是攻击者暴力破解的首选目标,因为它永远存在且无法被锁定。安全基线的第一步是重命名这个账户,并创建一个无实际权限的诱饵账户命名为Administrator,专门用来触发告警。接着,必须启用账户锁定策略:尝试5次错误密码后锁定30分钟。这能有效阻断在线暴力破解。服务账户的管理是另一个重灾区,很多管理员图省事给服务账户赋予域管理员权限。必须遵循最小权限原则,服务账户只授予运行服务所必需的用户权限分配。对于Windows Server 2016及以上版本,强烈建议启用受保护的用户组,将高权限账户加入该组,系统会强制使用Kerberos认证,拒绝NTLM这种容易被Pass-the-Hash攻击利用的协议。本地管理员密码管理使用LAPS自动轮换每台服务器的本地管理员密码,防止横向移动时一马平川。

网络层加固:防火墙不是摆设,是呼吸的边界

Windows防火墙默认规则过于宽松,入站规则中允许的端口太多。安全基线要求入站默认阻止,只放行明确的业务端口。RDP的3389端口绝对不能直接暴露,必须通过VPN或堡垒机中转。如果业务必须开放RDP,至少启用网络级身份验证,这能在建立RDP会话前先完成身份认证,减少漏洞利用面。SMB的445端口是勒索软件传播的主动脉,除非是文件服务器,否则必须在防火墙上禁用445端口的入站流量。即使文件服务器,也应启用SMB签名来防止中间人篡改。PowerShell远程管理使用的5985和5986端口同样需要严格限制来源IP。用PowerShell命令

Set-NetFirewallRule -DisplayName "Windows远程管理(HTTP-In)" -RemoteAddress "192.168.1.0/24"
就能将WinRM访问限制在管理网段。网络级别的安全基线还要包括禁用NetBIOS over TCP/IP和LLMNR协议,这两个协议在名称解析失败时容易被用来投毒,是内网横向渗透的跳板。

组策略:把安全配置刻进系统的DNA

组策略是Windows安全基线的执行引擎。本地安全策略中的用户权限分配需要精细打磨:从网络中访问此计算机只保留Administrators和Authenticated Users;允许通过远程桌面服务登录只授予指定的管理员组;作为批处理作业登录仅给服务账户。安全选项里,交互式登录不显示最后的用户名必须启用,防止攻击者获取有效的用户名列表。禁用来宾账户状态是基础操作。Microsoft网络服务器数字签名的通信设置为始终,能防止SMB中继攻击。更深入的配置在管理模板中。启用“始终提示输入密码进行连接”可以防止保存的凭据被提取。PowerShell的脚本执行策略通过组策略统一设置为RemoteSigned,既允许本地脚本运行,又要求远程脚本必须签名。对于Windows Defender防病毒,通过组策略强制开启云保护级别为高,并启用PUA保护。审核策略是最后一道防线,必须开启登录事件、账户管理、策略更改和进程创建的审核。这些日志通过组策略推送到集中的日志服务器,才能在攻击发生后回溯入侵路径。

凭据防护:让攻击者拿到哈希也用不了

凭据是攻击者最想窃取的资产。Windows默认会将密码哈希缓存在SAM文件和LSASS进程内存中。Mimikatz这类工具能在几秒钟内导出明文密码或哈希。Windows Server 2016开始提供的Windows Defender Credential Guard利用虚拟化技术将凭据存储在独立于操作系统的安全区域,即使攻击者获得系统权限也无法提取。启用Credential Guard的前提是服务器支持虚拟化技术并在BIOS中开启。组策略中启用“打开虚拟化安全”并选择“使用Credential Guard”。对于无法启用Credential Guard的旧系统,至少要在组策略中禁用WDigest身份验证,这个过时的协议会将明文密码存储在内存中。设置注册表项HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest下的UseLogonCredential为0即可关闭。缓存的域登录凭据数量也应通过组策略限制为0或1,防止攻击者离线破解缓存的域密码哈希。

日志与监控:没有审计的安全是自我安慰

安全基线的最后一块拼图是让所有配置可追溯。单纯开启审核策略不够,还要配置审核策略的详细级别。通过审核策略中的“审核对象访问”配合系统访问控制列表,可以对关键文件夹的访问进行记录。PowerShell日志记录必须启用模块日志和脚本块日志,这能捕获攻击者使用的混淆脚本。命令

Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging" -Name "EnableScriptBlockLogging" -Value 1
通过组策略下发后,所有PowerShell执行内容都会被记录到事件日志。Windows事件转发功能将多台服务器的安全日志集中到一台收集器,避免攻击者入侵后清理单机日志。重点监控的事件ID包括:4625登录失败、4672特殊权限登录、4688进程创建、4720账户创建、5140文件共享访问。对于关键服务器,应配置Sysmon补充Windows原生日志的不足,记录网络连接、进程创建和文件时间戳变更等更细粒度的信息。

应用与服务基线:剥离不必要的攻击面

服务器角色决定了安全基线的差异。IIS服务器必须移除默认网站和应用程序池中未使用的模块。关闭目录浏览,配置请求筛选限制URL长度和查询字符串,防止缓冲区溢出和SQL注入探测。通过AppCmd命令

appcmd set config /section:requestFiltering /requestLimits.maxQueryString:2048 /requestLimits.maxUrl:4096
即可完成限制。SQL Server所在的Windows服务器需要配置服务账户不以LocalSystem运行,而是使用低权限的虚拟账户或托管服务账户。文件共享服务器必须启用基于访问的枚举,让用户只能看到自己有权限访问的文件夹。打印机服务如果不需要,必须停止并禁用Print Spooler服务,这个服务曾多次爆出远程代码执行漏洞。计划任务也是攻击者常用的持久化手段,通过组策略限制只有管理员才能创建计划任务,并定期审计现有任务列表。

自动化合规检查:让基线不再是一纸空文

手动检查几十台服务器的安全配置不现实。Microsoft提供了安全合规工具包,包含各版本Windows Server的安全基线GPO备份文件,可以直接导入组策略管理控制台与当前配置进行对比。Security Compliance Toolkit中的PolicyAnalyzer工具能直观展示当前配置与微软推荐基线的差距。对于持续合规监控,PowerShell DSC可以定义服务器的期望状态,定期检查并自动修正偏离的配置。例如,用DSC资源确保防火墙规则始终存在、特定服务始终禁用。将这些检查脚本加入日常运维流程,每次变更后自动触发合规扫描。安全基线不是一次性的项目,而是嵌入运维流程的持续实践。每季度重新评估基线内容,根据新的威胁情报调整策略,才能让Windows服务器的安全防线始终保持有效。