附註:

建立及設定 Oracle Cloud Infrastructure Zero Trust Packet Routing

簡介

Oracle Cloud Infrastructure (OCI) Zero Trust Packet Routing 透過從基礎網路架構單獨管理網路安全原則,防止對資料進行未經授權的存取。安全性管理員可以使用易於理解和意圖為基礎的政策語言,為資料定義特定的存取路徑。原則未明確允許的流量無法經由網路傳送、改善安全性,同時簡化安全性、網路和稽核團隊的工作。

下列教學課程提供如何設定 OCI Zero Trust Packet Routing 以套用安全控制,以管理 Oracle Cloud Infrastructure (OCI) 租用戶內網路間通訊的詳細資訊。在本教學課程中,已部署下列架構。

顯示此 ZPR 使用案例架構的影像。

在此架構中,已設定下列資源:

此外,已為此使用案例設定個別 VCN (so-vcn-pt),其中包括:

目標

必要條件

作業 1:確認從從屬端存取資料庫

在這項任務中,我們將確認這兩個運算執行處理都能夠透過 Oracle Instant Client 存取資料庫。

  1. opc 使用者身分使用 SSH 連線至您的 client-prod 運算執行處理。

  2. 執行 sqlplus 命令以連線至您的自治式資料庫。

    依據先決條件,應安裝並設定 Oracle Instant 從屬端。以下為設定步驟的摘要:

    • 下載並安裝 Oracle Instant Client。

    • 設定 Oracle Instant Client。

    • 從 OCI 下載自治式資料庫的連線公事包。

    • 將公事包擷取至資料夾。

    • 設定公事包資料夾內的 sqlnet.ora 檔案,以指向您的公事包位置。

    • 匯出變數 TNS_ADMIN 以指向擷取的公事包位置。例如,export TNS_ADMIN=/opt/wallet

    • 執行 sqlplus 命令,例如 sqlplus admin@financeprod_low,並在出現提示時輸入您的密碼。

    如果您的 Oracle Instant Client 正常運作且完成所有先決條件,您應該順利連線至資料庫並執行命令。執行 show user; 命令以查看使用者。

    顯示從屬端生產環境 SSH 存取權的螢幕擷取畫面。

  3. 重複來自 client-dev 的資料庫連線測試。

    顯示 client-dev SSH 存取的螢幕擷取畫面。

    如果您的 Oracle Instant Client 正常運作且完成所有先決條件,您應該順利連線至資料庫並執行命令。執行 show user; 命令以查看使用者。

作業 2:啟用 OCI 零信任封包路由

如果這是您第一次在租用戶中使用 OCI Zero Trust Packet Routing,則必須啟用此功能。

  1. 以具備適當權限的使用者身分登入 OCI 主控台,以管理 OCI Zero Trust Packet Routing 資源和本教學中使用的其他資源。

  2. 移至識別與安全性,然後按一下零信任封包路由

  3. 按一下啟用 ZPR ,按鈕將會變成灰色,而 OCI Zero Trust Packet Routing 功能表將可供存取。

    顯示已啟用 ZPR 的螢幕擷取畫面。

作業 3:設定 OCI 零信任封包路由安全屬性

若要設定 OCI 零信任封包路由,我們必須設定將用於 OCI 零信任封包路由原則的安全屬性。

在此工作中,我們將建立三個新的安全屬性,代表網路、資料庫和應用程式。我們會為這些安全性屬性建立預先定義的值。

  1. 移至零信任封包路由,然後按一下安全屬性命名空間

  2. 清單範圍下,選取 root 區間。我們會看到預先定義的 oracle-zpr 命名空間

    顯示 ZPR 安全屬性命名空間的螢幕擷取畫面。

  3. 按一下 oracle-zpr,您會看到預先定義的 sensitivity 安全屬性。我們不會使用此教學課程中的屬性。

  4. 選取建立安全性屬性以建立新的安全性屬性。

  5. 建立安全性屬性中,輸入下列資訊。

    • 名稱:輸入 app
    • 描述:輸入 Security attribute representing applications
    • 安全性屬性值類型:選取值清單
    • 值:輸入 proddev (在個別行上)。

    顯示應用程式 ZPR 安全性屬性的螢幕擷取畫面。

  6. 按一下建立,即可建立新屬性。

  7. 重複步驟 5 和步驟 6,再建立兩個安全性屬性。

    • 使用下列資訊建立資料庫的安全屬性:

      • 名稱:輸入 db
      • 描述:輸入 Security attribute representing databases
      • 安全性屬性值類型:選取值清單
      • 值:輸入 proddev (在個別行上)。
    • 使用下列資訊為網路建立安全屬性:

      • 名稱:輸入 network
      • 描述:輸入 Security attribute representing networks
      • 安全性屬性值類型:選取值清單
      • 值:輸入 proddev (在個別行上)。

    完成之後,您應該會看到您的安全屬性清單,包括預先定義的 sensitivity 屬性。

    顯示「零信任封包路由」安全屬性清單的螢幕擷取畫面。

作業 4:建立 OCI 零信任封包路由原則

我們已經定義了安全性屬性,現在需要建立原則來控制網路上的資訊流。

在此使用案例中,我們需要一個允許生產環境應用程式能夠與生產環境資料庫通訊的原則。在這項任務中,我們將設定 OCI Zero Trust Packet Routing 原則以達到此目的。

  1. 移至 OCI 主控台,瀏覽至識別與安全零信任封包路由,然後按一下原則

  2. 按一下建立原則即可建立新的 OCI 零信任封包路由原則。

  3. 輸入下列資訊,然後按一下新增原則敘述句,將原則敘述句新增至您的原則。

    • 名稱:輸入 prod_policy
    • 描述:輸入 Policy to allow production clients in the production network to access production databases
  4. 檢查建立原則敘述句的三個選項,選取手動建立原則,輸入下列原則敘述句,然後按一下新增來儲存原則敘述句。

    • 原則敘述句:輸入 in network:prod VCN allow app:prod endpoints to connect to db:prod endpoints with protocol = 'tcp/1522'

    注意:即使沒有說明,原則敘述句也很容易瞭解。為求明確起見,您會告訴 OCI Zero Trust Packet Routing,您希望將安全性屬性為 app:prod 的任何資源都指派到這些資源,以便能夠在 network:prod VCN over TCP 通訊協定 1522 內與已指派 db:prod 安全性屬性的任何資源進行通訊。

    顯示 prod_policy 敘述句的螢幕擷取畫面。

    您完成的原則應該如下:

    顯示 prod_policy 的螢幕擷取畫面。

  5. 按一下建立原則,即可完成建立 prod_policy

    注意:將安全屬性指定給資源之後,便會強制實行 OCI 零信任封包路由原則,而且只允許符合 OCI 零信任封包路由原則的流量通過網路。由於不會有 OCI 零信任封包路由原則允許 SSH 存取您的從屬端,因此您將對這兩個運算執行處理指定安全屬性,因此您將失去對這些運算執行處理的 SSH 存取權。因此,您必須建立兩個額外的原則來修正此問題。

  6. 重複步驟 2 到 5 以建立兩個額外的 OCI 零信任封包路由原則,以便透過 SSH 連線至您的運算執行處理。

    • 允許 SSH 存取 client-prod 的原則:

      • 名稱:輸入 prod_client_access_policy
      • 描述:輸入 Policy to allow SSH access to the production clients in the production network
      • 原則敘述句:輸入 in network:prod VCN allow 'x.x.x.x/32' to connect to app:prod endpoints with protocol='tcp/22'
    • 允許 SSH 存取 client-dev 的原則:

      • 名稱:輸入 dev_client_access_policy
      • 描述:輸入 Policy to allow dev clients in the production network to access production databases
      • 原則敘述句:輸入 in network:prod VCN allow 'x.x.x.x/32' to connect to app:dev endpoints with protocol='tcp/22'

      注意:

      • x.x.x.x 取代為您的 IP 位址。

      • 在生產環境案例中,通常透過 OCI 堡壘主機存取從屬端。不過,若要讓本教學課程保持簡單,請直接存取。因此,需要包括透過 SSH 連線至用戶端的來源機器外部 IP 位址。

    您完成的原則應該會如下:

    顯示 ZPR 原則清單的螢幕擷取畫面。

作業 5:指定資源的安全屬性

在此工作中,若要設定 OCI 零信任封包路由,我們會將安全屬性指定給必要的資源。

我們會將 db 安全屬性與您的資料庫建立關聯、將 app 安全屬性與您的兩個從屬端建立關聯,並將 network 安全屬性與您的 VCN 建立關聯。

注意:指定安全屬性時,可以從「OCI 零信任封包路由」畫面或個別資源完成。本教學課程將向您展示這兩種方法。

  1. 將安全性屬性指派給資料庫。

    1. 移至 OCI 主控台,瀏覽至 Oracle DatabaseAutonomous Database

      注意:請確定您位於建立資料庫的區間中,便會看到該區間。

      顯示 Autonomous Database 的螢幕擷取畫面。

    2. 請從可用資料庫清單選取您的資料庫 (例如 Finance-PROD)。

    3. 按一下安全屬性。您會看到目前空白且未指派安全性屬性。

      顯示「安全屬性」頁籤的螢幕擷取畫面。

    4. 按一下新增安全屬性,然後輸入下列資訊。

      • 命名空間:選取 oracle-zpr
      • 索引鍵:選取 db
      • 值:選取 prod

      顯示選取安全屬性的螢幕擷取畫面。

    5. 按一下新增安全性屬性,將安全性屬性指派給資料庫。將會更新資料庫並指派屬性。

      顯示已填入「安全屬性」頁籤的螢幕擷取畫面。

  2. 指定運算執行處理的安全屬性。

    1. 移至 OCI 主控台,瀏覽至運算執行處理

      注意:請確定您位於建立運算執行處理的區間中,但應該會看到這兩個區間。

      顯示運算執行處理的螢幕擷取畫面。

    2. 從可用的執行處理清單中選取您的 client-prod 執行處理。

    3. 按一下安全性。此項目空白,因為尚未指定安全屬性給執行處理。

      顯示「安全屬性」頁籤的螢幕擷取畫面。

    4. 按一下新增安全屬性,然後輸入下列資訊。

      • 命名空間:輸入 oracle-zpr
      • 索引鍵:輸入 app
      • 值:輸入 prod

      顯示選取安全屬性的螢幕擷取畫面。

    5. 按一下新增安全性屬性,將安全性屬性指派給資料庫。將會更新運算執行處理並指定屬性。

      顯示已填入「安全屬性」頁籤的螢幕擷取畫面。

    6. 移至 OCI 主控台,瀏覽至運算執行處理

      顯示運算導覽路徑功能表的螢幕擷取畫面。

    7. 從可用的執行處理清單中選取您的 client-dev 執行處理。

    8. 按一下安全性

      顯示「安全屬性」頁籤的螢幕擷取畫面。

    9. 按一下新增安全屬性,然後輸入下列資訊。

      • 命名空間:選取 oracle-zpr
      • 索引鍵:選取 app
      • 值:選取 dev

      顯示選取安全屬性的螢幕擷取畫面。

    10. 按一下新增安全性屬性,將安全性屬性指派給資料庫。將會更新運算執行處理並指定屬性。

      顯示已填入「安全屬性」頁籤的螢幕擷取畫面。

  3. 將安全屬性指定給 VCN。

    1. 移至 OCI 主控台,瀏覽至網路虛擬雲端網路

      注意:請確定您位於建立 VCN 的區間中,便會看到該區間。

      顯示 VCN 的螢幕擷取畫面。

    2. 從可用的 VCN 清單中選取您的 so-vcn-pt VCN。

    3. 按一下安全性

      顯示「安全屬性」頁籤的螢幕擷取畫面。

      注意:若要指定此安全屬性,您將透過「OCI 零信任封包路由」功能表來指定此屬性,而不是從資源指定。這裡顯示指定 OCI Zero Trust Packet Routing 安全屬性的兩種不同方式。

    4. 移至 OCI 主控台,瀏覽至識別與安全零信任封包路由,然後按一下受保護的資源

      您將會看到已經受保護的現有資源清單,例如已將安全屬性指定給它們。

      顯示 ZPR 保護資源的螢幕擷取畫面。

    5. 按一下新增安全屬性至資源

    6. 若要篩選清單,請選取您建立 VCN 的區間,然後選取資源類型作為 Vcn

      顯示 ZPR 保護資源的螢幕擷取畫面。

    7. 選取您的 VCN ( so-vcn-pt),然後按一下下一步

    8. 請輸入下列資訊。

      • 安全屬性命名空間:選取 oracle-zpr
      • 安全性屬性:選取 network
      • 安全性屬性值:選取 prod

      顯示 ZPR 保護資源屬性選擇的螢幕擷取畫面。

    9. 按一下下一步並複查摘要。

      顯示 ZPR 保護資源屬性選取摘要的螢幕擷取畫面。

    10. 按一下提交關閉,以結束工作要求。在數分鐘後,將會完成工作要求,而 VCN 將會顯示在受保護資源中。我們也可以簽入 VCN,以確保已指派安全性屬性。

    11. 重複步驟 1 到 3,查看指定給 VCN 的安全屬性。

      顯示指定給 VCN 之安全屬性的螢幕擷取畫面。

作業 6:測試原則

現在,OCI Zero Trust Packet Routing 組態已完成,最終任務是測試原則。在本自學課程中,我們有兩個測試案例。

  1. 第一個測試案例是確保 client-prod 仍然可以存取 financeprod 資料庫。

    1. opc 使用者身分使用 SSH 連線至您的 client-prod 運算執行處理。

      您的 OCI 零信任封包路由原則允許從您的本機機器進行此連線,因此您的 SSH 連線應成功。

    2. 執行 sqlplus 命令以連線至您的自治式資料庫。

      您的 OCI 零信任封包路由原則允許將此連線從您的生產環境從屬端 ( client-prod) 連線至您的生產環境資料庫 ( financeprod),因此您應該順利連線至您的資料庫,並且能夠執行 show user; 命令。

      顯示從屬端生產環境 SSH 存取權的螢幕擷取畫面。

  2. 第二個測試案例是確保 client-dev 無法再存取 financeprod 資料庫。

    1. opc 使用者身分使用 SSH 連線至您的 client-dev 運算執行處理。

      您的「零信任封包路由」原則允許從您的本機機器進行此連線,因此您的 SSH 連線應成功。

    2. 執行 sqlplus 命令以連線至您的自治式資料庫。

      由於沒有任何 OCI 零信任封包路由原則允許從您的開發從屬端 ( client-dev) 連線至生產環境資料庫 ( financeprod),因此將會封鎖連線。

      顯示從 client-dev 存取資料庫失敗的 SQL 擷取。

認可

其他學習資源

探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center