RDS 安全加固

远程桌面服务 RDS · 第 9 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📑 目录

  1. RDS 安全概述
  2. 身份验证配置
  3. 网络层安全
  4. 会话安全策略
  5. 常见问题

1. RDS 安全概述

RDS 环境涉及远程访问、高权限会话和敏感数据,需要从多个层面进行安全加固。

安全加固方向

2. 身份验证配置

1

打开组策略编辑器gpedit.msc)→ 计算机配置 → 管理模板 → Windows 组件 → 远程桌面服务 → 远程桌面会话主机 → 安全

2

启用"要求使用网络级别身份验证进行远程连接"(NLA):双击策略 → 选择"已启用" → 点击"确定"

3

启用"要求用户对远程连接进行身份验证":双击 → "已启用" → 确定

4

设置"加密级别"为"高":双击 → 选择"已启用" → 在选项中选择"高"级别(128 位加密)

5

运行 gpupdate /force 刷新策略

PowerShell - NLA 和加密配置
# 启用 NLA(网络级别身份验证)
$path = "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"
if (-not Test-Path $path) {New-Item -Path $path -Force}
Set-ItemProperty $path -Name "UserAuthentication" -Value 1

# 重启 RDS 服务以应用更改
Restart-Service "TermService"

3. 网络层安全

1

为 RD 网关配置 TLS 1.2:打开注册表编辑器regedit.msc)→ 导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2

2

在 IIS Manager(inetmgr.exe)中打开 RDS Web 站点 → 点击"SSL 设置" → 勾选"需要 SSL"并选择"需要 128 位 SSL"

3

在防火墙中限制 RDP 端口:打开Windows 防火墙高级安全 → 新建入站规则 → 端口 3389 → 仅允许特定管理 IP 访问内网 RDP

4

通过 RD 网关 IP 限制访问:打开远程桌面网关管理器 → 右键访问策略 → 属性 → "允许的 IP 地址" → 添加允许的 IP 段(如 10.0.0.0/8

PowerShell - TLS 配置
# 禁用旧版 TLS/SSL
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols"

# 禁用 TLS 1.0
New-Item -Path "$regPath\TLS 1.0" -Force
New-ItemProperty -Path "$regPath\TLS 1.0\Server" -Name "Enabled" -Value 0 -PropertyType DWord

# 验证配置
Get-TlsCipherSuite | Where-Object {$_.Name -match "TLS"}

4. 会话安全策略

1

组策略编辑器中,定位到"远程桌面会话主机" → "会话时间限制" → 启用"设置活动会话超时"(建议 30 分钟)

2

在"设备和资源重定向"中,限制敏感设备映射:双击"不允许剪贴板重定向" → 选择"已启用"(如需严格管控)

3

在"会话"选项卡下,设置"限制每个用户只能进行一个 RDS 会话"为"已启用"

4

在 AD 中创建 RDS 专用的安全组策略对象 (GPO),链接到 RDS 服务器所在 OU,运行 gpupdate /force

PowerShell - 会话安全策略
# 禁用驱动器映射(防止数据外泄)
Set-GPRegistryValue -Name "RDS Security Policy" `
    -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" `
    -ValueName "fDisableCdm" -Value 1 -Type DWord

# 限制会话时间
Set-GPRegistryValue -Name "RDS Security Policy" `
    -Key "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" `
    -ValueName "MaxSessionTime" -Value 480 -Type DWord # 8小时

gpupdate /force

5. 常见问题

Q1:启用 NLA 后某些旧客户端无法连接

NLA 要求客户端支持 CredSSP。Windows XP SP3+ 和 Windows 7+ 均支持。极旧客户端需要升级。

Q2:如何防止通过 RDS 外泄数据

禁用剪贴板重定向和驱动器映射(在组策略中设置),启用 RDS 审计日志,监控异常大文件传输。