通过 SSL 将 RDP 连接到 RDP 网关并禁用 UDP

通过 SSL 将 RDP 连接到 RDP 网关并禁用 UDP

我想通过 SSL 连接到 Azure VM(Windows 2012 R2),据我所知,使用 RDP 网关服务可以实现这一点。但是,这通常用于连接到其他本地网络计算机,而不是网关本身。

是否可以通过 SSL 将 RDP 连接到网关本身?如果可以,我应该在 RDP 设置中指定什么来连接?

另外,我可以禁用网关使用的 UDP 连接吗?那样会有什么损失?

谢谢!

答案1

我不确定 Azure VM 上是否有所不同,但从技术上讲,您不需要 RDP 网关服务即可将 TLS (SSL) 与 RDP 结合使用。只要您这样配置,本机 RDP 服务本身就可以在 TLS 上顺利运行。如果问题更多地是关于在端口 443 上连接,您只需将监听端口从 3389 更改为 443 即可。

就是这样

因此,配置和执行的最简单方法是最多这些设置显然与组策略有关。在本Windows Components - Remote Desktop Services - Remote Desktop Sesstion Host - Security节中,您有以下策略:

  • 设置客户端连接加密级别(设置为“高级别”)
  • 要求对远程(RDP)连接使用特定的安全层(将其设置为“SSL(TLS 1.0)”
  • 使用网络级身份验证要求对远程连接进行用户身份验证(这在技术上与 SSL 无关,但如果您的客户端支持它,这仍然是一个好主意)

这些设置对应于以下主机级 GUI 设置,这些设置可在 2008 R2 中的远程桌面会话主机配置中使用,但在 2012 年及以后不再使用。

RDP-TCP 属性对话框

如果您想在 2012+ 主机上手动设置这些选项而不使用组策略,最简单的方法是通过 PowerShell 和 WMI。Win32_TS常规设置班级有设置加密级别设置安全层, 和设置用户身份验证必需可以像这样使用的方法:

$rdp = gwmi "Win32_TSGeneralSetting" -namespace "root\cimv2\terminalservices" -Filter "TerminalName='RDP-tcp'"
$rdp.SetEncryptionLevel(3)
$rdp.SetSecurityLayer(2)
$rdp.SetUserAuthenticationRequired(1)

不幸的是,没有 GUI 或优雅的 WMI 方法来设置监听端口。这只是手动更改注册表并手动重新启动 TermService 服务。如果您使用防火墙,您还需要向防火墙添加规则。从技术上讲,您可以使用组策略首选项来保留设置的值,但这不是真正的组策略。

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp -Name PortNumber -Value 443
netsh advfirewall firewall add rule name="RDP Alternate Port" protocol=TCP dir=in localport=443 action=allow
Restart-Service -Name TermService -Force

我现在没有时间了,但我可能会尝试回来获取有关实际证书的更多解释。

答案2

是的,您在 MSTSC 客户端中指定您的 RD 网关。并将计算机名称设置为网关服务器的名称。

只要您的 RD 网关策略允许,您就可以连接到 RD 网关服务器。

是的,您可以禁用 UDP 传输。这是 RD 2012 中多媒体和其他增强功能的一部分。不过请放心,UDP 流量仍然通过 DTLS 进行保护。

http://social.technet.microsoft.com/wiki/contents/articles/10973.configuring-udp-support-on-the-rd-gateway-in-windows-server-2012.aspx

相关内容