為路由器和訊息處理器設定傳輸層安全標準 (TLS) 通訊協定

根據預設,路由器和訊息處理器支援傳輸層安全標準 (TLS) 1.0、1.1、1.2 版。不過,您可能會想要限制路由器和訊息處理器支援的通訊協定。本文件說明如何在路由器和訊息處理器上設定全域通訊協定。

如果是路由器,您也可以為個別虛擬主機設定通訊協定。詳情請參閱「設定私有雲的 API 的 TLS 存取權」。

您可以針對訊息處理器設定個別 TargetEndpoint 的通訊協定。詳情請參閱「設定從 Edge 到後端的 TLS (雲端和私有雲)」。

在路由器上設定 TLS 通訊協定

如要在路由器上設定 TLS 通訊協定,請在 router.properties 檔案中設定屬性:

  1. 在編輯器中開啟 router.properties 檔案。如果檔案不存在,請建立檔案:
    vi /opt/apigee/customer/application/router.properties
  2. 視需要設定屬性:
    # Possible values are space-delimited list of: TLSv1 TLSv1.1 TLSv1.2
    conf_load_balancing_load.balancing.driver.server.ssl.protocols=TLSv1.2
  3. 儲存變更。
  4. 確認屬性檔案為「apigee」使用者擁有:
     chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. 重新啟動路由器:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. 檢查 NGINX 檔案 /opt/nginx/conf.d/0-default.conf,確認通訊協定已正確更新:
    cat /opt/nginx/conf.d/0-default.conf

    確認 ssl_protocols 的值為 TLSv1.2。

  7. 如果將雙向傳輸層安全標準 (TLS) 與虛擬主機搭配使用,您也必須按照為私有雲設定 API 的 TLS 存取權一文的說明,在虛擬主機中設定 TLS 通訊協定。

在訊息處理器上設定 TLS 通訊協定

如要在訊息處理器上設定 TLS 通訊協定,請在 message-processor.properties 檔案中設定屬性:

  1. 在編輯器中開啟 message-processor.properties 檔案。如果檔案不存在,請建立檔案:
    vi /opt/apigee/customer/application/message-processor.properties
  2. 使用下列語法設定屬性:
    # Possible values are a comma-delimited list of TLSv1, TLSv1.1, and TLSv1.2
    conf/system.properties+https.protocols=[TLSv1][,TLSv1.1][,TLSv1.2]
    # Possible values are a comma-delimited list of SSLv3, TLSv1, TLSv1.1, TLSv1.2
    # SSLv3 is required
    conf_jvmsecurity_jdk.tls.disabledAlgorithms=SSLv3[,TLSv1][,TLSv1.1][,TLSv1.2]
    
    # Specify the ciphers that the Message Processor supports. (You must separate ciphers with a comma.):
    conf_message-processor-communication_local.http.ssl.ciphers=cipher[,...]

    conf_message-processor-communication_local.http.ssl.ciphers 可能的值包括:

    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_RSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
    • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

    例如:

    conf/system.properties+https.protocols=TLSv1.2
    conf/jvmsecurity.properties+jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1
    conf_message-processor-communication_local.http.ssl.ciphers=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

    如需相關屬性的完整清單,請參閱設定路由器與訊息處理器之間的 TLS

  3. 儲存變更。
  4. 確認屬性檔案為「apigee」使用者擁有:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. 重新啟動訊息處理器:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. 如果您要在後端使用雙向傳輸層安全標準 (TLS),請按照設定從 Edge 至後端的 TLS (雲端和私有雲) 設定所述,在虛擬主機中設定 TLS 通訊協定。