みなさんこんにちは。マネージドサービス部の塩野です。
監査などの観点でWindowsのインスタンスにログインした際のログを調査したいという話があり、AWS CloudTrailにどのようなログが記録されるのか調べてみました。
接続構成
AWS Systems Managerを使用して、プライベートサブネットにあるインスタンスにリモートから接続する構成です。
前提条件
AWSの操作はAWS CloudTrailにログとして記録されます。基本的にはアカウント作成時にAWS CloudTrailが有効化されているはずですが、もしAWS CloudTrailを有効化していない場合は有効化が必要です。
AWS CloudTrailってなに?
AWS CloudTrail は、AWS アカウントの運用とリスクの監査、ガバナンス、コンプライアンスを行えるように支援する AWS のサービスです。ユーザー、ロール、または AWS のサービスによって実行されたアクションは、CloudTrail にイベントとして記録されます。
ドキュメントでは上記の通り記載されていますが、アカウントの操作を記録する機能です。大きく分けると管理イベント(リソースで実行される管理機能の操作)、データイベント(データコピーや転送などのイベント)、Insights イベント(アカウントで検知した異常と推測されるイベント)が記録されます。詳細は下記ドキュメントを参照ください。
やってみた
今回試した接続パターンは2つあり、1つがSession Managerのログイン、もう一つがFleet Managerのログインです。
パターン1:Session Managerのログイン
AWS CloudTrailの検索条件は以下の通りです。
ルックアップ属性:イベント名 値:DescribeSessions
検索結果以下の通りです。
イベントの詳細は下記の通りです。
パターン2:Fleet Managerのログイン
インスタンスを右クリックして、接続を押すと下記画面が表示されますので、RDPクライアントの「Fleet Manager を使用して接続する」から接続します。
AWS CloudTrailの検索条件は以下の通りです。
ルックアップ属性:イベントソース 値:ssm-guiconnect.amazonaws.com
検索結果以下の通りです。
イベントの詳細は下記の通りです。
総括
上記画像ではマスクしていますが、イベント詳細を見ると、どこのIPから、どのユーザーが、どのAWSアカウントに対してセッションを張っているという情報が確認できました。AWS CloudTrailは若干検索がし辛いもののポイントを押さえれば標準画面でもちゃんと検索して詳細を見ることができました。AWS CloudTrailを使うと、こういったログイン情報だけでなく、トラブル時にも原因の切り分けにとても役に立つ便利な機能なので、ぜひ使ってみてください。
どなたかのお役に立てれば幸いです。