尽管在 gpedit.msc、计算机配置、管理模板、Windows 组件、RD 服务、RD 会话主机、安全性中进行了设置:-
- 需要使用指定的安全层...设置为 SSL
我仍然能够通过 IP 地址连接到 RDP。我只想允许使用具有有效 SSL 连接的域名进行 RDP 连接。
谁能帮忙指出我实际上错过了什么?
先感谢您。
问候, 阿尔文 L
尽管在 gpedit.msc、计算机配置、管理模板、Windows 组件、RD 服务、RD 会话主机、安全性中进行了设置:-
我仍然能够通过 IP 地址连接到 RDP。我只想允许使用具有有效 SSL 连接的域名进行 RDP 连接。
谁能帮忙指出我实际上错过了什么?
先感谢您。
问候, 阿尔文 L
您错过的第一件事是“SSL”和“有效证书”是两个完全不同的东西。证书验证失败的 SSL 连接仍然是 SSL 连接。它不会恢复到旧版 RDP 加密层。
(事实上,即使没有您的 GPO,需要 NLA 的主机也将始终使用 TLS 安全层,因为 NLA 的 CredSSP 在设计上集成了 TLS - 传统的 RDP 层甚至不再可能。您找到的 GPO 是旧的 pre -NLA 设置可追溯到 Server 2003。)
第二件事是服务器(即会话主机)无法强制执行客户端必须执行的验证。如果客户端收到证书错误,它可以决定继续进行,而不告诉服务器。
因此,如果您想使用有效的证书,您正在寻找的是一个客户端设置,通过 GPO 在工作站上进行部署——它不能在服务器上强制执行。
但是,在 Active Directory 环境中,您可以在服务器端强制执行的是拒绝 NTLM 身份验证并仅需要 Kerberos。这样做还会强制使用服务器的域名而不是 IP 地址(因为 Kerberos 必须找到匹配的 SPN)。
但它对 RDP 也有特别的优势,因为 NLA 的 CredSSP 将 TLS 握手验证与 Kerberos 票证交换(即“通道绑定”)集成在一起,因此即使证书没有以传统方式验证,CredSSP 也能够检测到 MITM 攻击不管。
(甚至可以从非成员客户端使用 Kerberos;为此,请在登录时以 UPN 格式输入用户名 - 即连接为
[email protected]
而不是domain\user
。)