檢視及改進防火牆規則

本頁說明一些常見的 Firewall Insights 工作,協助您查看及改善虛擬私有雲 (VPC) 防火牆的使用情形。執行這些工作,即可最佳化防火牆規則設定,並加強安全性界限。

舉例來說,您是網路管理員或網路安全工程師,負責支援多個大型共用虛擬私有雲網路,以及許多專案和應用程式。您想檢查及改善長期累積的大量防火牆規則,確保這些規則與網路預期狀態一致。您可以使用下列工作來檢查及最佳化防火牆規則。

必要角色和權限

如要取得使用防火牆深入分析所需的權限,請要求管理員為您授予專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義的角色包含使用 Firewall Insights 所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

您必須具備下列權限,才能使用防火牆深入分析:

  • recommender.computeFirewallInsights.list
  • recommender.computeFirewallInsights.update

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

瀏覽過去 30 天內套用至 VM 的規則

如要查看規則,避免設定錯誤和不必要的遮蔽規則,請按照下列步驟操作:

主控台

  1. 前往 Google Cloud 控制台的「Compute Engine VM 執行個體」頁面。

    前往 Compute Engine VM 執行個體

  2. 在「Filter」 欄位中輸入下列其中一個鍵/值組合,即可篩選出相關的 VM 執行個體。

    Network tags:TAG_NAME

    TAG_NAME 替換為指派給 VPC 網路的標記。

    Internal IP:INTERNAL_IP_ADDRESS

    INTERNAL_IP_ADDRESS 替換為 VM 介面的內部 IP 位址。

    External IP:EXTERNAL_IP_ADDRESS

    EXTERNAL_IP_ADDRESS 替換為 VM 介面的外部 IP 位址。

  3. 在 VM 介面的搜尋結果中選取 VM,然後按一下「更多動作」選單。

  4. 在選單中選取「查看網路詳細資料」

  5. 在「網路介面詳細資料」頁面上完成下列步驟:

    1. 在「防火牆和路徑詳細資料」部分,依序按一下「防火牆」和「篩選器」
    2. 輸入 last hit after:YYYY-MM-DD 即可篩選防火牆規則。這個篩選器運算式會找出最近命中的防火牆規則。

    3. 針對防火牆規則,請按一下「Hit count」欄中的數字,開啟防火牆記錄並查看流量詳細資料,如以下範例查詢所示。如要輸入查詢,請按一下「提交篩選器」

      jsonPayload.rule_details.reference:("network:network1/firewall:allow-tcp") AND
      jsonPayload.instance.project_id:("p6ntest-firewall-intelligence") AND
      jsonPayload.instance.zone:("us-central1-c") AND
      jsonPayload.instance.vm_name:("instance2")
      
    4. 新增一或多個額外的 Cloud Logging 篩選器,進一步篩選防火牆記錄詳細資料。舉例來說,下列範例查詢會新增額外篩選器,以來源 IP 位址 (src_ip) 進行篩選。如要輸入查詢,請按一下「提交篩選器」

      jsonPayload.rule_details.reference:("network:network1/firewall:allow-tcp") AND
      jsonPayload.instance.project_id:("p6ntest-firewall-intelligence") AND
      jsonPayload.instance.zone:("us-central1-c") AND
      jsonPayload.instance.vm_name:("instance2") AND
      jsonPayload.connection.src_ip:("10.0.1.2")
      

偵測 deny 防火牆規則的命中次數突然增加

您可以設定 Cloud Monitoring,偵測 VPC deny 防火牆規則的命中次數變化。舉例來說,您可以選擇在特定規則的命中次數增加特定百分比時接收通知。設定這項快訊有助於偵測 Google Cloud資源遭受的可能攻擊。

如要設定快訊,請按照下列步驟操作:

主控台

  1. 前往 Google Cloud 控制台的「Monitoring」頁面。

    前往「Monitoring」頁面

  2. 在導覽窗格中,依序按一下「快訊」圖示 和「建立政策」

  3. 在「建立快訊政策」頁面中,按一下「新增快訊條件」。系統會新增條件。

  4. 展開「新條件」部分,然後選取「設定觸發條件」。「Configure alert trigger」(設定快訊觸發條件) 頁面隨即開啟。

  5. 設定警告條件。舉例來說,如果您指定的規則命中次數在六小時內增加 10%,您可以使用下列值觸發快訊:

    • 條件類型:設為 Threshold
    • 快訊觸發條件:設為 Any time series violates
    • 門檻位置:設為 Above threshold
    • 門檻值:設為 10
  6. 在「進階選項」部分中,輸入條件的名稱,然後按一下「下一步」

  7. 在「多條件觸發」頁面中指定條件,然後按一下「下一步」

  8. 在「設定通知」頁面中,依序選取「通知管道」和「管理通知管道」

  9. 在「Notification channels」(通知管道) 視窗中新增通知管道 (例如電子郵件地址),然後按一下「Save」(儲存)

  10. 在「通知管道」清單中選取新增的通知,然後按一下「確定」

  11. 在「為快訊政策命名」部分輸入名稱,然後點選「下一步」。警告條件已加入。

清理遭到覆蓋的防火牆規則

如要清除遭其他規則覆蓋的防火牆規則,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」

  2. 在「VPC 防火牆規則」部分,按一下「篩選器」圖示 ,然後依序選取「洞察類型」>「遮蔽的規則」

  3. 針對搜尋結果中的每個規則,按一下規則的「名稱」,查看詳細資料頁面。視需要檢查並清理每個規則。

如要進一步瞭解遮蔽規則,請參閱遮蔽規則範例

移除未使用的 allow 規則

如要評估及移除未使用的 allow 規則,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台中,前往「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」

  2. 在「VPC 防火牆規則」部分,按一下「篩選器」,然後依序選取「類型」>「Ingress」>「最後一次命中」MM/DD/YYYY

    MM/DD/YYYY 替換為您要使用的日期。例如:08/31/2021

  3. 針對搜尋結果中的每項規則,請查看「深入分析」欄中的資訊。這個欄會提供百分比,表示這項規則日後觸發的可能性。如果百分比偏高,建議您保留這項規則。不過,如果成效不佳,請繼續查看洞察所產生的資訊。

  4. 按一下洞察連結,即可顯示「洞察詳細資料」窗格。

  5. 在「洞察詳細資料」窗格中,查看這個規則的屬性,以及列出的任何類似規則的屬性。

  6. 如果這項規則未來命中的機率偏低,且類似規則的命中模式也支持這項預測,建議您考慮移除這項規則。如要移除規則,請按一下「規則名稱」。「防火牆規則詳細資料」頁面隨即開啟。

  7. 點選「刪除」。

  8. 在確認對話方塊中按一下「刪除」

allow 規則中移除未使用的屬性

如要評估及移除未使用的屬性,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台中,前往「Firewall Insights」頁面。

    前往「防火牆深入分析」

  2. 在「有未發揮作用之屬性的允許規則」資訊卡中,按一下「查看完整清單」。 Google Cloud 主控台會顯示「有未發揮作用之屬性的允許規則」頁面。這個頁面會列出在觀察期間內有未發揮作用的屬性的所有規則。

  3. 按一下「洞察」欄中顯示的文字。「Insight Details」頁面隨即開啟。

  4. 請查看頁面頂端的詳細資料。摘要包含下列詳細資料:

    • 洞察的名稱。
    • 這項規則的未發揮作用屬性數量。
    • 洞察上次更新的時間。
    • 專案中使用類似屬性的其他規則名稱。
    • 觀察期間的長度。
  5. 評估是否可以移除屬性:

    1. 查看「防火牆規則具有未發揮任何作用的屬性」資訊卡。請查看標示為「未發揮任何作用的屬性 (及未來發揮作用的預測結果)」的欄位。這個欄位會提供百分比,說明屬性未來觸發的可能性。
    2. 查看「同一項專案中有類似的防火牆規則」資訊卡。查看是否顯示這項規則的屬性。
  6. 如果屬性未來命中的機率偏低,且相似規則的命中模式也支持該預測結果,建議您從規則中移除該屬性。如要移除屬性,請按一下「洞察詳細資料」頁面頂端的規則名稱。「防火牆規則詳細資料」頁面隨即開啟。

  7. 按一下「編輯」進行所需變更,然後按一下「儲存」

縮小 allow 規則的 IP 位址範圍

請注意,您的專案可能有防火牆規則,允許來自特定 IP 位址區塊的存取權,用於負載平衡器健康狀態檢查或其他Google Cloud 功能。這些 IP 位址可能不會受到影響,但不應從防火牆規則中移除。如要進一步瞭解這些範圍,請參閱 Compute Engine 說明文件

如要評估並收緊過度寬鬆的 IP 位址範圍,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台中,前往「Firewall Insights」頁面。

    前往「防火牆深入分析」

  2. 在「允許規則設有過於寬鬆的 IP 位址或通訊埠範圍」資訊卡中,按一下「查看完整清單」。Google Cloud 主控台會顯示觀察期間內所有過度寬鬆範圍的規則清單。

  3. 在清單中找出任何規則,然後按一下「Insight」欄中顯示的文字。「洞察詳細資料」頁面隨即開啟。

  4. 請查看頁面頂端的詳細資料。摘要包含下列詳細資料:

    • 規則的名稱。
    • 可縮小範圍的 IP 位址範圍數量。
    • 洞察上次更新的時間。
    • 觀察期間的長度。
  5. 評估是否可以縮小 IP 位址範圍:查看「防火牆規則的 IP 位址或通訊埠範圍過於寬鬆」資訊卡。查看新 IP 位址範圍的建議清單。

  6. 如有需要,請考慮採用洞察資料中的建議,縮小 IP 位址範圍。按一下「洞察詳細資料」頁面頂端的規則名稱。「防火牆規則詳細資料」頁面隨即開啟。

  7. 按一下「編輯」進行所需變更,然後按一下「儲存」

後續步驟