Google Cloud Armor Enterprise では、Cloud Logging と Cloud Monitoring を使用して、DDoS 攻撃とそのソースを分析できます。
Google Cloud Armor は、ネットワーク層(レイヤ 3)とトランスポート層(レイヤ 4)の攻撃を自動的に検出し、軽減します。セキュリティ ポリシーを適用する前に緩和策を実行し、セキュリティ ポリシー ルールに対して正しい形式のリクエストのみを評価します。したがって、常時稼働の DDoS 対策の結果としてドロップされたトラフィックは、セキュリティ ポリシーやバックエンドのテレメトリーに表示されません。
DDoS 緩和イベント用の Cloud Logging と Cloud Monitoring の指標は DDoS 攻撃の可視性の一部で、これは Google Cloud Armor Enterprise のサブスクライバーのみが使用できる機能です。以降のセクションでは、Logging と Monitoring を使用して DDoS 攻撃とその発生元を分析する方法について説明します。DDoS 攻撃の可視性は、次のロードバランサ タイプで使用できます。
- グローバル外部アプリケーション ロードバランサ
- 従来のアプリケーション ロードバランサ
プロジェクト間のサービス参照を使用する場合、ロードバランサのフロントエンドと URL マップを含むホスト プロジェクトまたはサービス プロジェクトでは、DDoS 攻撃の可視性に関連するテレメトリーとロギングのみを表示できます。バックエンド サービスを含むサービス プロジェクトでテレメトリーとロギングを表示することはできません。
適切なロギングとレポートを実現するには、Cloud Armor が次のログにアクセスする必要があります。これらのログは Cloud Logging に保存されているか、Cloud Armor がアクセスできるロギング バケットに転送する必要があります。
networksecurity.googleapis.com/dos_attacknetworksecurity.googleapis.com/network_dos_attacknetworksecurity.googleapis.com/network_dos_attack_mitigations
攻撃の緩和に関する Cloud Logging のイベントログ
Cloud Armor は、DDoS 攻撃を緩和する際に、次の 3 種類のイベントログ エントリを生成します。可能であれば、ログ形式に送信元の IP アドレスと地理区分の分析が含まれます。次のセクションでは、イベントログのタイプごとにログ形式の例を示します。
緩和開始
{
"id": "20220101_1235_mitigiation_1.2.3.4",
"mitigationType": "MITIGATION_STARTED",
"targetVip": "1.2.3.4",
"totalVolume": {
"pps": "1234000",
"bps": "9876000000"
},
"started": {
"totalAttackVolume": {
"pps": "1000000",
"bps": "9000000000"
},
"topSourceIp": [
{
"ipAddress": "1.2.3.4",
"volume": {
"pps": "10000",
"bps": "2000000"
}
},
{
"ipAddress": "2.3.4.5",
"volume": {
"pps": "5000",
"bps": "1000000"
}
}
],
"topSourceGeo": [
{
"geo": "US",
"volume": {
"pps": "100000",
"bps": "20000000"
}
}
]
}
}
緩和中
{
"id": "20220101_1235_mitigiation_1.2.3.4",
"mitigationType": "MITIGATION_ONGOING",
"targetVip": "1.2.3.4",
"totalVolume": {
"pps": "1234000",
"bps": "9876000000"
},
"ongoing": {
"totalAttackVolume": {
"pps": "1000000",
"bps": "9000000000"
},
"topSourceIp": [
{
"ipAddress": "1.2.3.4",
"volume": {
"pps": "10000",
"bps": "2000000"
}
},
{
"ipAddress": "2.3.4.5",
"volume": {
"pps": "5000",
"bps": "1000000"
}
}
],
"topSourceGeo": [
{
"geo": "US",
"volume": {
"pps": "100000",
"bps": "20000000"
}
}
]
}
}
緩和終了
{
"id": "20220101_1235_mitigiation_1.2.3.4",
"mitigationType": "MITIGATION_ENDED",
"targetVip": "1.2.3.4",
"totalVolume": {
"pps": "2314000",
"bps": "9768000000"
},
"ended": {
"attackDurationSeconds": 345
}
}
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動し、ProtectedEndpoint リソースを表示します。
または、network_dos_attack_mitigations ログ名を表示することもできます。
Cloud Monitoring の指標
DDoS 緩和テレメトリー指標は、保護されたネットワーク エンドポイント(ProtectedEndpoint)のリソースの下に表示されます。これは、Google Cloud Armor Enterprise に登録されているアプリケーション レイヤ(レイヤ 7)の仮想 IP アドレス専用です。使用可能な指標は次のとおりです。
- 上り(内向き)バイト数(
/dos/ingress_bytes) - 上り(内向き)パケット数(
/dos/ingress_packets)
次のラベルを使用すると、上の指標をグループ化してフィルタリングできます。
| ラベル | 値 |
|---|---|
project_id |
Cloud Armor Enterprise に登録されているプロジェクトの ID。 |
location |
保護されているエンドポイントのロケーション。 |
vip |
保護されているエンドポイントの仮想 IP アドレス。 |
drop_status |
可能な値:
|
Google Cloud コンソールで、[Metrics Explorer] ページに移動します。
トラフィック量が少ない仮想 IP アドレスのテレメトリー指標の解釈
100,000 パケット/秒未満の仮想 IP アドレス(VIP)の場合は、Cloud Monitoring で指標を表示する時間を長くすることをおすすめします。たとえば、トラフィックの多い VIP の ALIGN_RATE が 1 分の場合は、代わりに ALIGN_RATE を 10 分にすることをおすすめします。時間枠を長くすると、信号対雑音比の低下によって発生するアーティファクトの量を削減できます。
さらに、Cloud Armor がトラフィックをドロップするレート(ドロップ率)の一部の要素は統計的な手段によって推定されるため、トラフィックが少ない VIP の場合は精度が低くなる可能性があります。つまり、DDoS 攻撃中に Cloud Monitoring が報告するドロップ率は、実際のドロップ率より若干低くなる可能性があります。これにより、トラフィック量の減少が過大評価につながる可能性のある統計的なアーティファクトが減少します。トラフィック量が少なく、攻撃対象でない VIP の場合は特に少なくなります。