教程
🛡️

网络安全

Web 安全、渗透测试、密码学与安全合规的系统化教程。

Windows 服务器安全加固:账户、远程桌面、共享与审计

面向常见 Windows Server 场景,讲清本地/域账户策略、远程桌面(RDP)加固、共享与默认共享关闭、服务与防火墙、审计与日志、组策略基线,每项配可直接操作的步骤。

· 更新于 2026-07-19 阅读量 --

Windows 服务器在企业内网、政企系统中极其普遍,但它的”出厂默认”对攻击者相当友好:默认共享开着、管理员名众所周知、远程桌面暴露在外、审计常常没开。这篇把 Windows 加固最常见的几块讲透。

无论你用的是 Windows Server 2016/2019/2022,思路基本一致;差异主要在组策略路径和个别功能名,我会点出。

所有操作仅用于你自有或已授权的服务器。改组策略、注册表前先创建系统还原点/备份,避免改崩无法回滚。

第一关:账户策略(防暴力破解)

弱口令和暴力破解是 Windows 被沦陷的首要原因。通过本地安全策略 → 账户策略设置:

  • 密码策略:密码长度最小值 12 字符;密码必须符合复杂性要求 已启用;密码最长使用期 90 天。
  • 账户锁定策略:账户锁定阈值 5 次无效登录;锁定时间 30 分钟;复位计数 30 分钟。这样攻击者爆破成本极高。

用命令行快速查看当前策略:

# 查看密码策略
net accounts
# 查看具体设置(需管理员)
secedit /export /cfg C:\sec.cfg /quiet

另外,重命名或禁用内置 Administrator 账户——它名字太出名,爆破脚本默认先试它。新建一个名字不明显的管理员账户,再把默认 Administrator 禁用。

第二关:远程桌面 RDP 加固

RDP(3389)是 Windows 被攻破的高频入口。加固要点:

  • 修改默认端口(注册表 HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber),降低扫描命中。
  • 启用网络级别身份验证(NLA):要求先认证再建会话,挡掉大量自动化攻击。
  • 限制可登录的用户:在”远程桌面服务”里只把运维组加入,普通用户不给 RDP 权限。
  • 配合前面 Linux 思路:用 VPN/堡垒机跳板访问 RDP,不要把 3389 直接暴露在公网。
  • 开启账户锁定后,RDP 爆破会被自动阻断。

经验之谈:把 RDP 直接暴露在公网 + 弱口令,是勒索软件入侵的最常见路径之一。能走堡垒机/零信任就别直连。

第三关:关闭默认共享与多余共享

Windows 默认开启一系列管理共享C$ADMIN$IPC$ 等),方便运维但也方便攻击者横向移动:

# 查看当前共享
net share
# 删除某个共享(重启后默认共享会重建,需改注册表彻底关)
net share C$ /delete

彻底关闭默认共享,需改注册表 HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters,新建 AutoShareWks=0AutoShareServer=0,并重启。非域环境还建议禁用 Server 服务(lanmanserver)如果不需要文件共享。

第四关:服务与防火墙最小化

  • 不需要的服务一律禁用:如 TelnetFTPPrint Spooler(打印服务,近年多个提权漏洞与其相关,非打印服务器建议禁用)、Remote Registry(非必要不开)。
  • Windows Defender/防火墙开启,只放行业务端口。可用 wf.msc 图形配置,或:
# 只允许 80/443 入站,其余默认拒绝
New-NetFirewallRule -DisplayName "Web" -Direction Inbound -LocalPort 80,443 -Protocol TCP -Action Allow
Set-NetFirewallProfile -Profile Domain,Public,Private -DefaultInboundAction Block

第五关:审计与日志

默认 Windows 审计很弱。通过本地安全策略 → 本地策略 → 审核策略开启:

  • 审核登录事件(成功+失败):看谁登进来、谁登失败。
  • 审核账户管理:看新增/删改账户。
  • 审核对象访问(按需):对敏感目录开启审计。
  • 审核策略更改、系统事件。

事件查看器(eventvwr.msc)里重点看 Windows 日志 → 安全,登录失败(事件 ID 4625)大量出现往往就是爆破信号。

第六关:用组策略(GPO)固化基线

在域环境,单台改太累,应该用**组策略对象(GPO)**把基线下发到一批机器:

  • 计算机配置 → 策略 → Windows 设置 → 安全设置,集中配密码/锁定/审计/用户权限。
  • 通过 gpedit.msc(单机)或域控制器上的组策略管理控制台统一下发。
  • gpupdate /force 强制刷新策略。

组策略的好处是:新机器入域自动套用基线,且不容易被人工改回去——这正是”固化”的关键。

常见误区

  • 只设强密码不开启锁定的:强密码防不住字典爆破,没有锁定阈值攻击者可以慢慢试。
  • 默认共享关了不验证重启net share /delete 只是临时,重启又回来,必须改注册表才彻底。
  • 把 RDP 暴露公网还用弱口令:这是勒索软件最爱,务必走堡垒机+强口令+锁定。
  • 审计开了但不看日志:日志是事后溯源的,得有人定期看或接入 SIEM 才有用。

进阶:用 PowerShell 批量核查

# 检查是否开启 NLA
(Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp").UserAuthentication
# 检查 Administrator 是否启用
Get-LocalUser Administrator | Select-Object Name,Enabled
# 检查 3389 是否暴露公网(看防火墙入站规则)
Get-NetFirewallRule -DisplayName "*远程桌面*" | Select-Object Enabled,Direction

自测题

  1. 为什么建议重命名或禁用内置 Administrator 账户?
  2. RDP 为什么不应直接暴露在公网?正确做法是什么?
  3. net share /delete 关闭默认共享为什么重启会回来?怎么彻底关?
  4. 域环境下用什么机制把基线批量固化到一批机器?

实战要点与深度解析

Windows 加固里最容易被低估的风险,是组策略没生效或被人改回去却没人知道。很多单位在域控上配了强密码策略,但某台服务器因为”不在域里""域信任关系断了”或者”本地策略覆盖了域策略”,实际跑的还是弱策略。这类问题靠”我以为配了”是发现不了的,必须定期用 gpresult /rrsop.msc 验证某台具体机器实际生效的策略是什么,而不是只看域控上的配置。策略的”声明”和”实际生效”之间,往往有鸿沟。

再谈一个和 Linux 同源的坑:服务账户的权限过大。Windows 上很多业务服务被简单地配成”以 LocalSystem 身份运行”,因为这样”不会有权限问题”。但 LocalSystem 是系统最高权限,一旦该服务本身有漏洞或被注入,攻击者直接拿到系统级控制权。正确做法是给每个服务建专属的最小权限账户(或至少用 LocalService/NetworkService 这类受限内置账户),并配合文件系统 ACL 只给它能读写的目录。多花十分钟配账户,少冒被提权到系统级的风险。

关于 Windows Defender 与第三方杀软的共存:很多运维觉得”装了企业杀软就把 Defender 关了”,结果某天企业杀软的驱动出问题或被停掉,机器直接裸奔。更稳妥的做法是明确”以谁为主”:若用第三方 EDR,应把它纳入集中管理并确保其自我保护开启;若依赖 Defender,则开启防篡改(Tamper Protection)防止被攻击者关停。关键是不能出现”两边都以为对方在管、实际没人管”的真空地带

还有一个高频事故源:远程桌面的网络级暴露。前面讲了改端口、开 NLA、走堡垒机,但现实里仍有大量服务器因为”运维图方便”把 3389 直接映射到公网,甚至用弱口令。这类机器是勒索软件最喜欢的目标——扫描器一波爆破,弱口令一破,直接加密。所以”RDP 不暴露公网 + 强口令 + 账户锁定 + 多因子”这四条,建议作为 Windows 加固的红线项,纳入基线的最高优先级核查,任何一台违反都立即整改。

最后强调 Windows 补丁的及时性。和 Linux 一样,很多 Windows 高危漏洞(包括多个被用于勒索的 RCE)靠 Windows Update 修复。但很多服务器”怕重启影响业务”长期不更新,漏洞常年开着。正确做法是建立分批次、可回滚的补丁窗口:先在非核心机验证、再核心机、保留快照以便回滚。把”补丁覆盖率”纳入基线核查,和账号、端口策略同等重要。

速查清单与排错口诀

Windows 加固口诀:账要强、锁要开、RDP 收、共享关、服务简、志要审、策要固。即强账户策略+锁定、收 RDP(改端口/NLA/堡垒机)、关默认共享、简服务、开审计、用 GPO 固化。

排错场景:GPO 改了却不生效。先 gpupdate /force 强制刷新,再用 gpresult /r 看这台机器实际拿到了哪些策略——常见原因是 OU 放错位置、策略没链接到对应容器、或被更优先的策略覆盖。另一个坑:改了”账户锁定阈值”却把”复位时间”设得比”锁定时间”还长,导致账户被锁后永远不自动解开,运维电话被打爆。这类”参数互相矛盾”的坑,提醒我们加固不是单点改,而要理解参数间的耦合关系。

这一篇你该记住的

  • 账户策略:强密码 + 复杂性 + 账户锁定阈值,是防爆破基础。
  • 重命名/禁用内置 Administrator,新建不明名管理员。
  • RDP:改端口、开 NLA、限用户、走堡垒机、配合锁定。
  • 关闭默认共享需改注册表才彻底;不需要的服务(Telnet、Spooler、Remote Registry)禁用。
  • 开启审计(登录/账户管理/策略更改),日志是溯源关键。
  • 域环境用 GPO 固化基线,新机入域自动套用。

下一篇我们转向数据库,看 MySQL 的账户、权限、网络与配置怎么加固。