建立安全性政策規則

本頁面提供基礎架構營運人員 (IO) 的操作說明,瞭解如何建立及設定安全政策規則,以管理機構中的流量,並為客戶工作負載流量啟用入侵偵測與防禦系統 (IDPS)。您可以使用 SecurityPolicyRule 自訂資源,透過 Firewall API 設定安全政策規則。

事前準備

請務必備妥下列資訊再繼續操作:

  • 含有 kustomization.yaml 檔案的 iac 存放區。
  • 名為 security-policy-rule 的資料夾,用於儲存含有安全政策規則的檔案。

允許任何地址存取機構

如要建立安全性政策規則,有兩種做法。

使用 IP 位址範圍或 IP 位址網路遮罩建立安全性政策規則

  1. 建立 AddressGroup 資源的 YAML 檔案。AddressGroup 包含 SecurityPolicyRule 可使用的 IP 位址範圍或 IP 位址網路遮罩。

  2. 新增下列內容,建立 AddressGroup 自訂資源:

    apiVersion: firewall.private.gdc.goog/v1alpha2
    kind: AddressGroup
    metadata:
      labels:
        firewall.private.gdc.goog/type: idps
      name: SOURCE_AG_OBJECT_NAME
      namespace: NAMESPACE
    spec:
      addressGroupName: SOURCE_ADDRESS_GROUP
      firewallVirtualSystemRef:
        name: FIREWALL_VIRTUAL_SYSTEM_NAME
      members:
      - name: SOURCE_MEMBER_NAME
        type: SOURCE_MEMBER_TYPE
        value: SOURCE_MEMBER_VALUE
    ---
    apiVersion: firewall.private.gdc.goog/v1alpha2
    kind: AddressGroup
    metadata:
      labels:
        firewall.private.gdc.goog/type: idps
      name: DESTINATION_AG_OBJECT_NAME
      namespace: NAMESPACE
    spec:
      addressGroupName: DESTINATION_ADDRESS_GROUP
      firewallVirtualSystemRef:
        name: FIREWALL_VIRTUAL_SYSTEM_NAME
      members:
      - name: DESTINATION_MEMBER_NAME
        type: DESTINATION_MEMBER_TYPE
        value: DESTINATION_MEMBER_VALUE
    
  3. 將地址群組儲存並存放在 security-policy-rule 資料夾中。

  4. 新增下列內容,建立 SecurityPolicyRule 自訂資源:

    apiVersion: firewall.private.gdc.goog/v1alpha2
    kind: SecurityPolicyRule
    metadata:
      labels:
        firewall.private.gdc.goog/policy-type: idps
      name: RULE_NAME
      namespace: NAMESPACE
    spec:
      firewallVirtualSystemRef:
        name: FIREWALL_VIRTUAL_SYSTEM_NAME
      priority: PRIORITY
      source:
        zones:
        - SOURCE_ZONE
        addresses:
        - SOURCE_ADDRESS_GROUP
      destination:
        zones:
        - DESTINATION_ZONE
        addresses:
        - DESTINATION_ADDRESS_GROUP
      action: ACTION
      service:
        option: OPTION
        ports:
        - protocol: PROTOCOL
          ports: "PORT"
      profile:
        type: PROFILE_TYPE
    

    請替換下列變數:

    變數 說明
    SOURCE_AG_OBJECT_NAME 位址群組物件的名稱。例如 vsys2-org-1-org-infra-group
    NAMESPACE 命名空間必須與機構名稱相符。例如 org-1
    SOURCE_ADDRESS_GROUP 包含來源 IP 位址的位址群組名稱。例如 org-infra-group
    FIREWALL_VIRTUAL_SYSTEM_NAME 與機構相關聯的防火牆虛擬系統名稱。例如,vsys2-org-1。使用 kubectl get firewallvirtualsystems -A 列出所有 vsys 名稱。
    SOURCE_MEMBER_NAME 地址群組中的成員名稱。例如,org-infra-group-0。可以有多個成員,每個成員都有專屬名稱。
    SOURCE_MEMBER_TYPE 地址群組中的成員類型。可用值為 IPRangeIPNetmask
    SOURCE_MEMBER_VALUE 成員中的 IP 位址。舉例來說,如果成員類型為 IPNetmask,值可以是 169.254.0.0/21。如果成員類型為 IPrange,值可以是 192.168.1.1-192.168.1.10
    DESTINATION_AG_OBJECT_NAME 位址群組物件的名稱。例如 vsys2-org-1-org-data-external-all-group
    DESTINATION_ADDRESS_GROUP 包含來源 IP 位址的位址群組名稱。例如 org-data-external-all-group
    DESTINATION_MEMBER_NAME 地址群組中的成員名稱。例如,org-data-external-all-group-0。可以有多個成員,每個成員都有專屬名稱。
    DESTINATION_MEMBER_TYPE 地址群組中的成員類型。可用值為 IPRangeIPNetmask
    DESTINATION_MEMBER_VALUE 成員中的 IP 位址。舉例來說,如果成員類型為 IPNetmask,值可以是 169.254.0.0/21。如果成員類型為 IPrange,值可以是 192.168.1.1-192.168.1.10
    RULE_NAME 規則名稱。例如 allow-ingress-org-1
    PRIORITY 介於 100060000 之間的整數,用來定義優先順序。最高優先順序為 1000,最低優先順序為 60000。本範例使用最高優先順序層級 1000
    SOURCE_ZONE 流量來源的防火牆區域。例如 vsys2-oc
    DESTINATION_ZONE 流量的目的地防火牆區域。例如 vsys2-gpc
    ACTION 定義是否允許或拒絕流量的動作。例如,使用 allow 動作。
    OPTION 設定服務的選項。設定服務的選用值包括:
    • any:定義使用任何通訊埠。
    • application-default:應用程式的標準通訊埠。
    • selected:您選取的通訊協定和通訊埠。
    PROTOCOL 您定義的網路通訊協定。例如 TCPUDP 等通訊協定
    PORT 通訊埠號碼。例如 1234
    PROFILE_TYPE 設定檔類型,例如 nonegroupprofiles
  5. 將安全性政策規則儲存至 security-policy-rule 資料夾。

  6. 前往 iac 存放區,並將安全性政策規則提交至 main 分支。

    ls IAC_REPO_PATH/iac/infrastructure/global/orgs/root/kustomization.yaml
    

    如果檔案不存在,請按照「使用 IAC 建立機構」一文中的步驟 8 到 12 操作。

  7. 按照手冊 FW-G0003 中的步驟三「Trigger the firewall full config replacement」(觸發防火牆完整設定更換程序),處理防火牆設定更換程序。

使用特定 IP 位址建立安全性政策規則

  1. SecurityPolicyRule 資源建立 YAML 檔案。

  2. 新增下列內容,建立 SecurityPolicyRule 自訂資源:

    apiVersion: firewall.private.gdc.goog/v1alpha2
    kind: SecurityPolicyRule
    metadata:
      labels:
        firewall.private.gdc.goog/policy-type: idps
      name: RULE_NAME
      namespace: NAMESPACE
    spec:
      firewallVirtualSystemRef:
        name: FIREWALL_VIRTUAL_SYSTEM_NAME
      priority: PRIORITY
      source:
        zones:
        - SOURCE_ZONE
        addresses:
        - SOURCE_IP_ADDRESS
      destination:
        zones:
        - DESTINATION_ZONE
        addresses:
        - DESTINATION_IP_ADDRESS
      action: ACTION
      service:
        option: OPTION
        ports:
        - protocol: PROTOCOL
          ports: "PORT"
      profile:
        type: PROFILE_TYPE
    

    請替換下列變數:

    變數 說明
    RULE_NAME 規則名稱。例如 allow-ingress-org-1
    NAMESPACE 命名空間必須與機構名稱相符。例如 org-1
    FIREWALL_VIRTUAL_SYSTEM_NAME 防火牆名稱。例如 vsys2-org1
    PRIORITY 介於 100060000 之間的整數,用來定義優先順序。最高優先順序為 1000,最低優先順序為 60000。舉例來說,如果規則需要最高優先順序層級,請使用 1000
    SOURCE_ZONE 流量來源的防火牆區域。例如 vsys2-oc
    SOURCE_IP_ADDRESS 允許流量的 IP 位址。IP 位址格式可以是單一 IP 位址 10.250.10.1、無類別跨網域路由 (CIDR) 10.250.10.0/27、IP 位址範圍 10.250.10.1-10.250.10.8any

    舉例來說,172.21.0.0/20 表示 172.21.0.0/20 CIDR 內的任何來源 IP 位址都符合這項規則。
    DESTINATION_ZONE 流量的目的地防火牆區域。例如 vsys2-gpc
    DESTINATION_IP_ADDRESS 允許流量的 IP 位址。IP 位址格式可以是單一 IP 位址 10.250.10.1、無類別跨網域路由 (CIDR) 10.250.10.0/27、IP 位址範圍 10.250.10.1-10.250.10.8any

    舉例來說,值 any 表示任何目的地 IP 位址都會符合規則。
    ACTION 定義是否要allowdeny流量的動作。舉例來說,allow 允許流量。
    OPTION 設定服務的選項。設定服務的選用值包括:
    • any:定義使用任何通訊埠。
    • application-default:應用程式的標準通訊埠。
    • selected:您選取的通訊協定和通訊埠。
    詳情請參閱 API 參考資料
    PROTOCOL 您定義的網路通訊協定。例如傳輸控制通訊協定的 TCP
    PORT 通訊埠號碼。例如 443
    PROFILE_TYPE 設定檔類型,例如 nonegroupprofiles。舉例來說,使用 none 設定檔類型表示不會套用任何 IDPS。
  3. 將安全性政策規則儲存至 security-policy-rule 資料夾。

  4. 前往 iac 存放區,並將安全性政策規則提交至 main 分支。

    ls IAC_REPO_PATH/iac/infrastructure/global/orgs/root/kustomization.yaml
    

    如果檔案不存在,請按照「使用 IAC 建立機構」一文中的步驟 8 到 12 操作。

  5. 按照手冊 FW-G0003 中的步驟三「Trigger the firewall full config replacement」(觸發防火牆完整設定更換程序),處理防火牆設定更換程序。