在適用的 vRealize Automation 元件中停用 TLS 1.0。

執行這項作業的原因和時機

沒有可在 Lighttpd 中停用 TLS 1.0 的指令。透過強制 OpenSSL 不使用 TLS 1.0 的加密套件 (如下方步驟 2 中所述),可部分降低 TLS 1.0 的使用限制。

程序

  1. vRealize Automation 應用裝置 上停用 HAProxy https 處理常式中的 TLS 1.0。
    1. no-tlsv10 附加到 /etc/haproxy/conf.d/20-vcac.cfg 檔案中以下項目的結尾。

      bind 0.0.0.0:443 ssl crt /etc/apache2/server.pem ciphers TLSv1+HIGH:!aNULL:!eNULL:!3DES:!RC4:!CAMELLIA:!DH:!kECDHE:@STRENGTH no-sslv3 no-tlsv10

    2. 將 no-tlsv10 附加到 /etc/haproxy/conf.d/30-vro-config.cfg 檔案中以下項目的結尾。

      bind :8283 ssl crt /opt/vmware/etc/lighttpd/server.pem ciphers TLSv1+HIGH:!aNULL:!eNULL:!3DES:!RC4:!CAMELLIA:!DH:!kECDHE:@STRENGTH no-sslv3 no-tls10

    備註︰

    若要重新啟用 TLS 1.0,請從繫結指令中移除 no-tlsv10

  2. 在 Lighttpd 中確認 OpenSSL 未使用 TLS 1.0 的加密套件
    1. 編輯 /opt/vmware/etc/lighttpd/lighttpd.conf 檔案的 ssl.cipher-list 行,如下所示:
      ssl.cipher-list = "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
    2. 使用下列命令重新啟動 lighttpd:

      service vami-lighttp restart

  3. vRealize Automation 應用裝置上停用主控台 Proxy 的 TLS 1.0。
    1. /etc/vcac/security.properties 檔案中新增或修改以下行。

      consoleproxy.ssl.server.protocols = TLSv1.2, TLSv1.1

    2. 透過執行下列命令重新啟動伺服器:

      service vcac-server restart

    備註︰

    若要重新啟用 TLS 1.0,請如下所述省略 TLSv1,然後重新啟動 vcac-server 服務:

    consoleproxy.ssl.server.protocols = TLSv1.2,TLSv1.1

  4. 針對 vCO 服務停用 TLS 1.0。
    1. 找到 /etc/vco/app/server/server.xml 檔案中的 <Connector> 標記,然後在其中新增以下屬性:

      sslEnabledProtocols = "TLSv1.1,TLSv1.2"

    2. 透過執行下列命令重新啟動 vCO 服務:

      service vco-server restart

  5. 針對 vRealize Automation 服務停用 TLS 1.0。
    1. 找到 /etc/vcac/server.xml 檔案中的 <Connector> 標記,然後在其中新增以下屬性:

      sslEnabledProtocols = "TLSv1.1,TLSv1.2"

    2. 透過執行下列命令重新啟動 vRealize Automation 服務。

      service vcac-server restart

    備註︰

    若要重新啟用 TLS 1.0,請將 TLSv1 新增至 sslEnabledProtocols。例如,sslEnabledProtocols = "TLSv1.1,TLSv1.2,TLSv1"

  6. 針對 RabbitMQ 停用 TLS 1.0。
    1. 開啟 /etc/rabbitmq/rabbitmq.config 檔案並確認 tlsv1.2 和 tlsv1.1 已新增至 ssl 和 ssl_options 區段,如以下範例所示。
      [
         {ssl, [
            {versions, ['tlsv1.2', 'tlsv1.1']},
            {ciphers, ["AES256-SHA", "AES128-SHA"]}
         ]},
         {rabbit, [
            {tcp_listeners, [{"127.0.0.1", 5672}]},
            {frame_max, 262144},
            {ssl_listeners, [5671]},
            {ssl_options, [
               {cacertfile, "/etc/rabbitmq/certs/ca/cacert.pem"},
               {certfile, "/etc/rabbitmq/certs/server/cert.pem"},
               {keyfile, "/etc/rabbitmq/certs/server/key.pem"},
               {versions, ['tlsv1.2', 'tlsv1.1']},
               {ciphers, ["AES256-SHA", "AES128-SHA"]},
               {verify, verify_peer},
               {fail_if_no_peer_cert, false}
            ]},
            {mnesia_table_loading_timeout,600000},
            {cluster_partition_handling, autoheal},
            {heartbeat, 600}
         ]},
         {kernel, [{net_ticktime,  120}]}
      ].
    2. 透過執行下列命令重新啟動 RabbitMQ 伺服器:

      # service rabbitmq-server restart