所有连接都需要RDP上的TLS

我有一个2008年DC和一个2008 AD CS服务器和Windows 7客户端。 我想要的是当RDP到服务器时需要使用证书。

证书是有效的,如果我使用FQDN连接,则显示我已经按照预期通过了证书和Kerberos的身份validation。 当我只连接主机名,我被允许连接,并且只能通过Kerberos进行身份validation,即使我在要RLS的服务器上设置Require TLS 1.0。 我完全理解证书将无效,除非通过FQDN访问服务器,我想要做的是不允许不使用证书和Kerberos的连接。

我认为设置需要TLS 1.0会做到这一点。 我错过了什么?

  1. 开始 – >pipe理工具 – >terminal服务 – >terminal服务configuration
  2. 右键单击RDP-Tcp,然后select“属性”
  3. “安全层”默认为“协商”,必须更改为“SSL(TLS 1.0)”
  4. “encryption级别”必须设置为“高”或“符合FIPS”

参考: http : //technet.microsoft.com/en-us/library/cc782610(WS.10).aspx

编辑: Microsoft Technet文章指出TLS不能通过组策略启用。 但是,我已经使用Process Monitor和Regedit进行了一些实验,并确定可以通过设置相应的registry值来更改这些设置,如下所示。

要将“最小encryption级别”设置为“高”而不是“客户端兼容”:

HKLM \ System \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp \ MinEncryptionLevel REG_DWORD值:3

将安全层设置为“SSL(TLS 1.0)”而不是“协商”:

HKLM \ System \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp \ SecurityLayer
REG_DWORD值:2

为了testing你的场景,下面是我所做的:

  • 我有Windows Server 2008 R2 DC
  • 已安装的angular色 – > Active Directory证书服务,Active Directory域服务, Remote Desktop Services -> Remote Desktop Web Access ,Web服务器(IIS)。 由于这是我唯一的DC,我也安装了DNS服务器和DHCP服务器
  • 在我的IIS网站上安装了Server Authentication Certificate ,同时还托pipe了RDWeb应用程序
  • RDWeb from Anonymous to Windows Authentication身份validationRDWeb from Anonymous to Windows Authentication更改RDWeb from Anonymous to Windows Authentication
  • 从服务器本身访问网站,URL: https:// localhost / rdweb 。 工作正常
  • 从我的客户端(Windows Server 2008 R2),尝试访问URL: https:// fqdn / rdweb工作。 另外,尝试URL: https:// server_name / rdweb ..作品。

注意:我们仍然不确定它是否使用TLS 1.0

现在,强制RDWeb只能用于TLS:

  1. 打开Regedit
  2. 转到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  3. 创build一个新的Binary Value并将其命名为SSLCertificateSHA1Hash
  4. 复制SSL证书中的指纹,并将其添加为SSLCertificateSHA1Hash的值

例如:

 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] "SSLCertificateSHA1Hash"="hex:‎23,91,fc,0e,95,ad,e9,3e,fa,df,3d,54,54,f0,99,dc,cd,70,5c,5c" 

现在,访问网站URL: https:// fqdn / rdweb,同时使用fiddler进行跟踪,我们可以看到所有使用Cipher的HTTPS连接:0x2F。 尝试使用URL: https:// server_name相同的结果。

根据http://tools.ietf.org/html/rfc5289
CipherSuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = {0xC0,0x2F};

另外, 在Windows 7中使用自定义证书检查此RDP? (没有tsconfig.msc或组策略设置)

对于WMI,您可以检查文章Win32_TSGeneralSetting类

您是否确认了数据包捕获客户端没有协商TLS连接? 这是我知道的唯一方法来确定它是否按预期工作。