允許 Edge UI 存取本機 IP 位址

私有雲 4.18.01 版本

有幾個位置可讓 Edge UI 嘗試存取本機 IP 位址。這些本機 IP 位址可能會對應到不應對外公開的私人資源或其他受保護的資源:

  • Edge UI 中的追蹤工具能夠向任何指定網址傳送及接收 API 要求。在某些部署情境中,邊緣元件與其他內部服務一起託管時,惡意使用者可能會向私人 IP 位址發出要求,以濫用 Trace 工具的強大功能。
  • 從 OpenAPI 規格建立 API Proxy 時,規格說明瞭 API 的元素,做為基礎路徑、路徑和動詞、標頭等。根據規範,惡意使用者可以指定 Proxy 基本路徑,藉此參照私人 IP 位址。
  • 使用本機檔案系統中的 WSDL 檔案建立 API Proxy。

基於安全考量,根據預設,Edge UI 不得參照私人 IP 位址。私人 IP 位址清單包括:

  • 回送位址 (127.0.0.1 或 localhost)
  • 網站本機位址 (適用於 IPv4 - 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)
  • 任何本機位址 (解析為 localhost 的任何位址)。

如要讓 Edge UI 存取私人 IP 位址,請設定下列權杖:

  • 在 Trace 工具中,conf_apigee-base_apigee.feature.enabletraceforinternaladdresses 屬性預設為停用。設為 true 即可讓 Trace 工具存取私人 IP 位址。
  • 針對 OpenAPI 規格,conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses 屬性預設為停用。如要設為 OpenAPI 存取權以存取私人 IP 位址,請將這個欄位設為 true。
  • 如果是 WSDL 檔案,conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses 屬性預設為停用。設為 true,即可上傳私人 IP 位址的 WSDL 檔案。

將這些屬性設為 true 的步驟如下:

  1. 在編輯器中開啟 ui.properties 檔案。如果檔案不存在,請建立檔案。
    > vi /opt/apigee/customer/application/ui.properties
  2. 將下列屬性設為 true:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
    conf_apigee-base_apigee.feature.enableopenapiforinternaladdresses="true"
    conf_apigee-base_apigee.feature.enablewsdlforinternaladdresses="true"
  3. 將變更內容儲存至 ui.properties
  4. 確認屬性檔案為「Apigee」使用者:
    > chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. 重新啟動 Edge UI:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-ui 重新啟動

Edge UI 現在可以存取本機 IP 位址。