1. HTTPS 与证书加固
PowerShell - 证书安全检查
# 检查 WAC 使用的证书
$binding = netsh http show sslcert
$binding
# 检查证书有效期
Get-ChildItem Cert:\LocalMachine\My" |
Select-Object Subject, NotAfter, Thumbprint |
Sort-Object NotAfter
💡 证书安全建议
- 生产环境禁止使用自签名证书
- 使用 AD CS 企业 CA 或公共 CA 签发的证书
- 证书 SAN 包含 WAC 网关的 FQDN
- 设置证书自动续期提醒
- 密钥长度 ≥ 2048 位
2. 访问控制策略
2.1 最小权限原则
PowerShell - 精细权限控制
# 创建 WAC 只读组
New-ADGroup -Name "GG-WAC-ReadOnly" -GroupScope Global `
-Path "OU=Groups,OU=IT信息部,DC=iehang,DC=cn"
# WAC 访问控制基于网关服务器本地 Administrators 组
# 只读用户不加入 Administrators,而是通过 WAC 设置 → 访问 中单独配置
# 被管理服务器上的本地权限
# 将只读组加入 Remote Management Users 组
Add-LocalGroupMember -Group "Remote Management Users" `
-Member "IEHANG\GG-WAC-ReadOnly"
2.2 会话超时
WAC 默认会话超时 5 分钟,可通过注册表调整:
PowerShell - 配置会话超时
# 设置会话超时为 30 分钟(单位:分钟)
Set-ItemProperty "HKLM:\Software\Microsoft\ServerManagementGateway" `
-Name "SessionTimeout" -Value 30
3. WinRM 安全配置
PowerShell - WinRM 加固
# 仅允许 HTTPS 连接(禁用 HTTP)
winrm set winrm/config/service '@{AllowUnencrypted="false"}'
# 启用 WinRM HTTPS 监听
$cert = Get-ChildItem Cert:\LocalMachine\My" |
Where-Object { $_.Subject -match "WDS01" } |
Select-Object -First 1
winrm create winrm/config/Listener?Address=*+Transport=HTTPS `
'@{Hostname="WDS01.iehang.cn";CertificateThumbprint="$($cert.Thumbprint)"}'
# 禁用基本认证
winrm set winrm/config/service/auth '@{Basic="false"}'
# 限制远程访问来源
winrm set winrm/config/client '@{TrustedHosts="WAC01.iehang.cn"}'
4. 审计日志
PowerShell - WAC 审计日志
# 查看 WAC 日志位置
$logPath = "C:\Program Files\Windows Admin Center\Logs"
Get-ChildItem $logPath
# 查看 WAC 审计事件
Get-WinEvent -LogName "Microsoft-ServerManagementGateway/Operational" -MaxEvents 50
# 启用详细日志
Set-ItemProperty "HKLM:\Software\Microsoft\ServerManagementGateway" `
-Name "EnableLogging" -Value 1
5. 网络隔离
💡 WAC 网络安全建议
- WAC 网关部署在管理网段,与生产网段隔离
- 仅允许管理终端访问 WAC 端口 443
- WAC 到被管理服务器的 WinRM(5985/5986)走管理 VLAN
- 不要将 WAC 暴露到公网,如需远程访问使用 VPN
- 启用 WAF 或反向代理保护 WAC 端口
PowerShell - 限制 WAC 访问来源
# 仅允许管理网段访问 WAC
New-NetFirewallRule -DisplayName "WAC-Allow-AdminNet" `
-Direction Inbound" -Protocol TCP" -LocalPort 443 `
-RemoteAddress 192.168.10.0/24" -Action Allow"
# 阻止其他来源访问 WAC
New-NetFirewallRule -DisplayName "WAC-Block-Other" `
-Direction Inbound" -Protocol TCP" -LocalPort 443 `
-Action Block"
6. 常见问题
Q1:如何检测 WAC 是否被未授权访问
① 定期检查 WAC 审计日志中的登录成功/失败事件 ② 配置 WAC 日志转发到 SIEM ③ 监控异常来源 IP 的登录尝试 ④ 启用账户锁定策略
Q2:WAC 和 RDP 哪个更安全
WAC 相对更安全:① WAC 基于 Web,攻击面更小 ② WAC 支持 RBAC 细粒度控制 ③ WAC 使用 WinRM(5985/5986),比 RDP(3389)更易防护 ④ WAC 不暴露完整桌面,减少误操作风险。建议生产环境优先使用 WAC,RDP 仅作备用。