【正解】C
【0からの解説】
①前提知識:Cloud IDS(Cloud Intrusion Detection System)は、Palo Alto Networks の脅威検出技術を使ったマネージドの侵入検知サービスで、パケット ミラーリングで VPC のトラフィックを検査し、エクスプロイト、マルウェア、コマンド&コントロール、ブルートフォース攻撃などの脅威シグネチャに一致した通信を「脅威ログ」として Cloud Logging に出力します。Cloud IDS を使うには、監視するリージョンごとに IDS エンドポイントを作成し、検査したい VM のトラフィックをそのエンドポイントへ送るパケット ミラーリング ポリシーを関連付ける必要があります(プライベート サービス アクセスの構成も必要です)。Google SecOps には Cloud IDS ログ用のデフォルト パーサーがあります。SSH ログインの試行先は、イメージそのものではなく、イメージから起動して稼働している VM インスタンスです。
②要件の整理:(1) SSH ログインのブルートフォース「試行」で、ログインは成功していない、(2) 繰り返し発生するパターンを可視化・報告したい、(3) 取り込み割り当てへの影響を最小限にしたい、という条件です。ここでいう「割り当て(クォータ)への影響」とは、Google SecOps に取り込むログの量のことで、Google Cloud 側でかかる費用全体のことではありません。
③正解の理由:C の Cloud IDS は、SSH のブルートフォース試行のようなシグネチャに一致した通信だけを脅威ログとして記録するため、Google SecOps に取り込むログ量が少なく、取り込み割り当てへの影響を最小限に抑えられます。しかもログイン成否にかかわらず攻撃の試行そのものを検出できるため、失敗に終わった繰り返しのブルートフォース試行を可視化するという要件に合致します。
ただし、Cloud IDS は無料ではありません。IDS エンドポイントの稼働時間に応じた料金と、検査したトラフィック量に応じた料金がかかり、パケット ミラーリングの構成と運用も必要です。この問題で最小化を求められているのは Google SecOps への取り込み量なので Cloud IDS が最適ですが、実務ではこうした Google Cloud 側のコストも合わせて検討しましょう。
【誤りの選択肢】
A:VPC フローログでも、同じ送信元からポート 22 への接続が繰り返されている様子は見えるため、ブルートフォースの試行自体は把握できます。しかし、フローログは攻撃かどうかに関係なく、サンプリングされたすべてのネットワーク フローを記録するため、Google SecOps に取り込むログ量が非常に多くなり、取り込み割り当てを大きく消費します。また、フローの情報だけでは攻撃かどうかの判断を自分で行う必要があります。「シグネチャに一致した通信だけ」を記録する Cloud IDS と比べると、取り込み量の点で劣ります。
B:Security Command Center Premium の Event Threat Detection にも「Brute Force: SSH」の検出結果がありますが、これは「ホストに対する SSH のブルートフォースが成功した」ことを検出するもので、ログインが成功していない試行は検出結果になりません。今回の要件を満たしません。
D:Cloud Audit Logs は Google Cloud API の呼び出し(誰がリソースを作成・変更・参照したか)を記録するもので、VM の OS への SSH ログイン試行(sshd の認証失敗など)は記録されません。
【参考】
Cloud IDS の概要 | Cloud Intrusion Detection SystemCloud Intrusion Detection System(Cloud IDS)ログを収集する | Google Security Operationsブルート フォース: SSH | Security Command Center