注意:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它會使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值替代為您雲端環境特定的值。
使用 OCI WAF 設定及保護 Oracle Integration (處理作業) 自訂端點
簡介
Oracle Integration 是一個完全託管且預先設定的環境,可讓您將雲端和企業內部部署應用系統整合、將業務流程自動化、瞭解業務流程、開發視覺化應用系統、使用符合 SFTP 的檔案伺服器來儲存及擷取檔案,以及與 B2B 交易夥伴交換業務文件。
使用 Oracle Cloud Infrastructure Web Application Firewall (OCI WAF) 保護應用系統免於惡意和非必要網際網路流量的危害。WAF 可以保護任何連結網際網路的端點,對客戶的應用程式實施一致的規則。
目標
使用自訂端點設定 Oracle Integration 執行處理,並根據使用 OCI 防火牆的網際網路惡意流量進行保護。
本教學課程將會依照 Oracle Integration 的參考架構建議,使用文件建議的 WAF 與允許清單。

如需詳細資訊,請參閱: Provisioning and Administering Oracle Integration Generation 2 。
必要條件
- 存取 Oracle Cloud 租用戶
- 您租用戶的 Oracle Integration 執行處理設定
- 您租用戶中具有公用子網路的 VCN
- 具備 DNS 網域 CNAME 的自訂端點
- SSL 憑證
- 保護 Oracle Integration 執行處理自訂端點的 OCI WAF 原則
任務 1:建立 Oracle Integration 執行處理
-
若要透過 Web 主控台建立新的 Oracle Integration 執行處理,請前往開發人員服務功能表,然後按一下整合。

-
在「整合執行處理」畫面中,選取將建立執行處理的區間,然後按一下建立執行處理。

-
將會顯示建立執行處理的畫面。填寫執行處理名稱,選取 Oracle Integration 版本 (第二代),然後按一下建立。

注意:您可以根據環境的需求來設定其他項目。在本教學課程中,我們將保留預設值。
-
建立完畢之後,執行處理將可供使用。按一下執行處理名稱即可檢視詳細資訊。

-
若要驗證 Oracle Integration 執行處理的運作,請在存取您執行處理的詳細資訊後,按一下服務主控台。

-
新的瀏覽器頁標將會開啟,您可以存取 Oracle Integration 首頁畫面。

作業 2:設定 OCI 保存庫、DNS 和 SSL 憑證
Oracle Integration 執行處理建立之後,請為您的執行處理建立自訂端點。「自訂端點」可讓您使用專用網域存取 Oracle Integration 介面,例如:
https://oic-lab.<exampledomain>.com/ic/home
如果要建立自訂端點,請按照以下 5 個步驟執行:
- 建立具備公用子網路的 VCN
- 在指向 Oracle Integration 端點的自訂 DNS 中建立 CNAME 項目
- 為新連結建立 SSL 憑證 (例如
oic.<exampledomain>.com) - 建立儲存憑證的 OCI 保存庫
- 在您的 Oracle Integration 執行處理上執行自訂端點組態
作業 2.1:在區間中建立 VCN 和公用子網路
-
若要建立 VCN,請開啟 OCI Web 主控台的服務功能表,然後按一下虛擬雲端網路。

-
將「網路」頁面內之後,請檢查是否位於正確的區間中,然後按一下啟動 VCN 精靈。

-
根據您正在建置的環境需求建立 VCN。Oracle Integration 需要建立公用子網路,而且服務閘道可供使用 (NAT 閘道)。

-
建立 Oracle Integration 自訂端點時將使用 VCN。
重要事項:請記下您的 VCN OCID,此 OCID 將用於 Oracle Integration 上的 WAF 組態。
-
Task 2.2:在 Oracle Integration 端點的自訂 DNS 中建立 CNAME 項目
您現在必須存取網域的 DNS 組態環境,才能建立指向 Oracle Integration 的 CNAME 項目。當我們設定 WAF 時,此 CNAME 項目將會變更,但此時請務必建立,以便匯入將用於加密以傳輸您 Oracle Integration 存取權的 SSL 憑證。
-
回到 OCI 主控台中的 Oracle Integration 服務頁面。

-
在您的執行處理詳細資訊內,請注意 OCI 提供用於存取 Oracle Integration 執行處理服務主控台的網域 FQDN。

- 在我們的範例中,我們將使用 FQDN
oic-lab-instance-axyjvqi24eaa-gr.integration.ocp.oraclecloud.com。
- 在我們的範例中,我們將使用 FQDN
-
在指向您 Oracle Integration 自訂端點 FQDN 的網域中建立 CNAME。
注意:此教學課程並不在此教學課程的範圍內,用來顯示如何在 DNS 區域檔案中設定 CNAME。
-
取得 FQDN 之後,請設定自己網域的 CNAME。組態之後,請使用
dig命令驗證 CNAME 是否正確設定。$ dig <oic>.<exampledomain>.com
Task 2.3:建立新網域的 SSL 憑證
建立 CNAME 之後,您必須建立 SSL 憑證,才能為執行處理啟用加密的網際網路流量。本教學課程將建立一個自行簽署的 SSL 憑證。不過,在實際執行環境中,憑證必須是有效的。
-
若要建立自行簽署的憑證,請先建立一個私密金鑰。
$ openssl genrsa -out oic-lab.key 2048- 因此,您將取得名為
oic-lab.key的私密金鑰。

- 因此,您將取得名為
-
現在,讓我們建立 CSR (憑證簽署要求)。
$ openssl req -key oic-lab.key -new -out oic-lab.csr- 填寫要求的資訊,以取得您的 .csr 檔案。請注意,「通用名稱」必須正好是教學課程所使用的 FQDN。

-
現在我們有私密金鑰 (oic-lab.key) 和 csr (oic-lab.csr),讓我們建立自行簽署的 SSL 憑證。若要這樣做,請執行以下指令。
$ openssl x509 -signkey oic-lab.key -in oic-lab.csr -req -days 365 -out oic-lab.crt- 此命令將產生有效期限 365 天的自行簽署憑證。

現在我們有自行簽署的憑證,我們可以將它匯入 OCI 保存庫,以便在 Oracle Integration 內使用。
Task 2.4:建立 OCI 保存庫並匯入 SSL 憑證
現在我們已經擁有自行簽署的 SSL 憑證,就必須在執行 Oracle Integration 的區間中建立 OCI Vault。
-
若要建立 OCI 保存庫,請存取 OCI Web 主控台中的服務功能表。

-
載入 Vault 畫面之後,請檢查您是否位於正確的區間中,然後按一下建立保存庫。

-
填入正確建立 Vault 的資訊,然後按一下建立 Vault 。

-
建立保存庫之後,請建立您的主要加密金鑰。

-
建立包含自行簽署憑證的保存庫加密密碼之前,您需要調整要儲存在保存庫中的憑證格式。此適用性只是憑證、金鑰、中介憑證 (如果有的話) 以及憑證密碼詞組 (如果有的話) 的串連。最終的檔案格式為 JSON,如下方模型所示:
``` { "key": "-----BEGIN PRIVATE KEY-----\n…..-----END PRIVATE KEY-----\n", "cert": "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n", "intermediates": [ "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n", "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n" ], "passphrase": "<private key password if encrypted key is provided>" } ```- 若要使用我們一組憑證和金鑰來達到此格式,需要一些處理方式,因為您可以看到金鑰或憑證或密碼詞組中不應該斷行。
-
-
請使用下面的指令來調整您的金鑰。
`awk -v RS= '{gsub(/\n+/, "\\n")}1' <seu\_arquivo.key>`
-
複製此值並將其插入上方範例 JSON 的「索引鍵」項目中。使用檔案
crt重複此程序。
-
回到 OCI Web 主控台,按一下 OCI 保存庫的加密密碼功能表,然後按一下建立加密密碼。

-
正確填入欄位,然後在加密內容欄位中插入上述步驟中建立的 JSON。

- 請在建立加密密碼表單填入所需的資訊,選取您的主要加密金鑰,然後在加密密碼內容欄位中貼上您的 JSON 加密密碼。「加密密碼」建立之後,請建立 Oracle Integration 自訂端點。
Task 2.5:設定您 Oracle Integration 執行處理的自訂端點
-
若要設定 Oracle Integration 自訂端點,請返回 OCI Web 主控台的「整合」頁面並存取您的執行處理。

-
按一下編輯。

-
在 Oracle Integration 設定值編輯頁面中,按一下顯示進階設定值以檢視自訂端點組態項目。

-
若要繼續進行組態設定,請輸入自訂端點的名稱,然後選取包含儲存在保存庫內 SSL 憑證的加密密碼。最後,按一下儲存變更。

- 您的 Oracle Integration 執行處理將會變更為 UPDATING 狀態。請等待它再次變成作用中。
-
執行處理回到 ACTIVE 狀態之後,請按一下服務主控台以測試對新自訂端點的存取。

- 如果一切都正確設定,服務主控台將會使用您在 DNS CNAME 中設定的 FQDN 開啟 (作業 2.2 的步驟 2)。
-
本教學課程中,我們使用自行簽署的 SSL 憑證,預期瀏覽器會發出一則警示,表明無法驗證憑證。不過請注意,您自訂端點的 FQDN 已在使用中。

-
存取之後,應該會顯示您的 Oracle Integration 主控台,這表示您的「自訂端點」正常運作。

注意:如果您使用有效的 SSL 憑證,將不會發出與憑證有效性的瀏覽器警告訊息。
作業 3:設定 WAF 與 Oracle Integration AllowList
現在自訂端點已啟動並在執行中,讓我們設定 WAF 規則和 Oracle Integration 允許清單來保護對第 7 層攻擊的存取。
建立並設定 OCI WAF 以保護 Oracle Integration 避免受到外部攻擊之前,請先設定 Oracle Integration 允許清單,以限制哪些來源 IP 位址可以存取我們剛建立的自訂端點。最重要的是,只有 WAF OCI CIDR 具備存取權限。如此一來,我們就可以限制對 Oracle Integration 執行處理的外部存取,進而只透過 WAF 通道所有外部存取。
為了正確建立允許清單,我們首先需要擷取 WAF OCI 在設定 Oracle Integration 區域中使用的服務 CIDR。
Task 3.1:尋找您的 OCI 區域的 CIDR
-
您可以從以下網址取得此 CIDR:https://docs.oracle.com/en-us/iaas/tools/public_ip_ranges.json 。此 JSON 檔案包含網際網路上所有可用 OCI 服務的 CIDR。
-
若要尋找 WAF CIDR,請先在以上 URL 的 JSON 檔案內搜尋可識別您區域的字串。正如我們使用的是聖保羅區域,參照字串為 sa-saopaulo-1 。
-
如果您使用另一個區域,請存取下列 URL 來識別可識別您 Oracle Integration 部署位置的字串:區域與可用性網域
作業 3.2:尋找區域的 WAF CIDR
-
現在,您知道 OCI 服務公用範圍的位置以及用來建立 OCI 資源的區域字串,以尋找 WAF CIDR,您需要從 OCI 取得 WAF 服務 IP 範圍的完整清單。
-
包含 OCI WAF 服務公用 CIDR 的 URL 如下:邊緣原則入門。
-
前往 Step 6。保護您的 WAF 並擴充 CIDR 範圍。

-
您可以在 OCI WAF 服務找到所有可用的位址。現在,針對您在上述作業 3.1 中提出的區域 IP,進行搜尋,並透過搜尋 "OSN" (Oracle Services Network) 項目來尋找與您的區域對應的 WAF 範圍。
-
本教學課程使用聖保羅地區 IP。
請注意您找到的地址,以便我們現在可以在 Oracle Integration 允許清單中包含這些記錄。
作業 3.3:在 Oracle Integration 中設定 AllowList
-
現在我們有 WAF OCI 公用位址,讓我們在 Oracle Integration 內建立允許清單。若要這麼做,請返回執行處理畫面,按一下網路存取功能表,然後按一下編輯。

-
填入先前步驟中取得的 CIDR 以及在作業 2.2.1 中建立的 VCN OCID 的資訊。

-
設定允許清單之後,只有 WAF CIDR 可以直接存取主控台。所有其他透過網際網路的存取都必須透過 WAF。
-
若要驗證此項目,請嘗試存取您的 Oracle Integration Service 主控台。如果一切設定正確,您就會在瀏覽器中收到 403 禁止訊息。

讓 WAF 允許監控及保護此存取權。
Task 3.4:設定 OCI WAF 邊緣規則
一開始,我們需要同時在 WAF 中建立 SSL 憑證的記錄,此憑證可用來提供 Oracle Integration 主控台的安全 HTTPS 存取。
-
從 OCI Web 主控台功能表中,按一下邊緣原則資源。

-
在服務頁面上,按一下建立憑證 (Create Certificate) 。

-
配置數位憑證的頁面將會開啟。填入要求的資訊,並上傳上方步驟 2.2.3 中建立的 .crt 和 .key 檔案。

注意:選取自行簽署的憑證選項,因為我們建立的 SSL 憑證是自行簽署的。如果您要使用有效的憑證,則必須取消勾選此選項。
-
建立憑證之後,請返回「Web 應用程式防火牆」功能表,建立保護已設定 Oracle Integration 端點的 WAF 原則。若要這麼做,請在原則功能表中,按一下建立 WAF 原則。

-
按一下連結以建立「舊有工作流程」規則。

-
新功能表將會開啟,您必須正確填入要求的資訊。

其中:
- 名稱:填寫原則的名稱。
- WAF 原則區間:選取要在其中建立原則的區間。
- 主要網域:在 DNS 中建立的執行處理 FQDN。
- 來源名稱:識別 WAF 將傳送外部使用者存取權之 URL 的名稱。
- URI:您 Oracle Integration 執行處理的 FQDN (與上述步驟 2.2.2 中設定的 FQDN 相同)。
- 填入項目之後,請按一下建立邊緣原則。新畫面隨即顯示,內含保單的詳細資料。等到原則狀態為「作用中」為止。
為了完成此作業,我們需要執行 WAF 保護規則組態,並且必須將 DNS CNAME 重新設定為屬於 WAF 基礎架構的 FQDN。
Task 3.5:設定 OCI WAF 保護規則
-
建立邊緣原則之後,您必須設定一些參數,才能透過 WAF 保護 Oracle Integration 執行處理存取。若要這麼做,請在 WAF 原則中,按一下設定值功能表,然後按一下一般設定值頁籤上的編輯。

-
選取啟用 HTTPS 支援選項,然後選取您在步驟 3.3 中建立的憑證。按一下儲存變更。

-
設定讓 WAF 使用 SSL 憑證之後,您可以設定「存取控制」原則和「保護規則」。這些規則將提供必要的安全機制,以保護對 Oracle Integration 主控台的存取。WAF OCI 具有預先決定的規則,可以初始在其組態中使用,也可以根據業務需求自訂規則。自訂 WAF 規則不在此程序的範圍內。
-
建立存取控制
-
若要設定「存取控制」,請按一下存取控制功能表,然後按一下新增存取規則。

-
在「存取控制」組態畫面中,正確填入項目,然後按一下新增存取規則。請注意,在本教學課程中,我們將建立只允許從巴西 IP 位址存取 Oracle Integration 主控台頁面的規則。

-
-
建立保護規則
-
若要執行組態,請按一下保護規則功能表,然後按一下規則頁籤,然後啟用您要的原則。按一下每個規則的服務功能表,並將它放入區塊中。

- 視需要選取規則數目。在本教學課程中,我們只針對示範目的啟用跨網站命令檔 (XSS) 規則。
-
啟用 WAF 保護規則之後,請按一下未發布的變更功能表,然後按一下全部發布。

-
-
套用 WAF 規則大約需要 10-15 分鐘。
作業 3.6:將 CNAME 設定為 WAF 的 FQDN
設定好 WAF 的「保護規則」之後,就可以變更您專用網域的 CNAME,如此處理給該網域的所有要求都會轉送至 WAF,不會再轉送至 Oracle Integration 的自訂端點。
-
若要這麼做,請前往您的 WAF 原則頁面,然後複製您必須在 DNS 中設定的 CNAME 位址。

-
複製此位址並變更您區域內的 DNS 指向。變更 DNS 之後,請執行下面的命令來驗證組態是否正確。
$ dig <oic>.<exampledomain>.com
Task 3.7:設定 Oracle Integration 應用程式角色
透過 WAF 測試 Oracle Integration 存取的最後一個步驟就是變更 Oracle Integration 的應用程式角色,以正確授予使用者存取權。若無此情形,使用者將無法存取 Oracle Integration 主控台。
- 在 OCI Web 主控台中,按一下網域並存取您的「識別網域」組態。

注意: 如果您尚未設定自訂識別網域,您將會使用名為預設的網域。在本教學課程中,我們使用預設網域。
-
在「網域」頁面中,按一下預設。

-
在預設網域頁面中,按一下「Oracle Cloud Services」功能表,然後按一下您 ICO 執行處理的連結:

-
在執行處理的組態頁面中,按一下應用程式角色功能表以檢視 Oracle Integration 應用程式內的現有角色。在每個角色中,可以指派使用者或使用者群組,藉此詳細管理 Oracle Integration 環境的存取設定檔。

作業 4:測試與驗證
完成套用 WAF 原則並將網域的 CNAME 設定為指向 WAF 的 FQDN 之後,您終於可以測試所有項目是否正常運作。
-
透過網域的 FQDN 存取您端點的 URL。應該會顯示 Oracle Integration 主控台頁面。

-
若要驗證 WAF 執行的篩選,請存取您的原則組態頁面,然後按一下日誌功能表。

-
為了驗證 WAF 的作業,我們可以透過瀏覽器中的 URL 測試簡單的 XSS 攻擊。
https://<oic>.<exampledomain>.com/ic/home/?default=<script>alert(document.cookie)</script>
-
最後,存取 WAF 日誌並查看 XSS 攻擊激勵之未經授權存取的記錄。

您現在已在網際網路上擁有可用的 Oracle Integration 環境,並受到 OCI WAF 的保護。
相關連結
在使用本材料之前,建議您先閱讀參考連結和官方文件,以便管理 Oracle 雲端環境。
確認
作者 - Rodrigo Pace de Barros (Oracle LAD A-Team Cloud Security Solution Engineer)
其他學習資源
探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。
如需產品文件,請造訪 Oracle Help Center 。
Configure and protect an Oracle Integration (Process) custom endpoint with OCI WAF
F80991-01
May 2023
Copyright © 2023, Oracle and/or its affiliates.