Amazon GuardDutyで検出したイベント調査のためにAmazon QにCloudTrail調査用URLを生成してもらう
こんにちは、臼田です。
みなさん、AWSのインシデント調査してますか?(挨拶
今回はタイトルの通りちょっとした小ネタです。
Amazon GuardDutyでインシデントなどのイベント調査をしている際に、AWS CloudTrailのログを確認したい時があります。AWSマネジメントコンソールのイベント履歴から確認する際に、そのページにフィルタを適用した状態で開いてもらおう、という目論見です。
ちなみについ先日CloudTrail MCP Serverが出ましたね。こちらを使うとより調査が捗りそうなのですが、今回はそれよりもう少し手前のアプローチです。
概要
Amazon GuardDutyでイベントが検出された時、GuardDuty Findingsの中に"含まれない"要素の1つは、該当のユーザーがイベント前後にどのような行動をしていたか、です。
これは悪意がある場合には他にも別のリソースの作成や削除など、影響がある場所を探したりするのに役立ちます。
そういった操作はAWS CloudTrailログを確認すればよいですね。Amazon Athenaなどを駆使して細かくクエリしていくこともできますが、お手軽に確認するにはAWSマネジメントコンソールのイベント履歴からも行けます。軽くそこで確認し、どうしても複雑なクエリをかけていきたい場合にAthenaを利用するなどの進め方があります。
今回は、Amazon GuardDutyの画面からAWS CloudTrailのイベント履歴画面に遷移する際に、イベント履歴で使えるフィルターを適用した状態で移動したいなーと思い、うまくAmazon Qでできないか試してみました。
やってみた
それでは、Findingsの詳細画面を開いて、マネジメントコンソールの右側からAmazon Qに依頼します。依頼内容は以下のとおり。
現在開いているGuardDuty Findingsを読み込んで、ユーザー名と該当期間でフィルターしたCloudTrailイベント履歴画面を開けるURLをリンクで生成してください。
少しいろんな動きをした後、リンクを生成してくれました。
フィルターの条件も書いてありますし、ついでにどのあたりを気にして調査すべきかもコメントしてくれています。ありがたやー
実際のAWS CloudTrailのイベント履歴画面はこうなりました。無事フィルターがかかっています。
なお、指示の仕方はぼちぼち試行錯誤していて、うっかりフィルターに入れたいこと以上に情報が詰め込まれたり、指定できないはずの複数のフィルターを指定しようとしたりするので、「ユーザー名と該当期間でフィルターした」というような表現に落ち着きました。
安定させられる指示の出し方を見つけるのはけっこう大変ですね。
まとめ
Amazon GuardDutyのイベント調査のためにAWS CloudTrailのログを見に行く際の動線を、Amazon Qに手伝ってもらいました。
欲を言うとこういうリンクをAmazon GuardDuty自体に生成してもらいたいですね。いろんなやりたいことを生成AIにやってもらったり、AWSにフィードバックしたりして快適にしていきましょう!