使用 TLS 保护用户会话安全

自版本 7.16 起,Linux VDA 支持用于保护用户会话安全的 TLS 加密。默认情况下,TLS 加密处于禁用状态。

启用 TLS 加密

要启用用于保护用户会话安全的 TLS 加密,请在 Linux VDA 和 Delivery Controller (Controller) 上获取证书并启用 TLS 加密。

获取证书

从可信证书颁发机构 (CA) 获取 PEM 格式的服务器证书和 CRT 格式的根证书。服务器证书包含以下部分:

  • 证书
  • 未加密的私钥
  • 中间证书(可选)

服务器证书示例:

    -----BEGIN CERTIFICATE-----

    MIIDTTCCAragAwIBAgIJALluncpiqGXCMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNV

    BAYTAlVLMRIwEAYDVQQIEwlDYW1icmlkZ2UxEjAQBgNVBAcTCUNhbWJvdXJuZTEU

    MBIGA1UEChMLQ2l0cml4IFRlc3QxGjAYBgNVBAMTEWNhMDAxLmNpdHJpdGUubmV0

    MB4XDTA4MDkzMDEwNTk1M1oXDTI4MDkyNTEwNTk1M1owgYoxCzAJBgNVBAYTAlVL

    MRIwEAYDVQQIEwlDYW1icmlkZ2UxEjAQBgNVBAcTCUNhbWJvdXJuZTEUMBIGA1UE

    ChMLQ2l0cml4IFRlc3QxGzAZBgNVBAsTElNlcnZlciBDZXJ0aWZpY2F0ZTEgMB4G

    A1UEAxMXY2EwMDEtc2MwMDEuY2l0cml0ZS5uZXQwgZ8wDQYJKoZIhvcNAQEBBQAD

    gY0AMIGJAoGBALCTTOdxcivbI0L0F66xgO5gkNeIGKVP+37pSKV8B66lWCVzr6p9

    t72Fa+9oCcf2x/ue274NXFcg4fqGRDsrEw13YxM6COyBf7L6psrsCDNnBP1q8TJH

    4xoPIXUeaW4MVk/3PVyfhHKs4fz8yy1I4VDnXVHhw+0FQ2Bq3NhwsRhnAgMBAAGj

    gdwwgdkwCQYDVR0TBAIwADAdBgNVHQ4EFgQUrLidzYot+CUXSh9xMfp1M+/O8y0w

    gZkGA1UdIwSBkTCBjoAU85kN1EPJ0cVhcOss1slseDQwGsKha6RpMGcxCzAJBgNV

    BAYTAlVLMRIwEAYDVQQIEwlDYW1icmlkZ2UxEjAQBgNVBAcTCUNhbWJvdXJuZTEU

    MBIGA1UEChMLQ2l0cml4IFRlc3QxGjAYBgNVBAMTEWNhMDAxLmNpdHJpdGUubmV0

    ggkAy8nC8dcB32EwEQYJYIZIAYb4QgEBBAQDAgVgMA0GCSqGSIb3DQEBBQUAA4GB

    AD5axBYHwIxJCJzNt2zdXnbp200yUToWElBwQe/9cGaP6CpjoxJ7FJa2/8IpaT68

    VelBu1SEYY1GKCGCw93pc7sPKqb8pGBRI5/dygb+geFk1Q7KyVbu0IjOtr3pkxAe

    b6CFJtNLudHUrwF6l0rB72zbyz3PiIx+HEwt1j0j8z4K

    -----END CERTIFICATE-----

    -----BEGIN RSA PRIVATE KEY-----

    MIICXgIBAAKBgQCwk0zncXIr2yNC9BeusYDuYJDXiBilT/t+6UilfAeupVglc6+q

    fbe9hWvvaAnH9sf7ntu+DVxXIOH6hkQ7KxMNd2MTOgjsgX+y+qbK7AgzZwT9avEy

    R+MaDyF1HmluDFZP9z1cn4RyrOH8/MstSOFQ511R4cPtBUNgatzYcLEYZwIDAQAB

    AoGBAKwBgZu/bkl8edgB8YPyU7diiBX89I0s4b/aPjM+JDmjxb8N96RsPO24p9Ea

    FtUc9+iL8mEroLUbSicCXjsJFc+cxg9vVaNa6EEkkBj735oCUERqSx0Yb/lAdck/

    FXzU0tqytUe/KHgcSgjtjrSeqLJqMm+yxzBAatVRTTzGdwAhAkEA3l1KRZjIN5uz

    Enmi2RTI3ngBhBP/S3GEbvJfKsD5n2Ri90+OoEPxclvvp5ne8Q0zUpshbjFEPb0C

    ykZ6UassFwJBAMtI5yPnV9ewPzJoaNjZIJcMtNXDchSlxXiJiyzv+Qmr8RuQz9Pv

    fIenmTrfZ+Wo4DaKg+8ar2OvOnKF0HFAmDECQQDEwR1H6cE3WyCfN1u942M9XkhR

    GvSpR7+b///vL6Nwwv3CwPV9n8DTpL+wuDkJZ9nCvRteil9MlaMTYjs3alNvAkEA

    qy5JzZcbBnrYzMbVO32jju7ZPISnhTGO1xDjzMSLLpTGpNLN34b0k3sTclr8L42E

    uQjtTqRm+wdsrVF3lFazkQJANudmsUVv3gZKhMGaV2hzIdXIfHyOIYv+3leZhQY6

    h5eEmxSZS50TvyNGt2e6m2ZgaZmjTagH59TCBHvR5nof2g==

    -----END RSA PRIVATE KEY-----

    -----BEGIN CERTIFICATE-----

    MIIDGTCCAoKgAwIBAgIJAMvJwvHXAd9hMA0GCSqGSIb3DQEBBQUAMGcxCzAJBgNV

    BAYTAlVLMRIwEAYDVQQIEwlDYW1icmlkZ2UxEjAQBgNVBAcTCUNhbWJvdXJuZTEU

    MBIGA1UEChMLQ2l0cml4IFRlc3QxGjAYBgNVBAMTEWNhMDAxLmNpdHJpdGUubmV0

    MB4XDTA4MDkzMDEwNDExMVoXDTI4MDkyNTEwNDExMVowZzELMAkGA1UEBhMCVUsx

    EjAQBgNVBAgTCUNhbWJyaWRnZTESMBAGA1UEBxMJQ2FtYm91cm5lMRQwEgYDVQQK

    EwtDaXRyaXggVGVzdDEaMBgGA1UEAxMRY2EwMDEuY2l0cml0ZS5uZXQwgZ8wDQYJ

    KoZIhvcNAQEBBQADgY0AMIGJAoGBAKVZmF7Uj7u0nvO3Qwdfi0nr3QkNH2DXpWrZ

    Zh8cI9Vv+UFRUiC6oB7izLtBMFn3fOUP7i2CfkHN3ZGJ17p89pdyjket1MslVeJw

    acOqrYvD+fNNSvJjunTbaCywVtALjmFSfMHeZJXVSckrpEhnk0nkMS16tcrya/K/

    osSlzvI3AgMBAAGjgcwwgckwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQU85kN1EPJ

    0cVhcOss1slseDQwGsIwgZkGA1UdIwSBkTCBjoAU85kN1EPJ0cVhcOss1slseDQw

    GsKha6RpMGcxCzAJBgNVBAYTAlVLMRIwEAYDVQQIEwlDYW1icmlkZ2UxEjAQBgNV

    BAcTCUNhbWJvdXJuZTEUMBIGA1UEChMLQ2l0cml4IFRlc3QxGjAYBgNVBAMTEWNh

    MDAxLmNpdHJpdGUubmV0ggkAy8nC8dcB32EwDQYJKoZIhvcNAQEFBQADgYEAIZ4Z

    gXLLXf12RNqh/awtSbd41Ugv8BIKAsg5zhNAiTiXbzz8Cl3ec53Fb6nigMWc5Tli

    UNCLXwnxRUiD400tESLX9ACUNH3I94yxOgujkSOSBni21jjZTvfBB32Rmr5DByJg

    UmKORn/hdqMlcqpe5wO6as6+HN4WUOi+hEtUMME=

    -----END CERTIFICATE-----

启用 TLS 加密

在 Linux VDA 上启用 TLS 加密

在 Linux VDA 上,使用 enable_vdassl.sh 工具启用(或禁用)TLS 加密。该工具位于 /opt/Citrix/VDA/sbin 目录中。有关该工具中可用选项的信息,请运行 /opt/Citrix/VDA/sbin/enable_vdassl.sh -help 命令。

提示: 必须在每台 Linux VDA 服务器上安装服务器证书,以及必须在每台 Linux VDA 服务器和客户机上安装根证书。

在 Controller 上启用 TLS 加密

注意:

  • Controller 必须使用 Linux VDA 的完全限定的域名 (FQDN)。它不能使用 IP 地址(默认情况下使用)连接到目标 Linux VDA。
  • 只能对整个交付组启用 TLS 加密。不能为特定应用程序启用 TLS 加密。

在 Controller 上的 PowerShell 窗口中,按顺序运行以下命令以对目标交付组启用 TLS 加密,并使 Controller 使用 Linux VDA 的 FQDN。

  1. Asnp citrix.*
  2. Get-BrokerAccessPolicyRule –DesktopGroupName ‘GROUPNAME’ | Set-BrokerAccessPolicyRule –HdxSslEnabled $true
  3. Set-BrokerSite –DnsResolutionEnabled $true

要在 Controller 上禁用 TLS 加密,请按顺序运行以下命令:

  1. Asnp citrix.*
  2. Get-BrokerAccessPolicyRule –DesktopGroupName ‘GROUPNAME’ | Set-BrokerAccessPolicyRule –HdxSslEnabled $false
  3. Set-BrokerSite –DnsResolutionEnabled $false

故障排除

尝试访问已发布的桌面会话时,适用于 Windows 的 Citrix Workspace 应用程序中可能会出现下面的“无法分配请求的地址”错误:

无法分配请求的地址错误图

解决方法:向 hosts 文件添加一个条目,类似于:

10.108.13.180      rhvm72work.citrixlab.local

其中

  • 10.108.13.180 是 Linux VDA 的 IP 地址。
  • rhvm72work.citrixlab.local 是 Linux VDA 的 FQDN。

在 Windows 计算机上,hosts 文件通常位于 C:\Windows\System32\drivers\etc\hosts

使用 TLS 保护用户会话安全