windows远程管理需兼顾可用性与最小权限:启用并加固winrm(禁用http、强制https、限制用户)、收紧rdp(启用nla、改端口、防火墙限源)、启用credential guard防凭据窃取、统一通过跳板机和最小权限gpo控制访问。
要为 windows 系统配置安全的远程管理访问控制,核心是兼顾可用性与最小权限原则:只开放必需协议、限制访问来源、强化身份验证、隔离敏感操作。不建议仅依赖“开个远程桌面就完事”,尤其在非可信网络中。
启用并加固 WinRM 远程管理
WinRM 是 PowerShell 远程、事件转发、WMI over HTTP 等功能的基础,也是企业级远程管理的首选通道。
- 以管理员身份运行命令提示符,执行 winrm quickconfig -force 初始化基础服务(启动服务、设为延迟自动、创建 HTTP/HTTPS 监听器);
- 立即禁用不加密的 HTTP 监听器:运行 winrm delete winrm/config/Listener?Address=*+Transport=HTTP;
- 强制使用 HTTPS:需先导入有效证书(如域内 CA 签发的服务器证书),再运行 winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="your-server-fqdn"; CertificateThumbprint="xxx..."};
- 限制可连接用户:通过 winrm set winrm/config/service '@{RootSDDL="O:NSG:BAD:P(A;;GA;;;AU)S:ARGL(A;;GA;;;BA)"}' 配置 SDDL,仅允许 Administrators 和 Authenticated Users(可进一步细化为特定安全组)。
严格管控远程桌面(RDP)访问
RDP 虽便捷,但暴露面大,必须按生产环境标准收紧。
- 仅在专业版/企业版/Server 版启用(家庭版不支持服务端);
- 关闭 Network Level Authentication(NLA)以外的所有兼容模式,在「系统 → 远程桌面 → 高级设置」中确保勾选“仅允许运行使用网络级别身份验证的远程桌面的计算机连接”;
- 修改默认端口(3389):编辑注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber,重启 Terminal Services 服务;
- 通过 Windows 防火墙入站规则,仅允许指定 IP 段或安全组(如域控制器、运维跳板机)访问该端口;
- 禁用空会话和来宾账户远程登录,确保所有远程账户启用了强密码策略和账户锁定策略。
启用 Credential Guard 保护凭据链
防止远程会话中凭据被哈希传递(Pass-the-Hash)或票据窃取(Pass-the-Ticket)攻击。
- 确认 CPU 支持 VT-x/AMD-V 且 BIOS 中开启虚拟化;
- 启用基于虚拟化的安全性(VBS):运行 Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard' -Name 'EnableVirtualizationBasedSecurity' -Value 1;
- 启用 Credential Guard:运行 Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa' -Name 'LsaCfgFlags' -Value 1,然后重启;
- 对远程桌面启用 Remote Credential Guard:组策略路径为「计算机配置 → 管理模板 → 系统 → 凭据分配 → 启用远程凭据防护」,设为“已启用”并选择“强制”模式。
统一通过跳板机与最小权限组策略控制
避免直接面向公网或任意内网主机开放管理端口。
- 部署专用运维跳板机(Jump Server),仅它开放 WinRM/RDP/SSH;所有管理员必须先登录跳板机,再从跳板机发起对目标主机的管理连接;
- 在域环境中,将管理员账户加入专用安全组(如 “Remote-Admins”),并通过 GPO 在目标主机上配置「计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 用户权利分配」,将“允许通过远程桌面服务登录”仅赋给该组;
- 对高敏感主机(如域控、数据库服务器),额外启用「交互式登录:需要智能卡」策略,并配合物理令牌实现双因素认证;
- 启用 PowerShell 模块日志与 WinRM 操作审计:在 GPO 中开启「计算机配置 → Windows 设置 → 安全设置 → 高级审核策略配置 → 系统审计 → PowerShell 和 WinRM 命令行审计」。











