分散型サービス拒否攻撃(DDoS)とは、正規ユーザーのエクスペリエンスを低下させるために、悪意のある人物が一般公開されたサイト、システム、API のオペレーションを意図的に妨害する攻撃です。外部パススルー ネットワーク ロードバランサ、プロトコル転送、またはパブリック IP アドレスを持つ VM を使用するワークロードの場合、Google Cloud Armor では次のオプションを使用できます。これらは DDoS 攻撃からシステムを保護するために役立ちます。
- 標準のネットワーク DDoS 対策: 外部パススルー ネットワーク ロードバランサ、プロトコル転送、パブリック IP アドレスを持つ VM に対して常時有効な基本的な保護対策です。これは Google Cloud Armor Standard の対象であり、追加のサブスクリプションは必要ありません。
- 高度なネットワーク DDoS 対策: 外部パススルー ネットワーク ロードバランサ、プロトコル転送、パブリック IP アドレスを持つ VM を使用する Cloud Armor Enterprise サブスクライバー向けの高度な保護対策です。Cloud Armor Enterprise の詳細については、Cloud Armor Enterprise の概要をご覧ください。
このドキュメントでは、標準のネットワーク DDoS 対策と高度なネットワーク DDoS 対策の違いと、高度なネットワーク DDoS 対策の仕組みとそれを有効にする方法について説明します。
標準のネットワーク DDoS 対策と高度なネットワーク DDoS 対策の違い
次の表に、標準のネットワーク DDoS 保護対策と高度なネットワーク DDoS 保護対策の違いを示します。
機能 | 標準のネットワーク DDoS 対策 | 高度なネットワーク DDoS 対策 |
---|---|---|
保護されるエンドポイントのタイプ |
|
|
転送ルールの適用 | ||
常時有効な攻撃モニタリングとアラート | ||
標的型攻撃の緩和策 | ||
緩和のテレメトリー |
ネットワーク DDoS 保護の仕組み
標準のネットワーク DDoS 保護は常に有効になっています。有効にするための操作は必要ありません。
高度なネットワーク DDoS 保護はリージョン単位で構成します。ネットワーク エッジのセキュリティ ポリシーを、1 つ以上のターゲット プール、ターゲット インスタンス、バックエンド サービス、または外部 IP アドレスを持つインスタンスに関連付ける代わりに、特定のリージョンのネットワーク エッジ セキュリティ サービスに関連付けます。そのリージョンで有効にすると、Google Cloud Armor は、外部パススルー ネットワーク ロードバランサ、プロトコル転送、そのリージョンのパブリック IP アドレスを持つ VM に対して常時有効な保護対策を提供し、ボリューム型の攻撃を検出して軽減します。高度なネットワーク DDoS 対策は、Cloud Armor Enterprise に登録されているプロジェクトにのみ適用できます。
高度なネットワーク DDoS 対策を構成する場合は、まず、選択したリージョンに CLOUD_ARMOR_NETWORK
タイプのセキュリティ ポリシーを作成します。次に、セキュリティ ポリシーを更新して、高度なネットワーク DDoS 対策を有効にします。最後に、ネットワーク エッジ セキュリティ サービスを作成します。これは、CLOUD_ARMOR_NETWORK
タイプのセキュリティ ポリシーを接続できるリソースです。セキュリティ ポリシーをネットワーク エッジ セキュリティ サービスに接続すると、選択したリージョンの該当するすべてのエンドポイントで高度なネットワーク DDoS 対策を有効にできます。
高度なネットワーク DDoS 対策は、ベースライン トラフィックを測定して緩和パフォーマンスを向上させます。高度なネットワーク DDoS 対策を有効にすると、24 時間のトレーニング期間の後、高度なネットワーク DDoS 対策が信頼性の高いベースラインを確立し、そのトレーニングを使用して緩和策を強化できるようになります。トレーニング期間が終了すると、高度なネットワーク DDoS 対策は、過去のトラフィックに基づいて追加の緩和策を適用します。
高度なネットワーク DDoS 対策を有効にする
高度なネットワーク DDoS 対策を有効にするには、次の手順を行います。
Cloud Armor Enterprise に登録する
リージョン単位で高度なネットワーク DDoS 対策を有効にするには、プロジェクトを Cloud Armor Enterprise に登録する必要があります。有効にすると、そのリージョン内のすべてのリージョン エンドポイントに、高度なネットワーク DDoS 対策が常時適用されます。
請求先アカウントに有効な Cloud Armor Enterprise サブスクリプションがあり、現在のプロジェクトが Cloud Armor Enterprise に登録されていることを確認します。Cloud Armor Enterprise への登録について詳しくは、Cloud Armor Enterprise への登録とプロジェクトの登録をご覧ください。
Identity and Access Management(IAM)の権限を構成する
Google Cloud Armor のエッジ セキュリティ サービスを構成、更新、削除するには、次の IAM 権限が必要です。
compute.networkEdgeSecurityServices.create
compute.networkEdgeSecurityServices.update
compute.networkEdgeSecurityServices.get
compute.networkEdgeSecurityServices.delete
次の表に、IAM のロールの基本的な権限と、関連する API メソッドを示します。
IAM 権限 | API メソッド |
---|---|
compute.networkEdgeSecurityServices.create |
networkEdgeSecurityServices insert |
compute.networkEdgeSecurityServices.update |
networkEdgeSecurityServices patch |
compute.networkEdgeSecurityServices.get |
networkEdgeSecurityServices get |
compute.networkEdgeSecurityServices.delete |
networkEdgeSecurityServices delete |
compute.networkEdgeSecurityServices.list |
networkEdgeSecurityServices aggregatedList |
Google Cloud Armor を使用するときに必要となる IAM 権限の詳細については、Google Cloud Armor セキュリティ ポリシーの IAM 権限を設定するをご覧ください。
高度なネットワーク DDoS 対策を構成する
高度なネットワーク DDoS 対策を有効にするには、次の手順を実施します。
CLOUD_ARMOR_NETWORK
タイプのセキュリティ ポリシーを作成するか、CLOUD_ARMOR_NETWORK
タイプの既存のセキュリティ ポリシーを使用します。gcloud compute security-policies create SECURITY_POLICY_NAME \ --type CLOUD_ARMOR_NETWORK \ --region REGION
以下を置き換えます。
SECURITY_POLICY_NAME
: セキュリティ ポリシーに付ける名前REGION
: セキュリティ ポリシーをプロビジョニングするリージョン
--network-ddos-protection
フラグをADVANCED
に設定して、新規に作成したセキュリティ ポリシーまたは既存のセキュリティ ポリシーを更新します。gcloud compute security-policies update SECURITY_POLICY_NAME \ --network-ddos-protection ADVANCED \ --region REGION
--network-ddos-protection
フラグをADVANCED_PREVIEW
に設定して、プレビュー モードでセキュリティ ポリシーを有効にすることもできます。gcloud beta compute security-policies update SECURITY_POLICY_NAME \ --network-ddos-protection ADVANCED_PREVIEW \ --region REGION
セキュリティ ポリシーを参照するネットワーク エッジ セキュリティ サービスを作成します。
gcloud compute network-edge-security-services create SERVICE_NAME \ --security-policy SECURITY_POLICY_NAME \ --region REGION
高度なネットワーク DDoS 保護を無効にする
高度なネットワーク DDoS 対策を無効にするには、セキュリティ ポリシーを更新するか、削除します。
セキュリティ ポリシーを更新する
次のコマンドを使用して、セキュリティ ポリシーを更新し、--network-ddos-protection
フラグを STANDARD
に設定します。変数は、デプロイメントに関連する情報に置き換えます。
gcloud compute security-policies update SECURITY_POLICY_NAME \ --network-ddos-protection STANDARD \ --region REGION
セキュリティ ポリシーを削除する
使用中のセキュリティ ポリシーは削除できません。ネットワーク エッジのセキュリティ ポリシーを削除するには、まずネットワーク エッジ セキュリティ サービスから削除する必要があります。セキュリティ ポリシーを削除するには、次の操作を行います。
ネットワーク エッジ セキュリティ サービスからポリシーを削除するか、ネットワーク エッジ セキュリティ サービスを削除します。
ネットワーク エッジ セキュリティ サービスからポリシーを削除するには、次のコマンドを使用します。
gcloud compute network-edge-security-services update SERVICE_NAME \ --security-policy="" \ --region=REGION_NAME
ネットワーク エッジ セキュリティ サービスを削除するには、次のコマンドを使用します。
gcloud compute network-edge-security-services delete SERVICE_NAME \ --region=REGION_NAME
次のコマンドを使用して、セキュリティ ポリシーを削除します。
gcloud compute security-policies delete SECURITY_POLICY_NAME
プレビュー モードを使用する
プレビュー モードでは、緩和策を適用せずに、高度なネットワーク DDoS 対策の効果をモニタリングできます。
Cloud Armor Enterprise サブスクライバーは、高度なネットワーク DDoS 対策ポリシーのプレビュー モードを有効にすることもできます。プレビュー モードでは、検出された攻撃と提案された緩和策について、すべてのロギングとテレメトリーを受け取ります。ただし、提案された緩和策は適用されません。これにより、提案された緩和策の有効性をテストしてから適用することができます。各ポリシーはリージョンごとに構成されるため、リージョンごとにプレビュー モードを有効または無効にできます。
プレビュー モードを有効にするには、--ddos-protection
フラグを ADVANCED_PREVIEW
に設定します。既存のポリシーを更新するには、次の例を使用します。
gcloud beta compute security-policies update POLICY_NAME \ --network-ddos-protection ADVANCED_PREVIEW \ --region=REGION
以下を置き換えます。
POLICY_NAME
: ポリシーの名前。REGION
: ポリシーが配置されているリージョン。
アクティブな攻撃中にセキュリティ ポリシーがプレビュー モードになっている場合に、緩和策を適用するには、セキュリティ ポリシーを更新して --network-ddos-protection
フラグを ADVANCED
に設定します。ポリシーはほとんど瞬時に適用され、次の MITIGATION_ONGOING
ロギング イベントに変更が反映されます。MITIGATION_ONGOING
ロギング イベントは 5 分ごとに発生します。
ネットワーク DDoS 緩和テレメトリー
Google Cloud Armor は、DDoS 攻撃を緩和する際に MITIGATION_STARTED
、MITIGATION_ONGOING
、MITIGATION_ENDED
の 3 種類のイベントログを生成します。次のログフィルタを使用して、緩和策の種類別にログを表示できます。
緩和策の種類 | ログフィルタ |
---|---|
緩和策の開始 | resource.type="network_security_policy" jsonPayload.mitigationType="MITIGATION_STARTED" |
緩和中 | resource.type="network_security_policy" jsonPayload.mitigationType="MITIGATION_ONGOING" |
緩和策の終了 | resource.type="network_security_policy" jsonPayload.mitigationType="MITIGATION_ENDED" |
Cloud Logging 攻撃緩和のイベントログ
次のセクションでは、イベントログのタイプごとにログ形式の例を示します。
緩和開始
@type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert" alertId: "11275630857957031521" mitigation_type: "MITIGATION_STARTED" target_vip: "XXX.XXX.XXX.XXX" total_volume: { pps: 1400000 bps: 140000000 } started: { total_attack_volume: { pps: 1100000 bps: 110000000 } classified_attack: { attack_type: "NTP-udp" attack_volume: { pps: 500000 bps: 50000000 } } classified_attack: { attack_type: "CHARGEN-udp" attack_volume: { pps: 600000 bps: 60000000 } } attack_sources: { top_source_asns: { asn: "ABCDEF" volume: { pps: 20000 bps: 2000000 } } top_source_asns: { asn: "UVWXYZ" volume: { pps: 20000 bps: 2000000 } } top_source_geos: { region_code: "XX" volume: { pps: 20000 bps: 2000000 } } top_source_geos: { region_code: "XY" volume: { pps: 20000 bps: 2000000 } } } }
緩和中
@type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert" alertId: "11275630857957031521" mitigation_type: "MITIGATION_ONGOING" target_vip: "XXX.XXX.XXX.XXX" total_volume: { pps: 1500000 bps: 150000000 } ongoing: { total_attack_volume: { pps: 1100000 bps: 110000000 } classified_attack: { attack_type: "NTP-udp" attack_volume: { pps: 500000 bps: 50000000 } } classified_attack: { attack_type: "CHARGEN-udp" attack_volume: { pps: 600000 bps: 60000000 } } attack_sources: { top_source_asns: { asn: "ABCDEF" volume: { pps: 20000 bps: 2000000 } } top_source_asns: { asn: "UVWXYZ" volume: { pps: 20000 bps: 2000000 } } top_source_geos: { region_code: "XX" volume: { pps: 20000 bps: 2000000 } } top_source_geos: { region_code: "XY" volume: { pps: 20000 bps: 2000000 } } } }
緩和完了
@type: "type.googleapis.com/google.cloud.networksecurity.cloudarmor.logging.v1.CloudArmorMitigationAlert" alertId: "11275630857957031521" mitigation_type: "MITIGATION_ENDED" target_vip: "XXX.XXX.XXX.XXX" ended: { attack_duration_seconds: 600 attack_type: "NTP-udp" }
プレビュー モードでは、先行する各 mitigation_type
の前に PREVIEWED_
が付加されます。たとえば、プレビュー モードでは、MITIGATION_STARTED
は PREVIEWED_MITIGATION_STARTED
になります。
これらのログを表示するには、ログ エクスプローラに移動して network_security_policy
リソースを表示します。
ログの表示方法の詳細については、ログの表示をご覧ください。
次のステップ
- ネットワーク エッジのセキュリティ ポリシーの構成を確認する
- Cloud Armor Enterprise について確認する