17.9. 网络安全性

17.9.1. 内置 RDP 网络安全性
17.9.2. 增强的网络安全性

为了保护所有传入和传出 Windows 服务器的数据的安全,Windows 连接器支持内置 RDP 网络安全选项和增强的网络安全选项。内置 RDP 安全使用 RC4 加密器,可通过 56 位或 128 位密钥对各种大小的数据进行加密。增强网络安全选项包括 TLS/SSL(使用可选服务器验证)和使用 CredSSP 的网络级验证 (Network Level Authentication, NLA)。

17.9.1. 内置 RDP 网络安全性

Windows 连接器使用 RSA Security 的 RC4 加密器,以确保传入和传出 Windows 系统的所有数据的安全性。该加密算法可使用 56 位或 128 位密钥加密不同大小的数据。

表 17.8 “网络安全性的加密级别”列出了 Windows 系统上可以配置的四种加密级别。

表 17.8. 网络安全性的加密级别

级别

说明

Low(低)

基于客户端所支持的最大密钥强度,加密从客户端到服务器的所有数据。

Client-compatible(与客户端兼容)

基于客户端所支持的最大密钥强度,双向加密客户端和服务器之间的所有数据。

High(高)

基于服务器的最大密钥强度,双向加密客户端和服务器之间的所有数据。无法连接不支持该加密强度的客户端。

FIPS-Compliant(符合 FIPS)

不支持符合 FIPS 标准的加密。


注意

级别设置为“低”时,仅加密从客户端到服务器的数据,其他情况下,数据加密是双向的。

17.9.2. 增强的网络安全性

增强网络安全选项包括 TLS/SSL(使用可选服务器验证)和使用 CredSSP 的网络级验证 (Network Level Authentication, NLA)。这些选项可在建立完整的会话连接之前保护 Windows 会话免受恶意用户和软件的侵扰。

表 17.9 “增强的网络安全性的命令行示例”提供了一个 uttsc 命令行示例列表,其中显示了 Windows 远程桌面服务配置为与客户端进行协商时所使用的安全机制。结果为 "RDP" 表示将使用内置 RDP 安全。

表 17.9. 增强的网络安全性的命令行示例

uttsc 命令行示例

Windows XP

Windows Server 2003 R2

Windows 7、Windows Server 2008 R2

Windows 8、Windows Server 2012

-u user -p

RDP

SSL/TLS

NLA

NLA

-u user -j VerifyPeer:on

RDP

SSL/TLS

SSL/TLS

SSL/TLS

-u user -j VerifyPeer:on -p

RDP

SSL/TLS

NLA

NLA

-N off

RDP

RDP

RDP

RDP


17.9.2.1. TLS/SSL 安全性

使用以下注意事项配置 TLS/SSL 安全性:

  • RDP 主机必须运行 Windows Server 2003 R2、Windows 7、Windows Server 2008 R2、Windows 8 或 Windows Server 2012。

  • Windows 系统的安全层必须配置为 "SSL (TLS 1.0)" 或“协商”。

  • 为连接到启用了 TLS/SSL 对等验证 (-j VerifyPeer:on) 的 Windows 主机,必须将 root 用户证书添加到客户端的 OpenSSL 证书存储库,或使用 uttsc 命令的 -j CAPath:path-j CAfile:pem-file 选项指定其他搜索路径/PEM 文件。

  • TLS/SSL 连接要求在 Windows 系统上必须存在证书。如果证书不存在,连接可能会退回到内置 RDP 安全(如果允许)或失败。

17.9.2.2. NLA 安全性

使用以下注意事项配置 NLA 安全性:

  • RDP 主机必须运行 Windows 7、Windows Server 2008 R2、Windows 8 或 Windows Server 2012。

  • Windows 系统的安全层必须配置为 "SSL (TLS 1.0)" 或“协商”。

  • 可以在 Windows 系统上实施 NLA 安全。例如,如果使用 Windows Server 2008 R2,在 "System Properties"(系统属性)窗口的 "Remote"(远程)选项卡上选择以下选项:"Allow connections only from computers running Remote Desktop with Network Level Authentication (more secure)"(只允许运行带网络级身份验证的远程桌面的计算机连接(更安全))。选择该选项时,用户必须将 -u-p 选项与 uttsc 命令配合使用,才能连接到服务器。

  • 默认情况下,对 NLA 安全性使用 Kerberos 验证。如果 Windows 连接器无法针对远程桌面服务获得 Kerberos 票证,则它将使用 NT LAN 管理器 (NT LAN Manager, NTLM) 验证。可以指定 uttsc 命令的 -N kerberos 选项以强制仅使用 Kerberos 验证或指定 -N ntlm 选项以强制仅使用 NTLM 验证。

  • 使用 Kerberos 验证时,指定的用户名必须为有效的 Kerberos 主体名称。使用 kinit 命令验证主体名称是否有效。

  • 使用 Kerberos 验证时,必须按照第 17.9.2.3 节 “为 NLA 安全性设置 Kerberos 验证”中所述在 Sun Ray 服务器上配置 Kerberos。

17.9.2.3. 为 NLA 安全性设置 Kerberos 验证

如果要对 NLA 安全性使用 Kerberos 验证,必须在 Sun Ray 服务器上正确配置 Kerberos。请参阅下面有关设置 Kerberos 验证的信息:

配置后,可以使用 getentnslookupkinit 命令检查 Kerberos 及其名称解析要求是否已正确配置。

例如:

  • # getent hosts my.windows.host 必须返回 IP 地址和主机名

  • # getent hosts IP_of_my.windows.host 必须返回 IP 地址和主机名

  • # nslookup -query=any _gc._tcp.domain_name 必须解析域

  • # kinit -V super-user@domain_name 必须成功