見出し画像

AWS CloudTrailとは? 実際に設定してみた

こんにちは、セキュリティエンジニアの式村です。
皆さんは、AWSの運用管理をしていて不安に思うことはありますでしょうか。私は良く感じています。特に課題として「誰が、いつ、何を」しているのか不安で夜も眠れないときがあります。AWSを運用していく上で、利用状況の管理は重要なポイントとなります。今回のコラムでは、AWS上の利用状況を自動記録してくれるAWS CloudTrail(以下 CloudTrail)について説明し、実際に設定を行った一連の流れを画像と共に記録していきたいと思います。

Cloud Trailとは?

CloudTrailとは、AWS上での操作やAPI操作をログに記録するサービスです。これにより「誰が、いつ、何を」しているのかの利用状況を確認できます。

CloudTrailで記録できるものは大きく次の2種類です。

・管理イベント
ネットワーク設定変更やデバイスの登録などのアクティビティ(管理イベント)を記録しております。管理イベントに関してはデフォルトで有効になっており、90日間は無料で記録が可能です。
※90日以上保存したい場合は、「証跡」を作成してS3へ保存する必要があります。
・データイベント
S3バケットのデータ操作やLambda関数の実行などアクティビティ(データイベント)を記録しております。
なお、データイベントに関しては、設定が必要になり、記録したイベント数に応じた利用料金が発生しますので要注意です。

CloudTrail利用のメリット

CloudTrailではAWS上の利用状況を記録することができ、以下のメリットが挙げられます。

トラブルシューティング
AWS内の操作履歴を確認できます。これにより、「誰が、いつ、何を」したのかを確認できます。この機能によって、問題の痕跡や証拠を把握する手助けとなり、問題の早期解決につながります。

コンプライアンス対応
AWS内の操作履歴を確認することができるため、コンプライアンスに違反した操作などを発見できます。

不正防止
上述の機能を社内に周知することで不正行動に対して抑止力につながり、コンプライアンス順守が促進されます。

証跡の作成

実際の画面を見ながら、CloudTrailの証跡を作成していきます。
AWSマネジメントコンソールからCloudTrailを選択し、「証跡の作成」をクリックします。

[クイック証跡の作成]という画面が出ますので、
設定はデフォルトのままで下部にある「証跡の作成」をクリックします。

証跡を選択すると実際に作成されていることが確認できます。

また、少し時間を置いてから上記S3バケットリンクをクリックして、記録が保管されるS3バケットへアクセスするとログが出力されていることを確認できます。証跡はjson形式で保存されており、ユーザーの利用状況を管理することができます。

・イベント履歴の確認
次にデフォルトで記録されている「イベント履歴」から操作履歴を確認していきます。 

今回は、インスタンスが予期せず削除された場合と仮定し、インスタンスを削除したユーザーは誰なのか?実際にログを確認するまでの記録をまとめました。
 
CloudTrailの画面から左タブにある「イベント履歴」をクリックすると管理イベントが表示されます。
※「イベント履歴」では、デフォルトで90日間のイベントが保管されています。

対象画面のルックアップ属性から「リソース名」を指定し、削除されたインスタンスIDを検索します。イベントを確認するとイベント名に「TerminateInstances」と記載されており、インスタンス削除を行ったユーザーを確認することができました。

まとめ

今回は、CloudTrailについて解説いたしました。
CloudTrailは比較的簡単にAWS上の利用状況の管理ができる便利なサービスです。AWS環境をより安心安全に管理するために設定してみるのはいかがでしょうか。私の心配事も解消されたのでぐっすり眠れそうです。
今後CloudTrailを使われる方で今回のコラムが参考になっていただければ幸いです。

ライター:式村