首页/安全/安全加固速查/WinRM 认证与传输收敛
口令与认证策略55 条

WinRM 认证与传输收敛

WinRM 远程管理同样要收敛认证:禁用 Basic/未加密传输,域内走 Kerberos,跨域走 HTTPS 5986 + 证书,避免明文凭据。

安全加固速查安全更新于 2026-10-13

WinRM 的认证同样要收敛

WinRM 是 PowerShell 远程管理与大量自动化工具(含 Ansible 的 Windows 模块)的底层通道。它的默认配置为兼容性留了不少口子:Basic 认证与未加密传输一旦开启,等价于把凭据暴露在网络上。收敛原则是域内走 Kerberos、跨域走 HTTPS 监听器加证书。

基本信息

适用平台Windows(PowerShell Remoting,端口 5985 明文与 5986 加密)
查看命令winrm get winrm/config/service 与 client
关键项Basic 认证、AllowUnencrypted、监听器类型
基线无 Basic 认证、无未加密传输

典型使用场景

  • 自动化平台加固:Ansible、CI 与批量运维依赖 WinRM,配置变更需同步通知
  • 基线核查:Basic 与 AllowUnencrypted 是常见扣分项
  • 跨域管理:非域环境用 HTTPS 监听器与证书替代明文通道
  • 事件排查:确认攻击者是否通过明文通道获取了管理凭据

现状核查与收紧

现状核查与收紧
# 查看服务端与客户端配置
winrm get winrm/config/service
winrm get winrm/config/client
# 关闭 Basic 认证
winrm set winrm/config/service/auth '@{Basic="false"}'
# 禁止未加密传输
winrm set winrm/config/service '@{AllowUnencrypted="false"}'
# 查看监听器
Get-ChildItem WSMan:\localhost\Listener

配置项读法

配置项含义建议
Auth\Basic是否允许 Basic 认证设为 false;启用时凭据等同明文
AllowUnencrypted是否允许未加密传输设为 false,先准备好 HTTPS 再关
Listener 5985HTTP 监听器仅限本机或受控网段使用
Listener 5986HTTPS 监听器跨域与不可信网络的管理入口
Auth\Kerberos是否允许 Kerberos域内保持启用,是首选认证方式

落地顺序建议

  • 先盘点使用方:Ansible、CI、监控与发布脚本中依赖 WinRM 的调用全部登记
  • 再准备加密通道:为跨域与不可信网络部署 HTTPS 监听器与证书,并逐台验证
  • 然后收紧认证:关闭 Basic 与未加密传输,保留 Kerberos 与证书认证
  • 限制端口暴露:5985 仅对本机与管理网段放行,不向业务网段开放
  • 变更后回归:用真实自动化任务验证一遍,而不是只测单机命令

认证方式对照

认证方式机制适用与风险
Kerberos域内票据,双方均可验证身份域环境首选,凭据不外泄
Negotiate / NTLM挑战响应式认证域内可用;跨域时来源难以验证
Basic用户名口令编码后随请求发送一律关闭,等同在网络上公布口令
证书基于客户端与监听器证书非域与自动化场景的替代路径
CredSSP把凭据委托到远端主机仅限确有二次跳板需求的受控场景
生产建议:域内使用 Kerberos 认证,跨域或不可信网络使用 HTTPS 监听器加证书;明文 5985 仅保留给本机与受控管理网段。
关闭 AllowUnencrypted 后,未配置 HTTPS 的远程调用会直接失败:先上证书并验证,再关闭明文传输,否则自动化会整片中断。

跨域场景用 HTTPS 监听器

跨域场景用 HTTPS 监听器
# 非域环境优先用 5986 加证书,避免明文传输凭据
Get-ChildItem WSMan:\localhost\Listener | Select-Object Address, Port, Transport, CertificateThumbprint
# 批量运维前先用单台机器验证连通性
Test-WSMan -ComputerName app01 -UseSSL
WinRM 是高价值管理入口:除认证与传输收敛外,还要在边界与安全组层面限制来源网段,把管理通道限定在堡垒机或运维网段内。
变更后抽一台机器做全链路验证:查看配置、检查监听器证书、执行一次远程命令,三步都通过才算整改完成。
客户端的授信主机列表是排查跨域连接时的临时手段:把目标加入列表会让连接退化为不能验证对方身份的认证方式,与未加密传输叠加时更易被中间人利用,用完必须清理,不要长期保留。

易错点

  • 先关未加密再配 HTTPS:自动化任务全部失败,只能临时回滚
  • 只改服务端不看客户端:客户端仍尝试 Basic 认证,报错信息难以指向根因
  • 变更不通知使用方:Ansible 与发布流水线受影响,故障时间被拉长
  • 监听器证书过期无人跟进:跨域管理通道在某天突然全部失效
  • 5985 向业务网段开放:认证收紧了,但端点仍暴露在更大范围的网络上,被暴力尝试的面积没有减少

数据来源与参考

  • Microsoft Learn:WinRM 安全配置
  • CIS Windows Server Benchmark:WinRM 条目

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌