助け合いフォーラム

AWS

AWS ソリューションアーキテクト - アソシエイト(SAA-C03)
問題ID : 30336
問題を開く
AWSの管理コンソールへ不正なログインが行われていないかを監視するため、ログインに3回以上失敗した場合に管理用のメーリングリストへメール通知が行われるようにしたい。
必要な設定は次のうちどれか。

正解

CloudTrailとCloudWatch Logsを連携し、ログインイベントのフィルタを設定する。CloudWatchのアラームにメール通知を設定する

解説

AWS CloudTrailは、AWSサービスのログを一元管理するサービスAmazon CloudWatch Logsと連携できます。CloudWatch LogsとCloudTrailを連携することにより、操作ログに特定のキーワードが登場した際にメール通知を行うことができます。例えば、キーワードにログインイベント「ConsoleLogin」を指定すると、管理コンソールへのログインを検知します。さらに、フィルタに認証失敗イベント「Failed authentication」を設定するとログインの失敗を検知できます。
※CloudWatch Logsについての詳細は分野「CloudWatch」を参照してください。

以上より正解は
・CloudTrailとCloudWatch Logsを連携し、ログインイベントのフィルタを設定する。CloudWatchのアラームにメール通知を設定する
です。

その他の選択肢については、以下の通りです。

・CloudTrailとEventBridgeを連携し、ログインイベントをメトリクスとして登録する。EventBridgeのアクションにメール通知を設定する
EventBridgeは、AWSリソースの状態変化やスケジュールに応じてアクションを実行できるサービスです。CloudTrailのログインイベントをEventBridgeのトリガーにすることは可能ですが、メトリクスとして登録する機能はありません。よって、誤りです。

・EventBridgeの監視対象にログインイベントを設定する。EventBridgeのアクションにメール通知を設定する
EventBridgeにログインイベントを監視する機能はないので、誤りです。

・CloudWatch Logs Insightsのクエリにログインイベントを指定する。CloudWatchのアラームにメール通知を設定する
CloudWatch Logs Insightsはクエリの実行による柔軟なログ解析を行うサービスです。イベントの発生を監視するサービスではないので、誤りです。

参考

【AWS CloudTrail】
AWS上でサービスを適切に運用し続けるには、運用担当者がどのようにAWSサービスを利用しているかを把握し、その活動がセキュリティ基準やポリシーに準拠しているかを確認するための継続的な監視と監査が欠かせません。
AWS CloudTrailは、AWS環境内での「いつ」「誰によって(ユーザーやAWSサービス、APIなど)」「どのような操作が行われたのか」を記録・保存するサービスです。利用登録なしに過去90日間のログを無料で参照することができます。

[CloudTrailのダッシュボード画面]


イベントの発生日時と操作したユーザー、対象のリソース名などが表示されているのがわかります。また左端の「▶」マークをクリックすることで、詳細情報を参照することもできます。
例えば、操作した覚えがないのにリソースが増減されていたり、インスタンスが削除されていたような場合でも、CloudTrailのログを参照することで誰がどのような操作を行ったのかを確認できます。

●記録対象となるイベント
CloudTrailでは、ユーザーによるマネジメントコンソールやコマンドライン(AWS CLI)上での操作だけでなく、APIを通じて行われる操作もイベントとして記録されます。

・管理イベント ... ユーザーのログイン、AWSリソース自体の作成、変更、削除といった操作(例:EC2インスタンスの作成など)
・データイベント ... AWSリソースへの細かな操作(例:S3内のデータ操作、Lambda関数の実行など)
・インサイトイベント ... 通常と異なる操作(例:書き込みAPIの異常な呼び出しなど)

なお、管理イベントはデフォルトで記録されますが、データイベントおよびインサイトイベントはイベントの記録を有効にする必要があります。

●証跡情報
CloudTrailのログは、「証跡情報」を作成することでS3バケットに保存できます。これにより、90日を超える長期間のログ保存が可能となり、セキュリティ監査やコンプライアンス報告のニーズに対応します。

[証跡情報の作成画面]


作成画面からは、インサイトイベントやデータイベントの記録有無を選択できます。ログはJSON形式で出力され、gz形式で圧縮されてS3に保存されます。さらに、Amazon KMS(Key Management Service)を利用してログデータを暗号化するオプションも提供されています。

[S3バケットへ保存したCloudTrailのログの例]


●複数アカウントのログ保存
企業や組織などにおいて複数のAWSアカウントを管理している場合、それぞれのCloudTrailのログを1つのS3バケットで管理することができます。例えばアカウントA、B、Cの操作ログを監査用のアカウントDに属するバケットに集約することで、監査を容易に行えたり、各アカウントによるログの改ざんを防ぐことができます。
複数アカウントのCloudTrailログを集約する際は、証跡情報の作成時に「ストレージの場所」を既存のS3バケットに指定します。なお指定するS3バケットは、他のアカウントからアクセスが可能になるように事前にバケットポリシーを設定しておく必要があります。

●CloudTrailとCloudWatch Logsの連携
CloudTrailは、AWSサービスのログを一元管理するサービスAmazon CloudWatch Logsと連携することができます。
CloudWatch LogsとCloudTrailを連携することにより、操作ログに特定のキーワードが登場した際に管理者宛に通知を行うことができます。キーワードには例えば、ログインイベント「ConsoleLogin」を指定したり、EC2インスタンスの変更(作成・終了・停止など)イベント「EC2InstanceChanges」などを指定することができます。これにより管理コンソールへ不正なログインが行われたときに検知したり、意図しないインスタンスの変更が行われていないかをアクティブに監視することができるようになります。
※CloudWatch Logsについての詳細は分野「CloudWatch」を参照してください。
上に戻る

回答についての疑問点

投稿日 2024/07/04

正解の回答は、cloudtrailとCloudWatchlogsの連携になっていますが?

cloudtrailとeventbridgeでも、同じ動作を設定できるのではと感じました。

問いの回答にメタリックを設定するとかいてあるので不正解なのでしょうか?

なぜ誤りになるのかを、知りたいです。

自身で調べてもわからなかったので、
知識かと思いますが、確認をお願いします。

スタッフからの返信

s staff_satomi

2024/07/05 14:18

kaiyou701様 ご指摘の点を修正いたしました。 ご報告いただきまして、誠にありがとうございます。

この投稿に対して返信しませんか?