このページでは、インフラストラクチャ オペレーター(IO)がセキュリティ ポリシールールを作成して構成し、組織内のトラフィックを管理して、顧客ワークロード トラフィックの侵入検知 / 防御システム(IDPS)を有効にする手順について説明します。Firewall API を介して SecurityPolicyRule カスタム リソースを使用して、セキュリティ ポリシー ルールを構成できます。
始める前に
続行する前に、次の点をご確認ください。
kustomization.yamlファイルを含むiacリポジトリ。- セキュリティ ポリシー ルールを含むファイルを保存する
security-policy-ruleという名前のフォルダ。
任意の住所が組織にアクセスできるようにする
セキュリティ ポリシー ルールを作成するには、次の 2 つの方法があります。
IP アドレス範囲または IP アドレス ネットマスクを使用してセキュリティ ポリシー ルールを作成する
AddressGroupリソースの YAML ファイルを作成します。AddressGroupには、SecurityPolicyRuleで使用できる IP アドレス範囲または IP アドレス ネットマスクが保持されます。次の内容を追加して、
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アドレス グループを保存して
security-policy-ruleフォルダに保存します。次の内容を追加して、
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-groupNAMESPACE Namespace は組織の名前と一致する必要があります。例: org-1SOURCE_ADDRESS_GROUP 送信元 IP アドレスを含むアドレス グループの名前。例: org-infra-groupFIREWALL_VIRTUAL_SYSTEM_NAME 組織に関連付けられているファイアウォール仮想システムの名前。たとえば、「 vsys2-org-1」のようになります。kubectl get firewallvirtualsystems -Aを使用して、すべての vsys 名を一覧表示します。SOURCE_MEMBER_NAME アドレス グループのメンバーの名前。たとえば、「 org-infra-group-0」のようになります。メンバーは複数存在でき、各メンバーには一意の名前が付けられます。SOURCE_MEMBER_TYPE アドレス グループのメンバーのタイプ。使用可能な値は IPRange、IPNetmaskです。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-groupDESTINATION_ADDRESS_GROUP 送信元 IP アドレスを含むアドレス グループの名前。例: org-data-external-all-groupDESTINATION_MEMBER_NAME アドレス グループのメンバーの名前。たとえば、「 org-data-external-all-group-0」のようになります。メンバーは複数存在でき、各メンバーには一意の名前が付けられます。DESTINATION_MEMBER_TYPE アドレス グループのメンバーのタイプ。使用可能な値は IPRange、IPNetmaskです。DESTINATION_MEMBER_VALUE メンバーの IP アドレス。たとえば、メンバー タイプが IPNetmaskの場合、値は169.254.0.0/21になります。メンバー タイプがIPrangeの場合、値は192.168.1.1-192.168.1.10になります。RULE_NAME ルールの名前。例: allow-ingress-org-1PRIORITY 優先度レベルを定義する 1000~60000の整数。最も高い優先度は1000で、最も低い優先度は60000です。この例では、最優先レベルの1000を使用しています。SOURCE_ZONE トラフィックの送信元となるファイアウォール ゾーン。例: vsys2-ocDESTINATION_ZONE トラフィックの宛先となるファイアウォール ゾーン。例: vsys2-gpcACTION トラフィックを許可するか拒否するかを定義するアクション。たとえば、アクション allowを使用します。OPTION サービスを設定するオプション。サービスを設定する省略可能な値は次のとおりです。 any: 任意のポートを使用するように定義します。application-default: アプリケーションの標準ポート。selected: 選択したプロトコルとポート。
PROTOCOL 定義するネットワーク プロトコル。たとえば、 TCPやUDPなどのプロトコルPORT ポート番号。例: 1234PROFILE_TYPE プロファイルのタイプ( none、group、profilesなど)。セキュリティ ポリシー ルールを保存して
security-policy-ruleフォルダに保存します。iacリポジトリに移動し、セキュリティ ポリシー ルールをmainブランチに commit します。ls IAC_REPO_PATH/iac/infrastructure/global/orgs/root/kustomization.yamlファイルが存在しない場合は、IAC を使用して組織を作成するの手順 8 ~ 12 を行います。
ランブック FW-G0003 の手順 3 ファイアウォールの完全な構成の置き換えをトリガーするに沿って、ファイアウォールの構成の置き換えを処理します。
特定の IP アドレスを使用してセキュリティ ポリシー ルールを作成する
SecurityPolicyRuleリソースの YAML ファイルを作成します。次の内容を追加して、
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-1NAMESPACE Namespace は組織の名前と一致する必要があります。例: org-1FIREWALL_VIRTUAL_SYSTEM_NAME ファイアウォールの名前。例: vsys2-org1PRIORITY 優先度レベルを定義する 1000~60000の整数。最も高い優先度は1000で、最も低い優先度は60000です。たとえば、ルールに最優先レベルが必要な場合は、1000を使用します。SOURCE_ZONE トラフィックの送信元となるファイアウォール ゾーン。例: vsys2-ocSOURCE_IP_ADDRESS トラフィックを許可する IP アドレス。IP アドレスの形式は、単一の IP アドレス 10.250.10.1、クラスレス ドメイン間ルーティング(CIDR)10.250.10.0/27、IP アドレス範囲10.250.10.1-10.250.10.8、またはanyにできます。
たとえば、172.21.0.0/20は、172.21.0.0/20CIDR 内の任意の送信元 IP アドレスがこのルールと一致することを示します。DESTINATION_ZONE トラフィックの宛先となるファイアウォール ゾーン。例: vsys2-gpcDESTINATION_IP_ADDRESS トラフィックを許可する IP アドレス。IP アドレスの形式は、単一の IP アドレス 10.250.10.1、クラスレス ドメイン間ルーティング(CIDR)10.250.10.0/27、IP アドレス範囲10.250.10.1-10.250.10.8、またはanyにできます。
たとえば、値anyは、任意の宛先 IP アドレスがルールと一致することを示します。ACTION トラフィックを allowするかdenyするかを定義するアクション。たとえば、allowはトラフィックを許可します。OPTION サービスを設定するオプション。サービスを設定する省略可能な値は次のとおりです。 詳しくは、API リファレンスをご覧ください。any: 任意のポートを使用するように定義します。application-default: アプリケーションの標準ポート。selected: 選択したプロトコルとポート。
PROTOCOL 定義するネットワーク プロトコル。たとえば、伝送制御プロトコルの場合は TCPです。PORT ポート番号。例: 443PROFILE_TYPE プロファイルのタイプ( none、group、profilesなど)。たとえば、プロファイル タイプにnoneを使用すると、IDPS は適用されません。セキュリティ ポリシー ルールを保存して
security-policy-ruleフォルダに保存します。iacリポジトリに移動し、セキュリティ ポリシー ルールをmainブランチに commit します。ls IAC_REPO_PATH/iac/infrastructure/global/orgs/root/kustomization.yamlファイルが存在しない場合は、IAC を使用して組織を作成するの手順 8 ~ 12 を行います。
ランブック FW-G0003 の手順 3 ファイアウォールの完全な構成の置き換えをトリガーするに沿って、ファイアウォールの構成の置き換えを処理します。