LoginSignup
3
4

More than 3 years have passed since last update.

CloudTrailのログをS3に保管する

Posted at

https://aws.amazon.com/jp/cloudtrail/
クラウドトレイルは、AWSの操作履歴を記録するサービスで
現在はデフォルトで全リージョン有効になっています。

保管する理由

有効期限が90日間となっていて、以降のログは自動的に削除してしまうため
以降も保持できるようS3などに保管して置くのがより良いです。

保管時に合わせて確認したい

・S3のライフサイクルでGlacierに移すことで課金を多少抑えられる
・保存先バケットやオブジェクトは削除不可のポリシを全ユーザに設定する
 (監査担当のみ読み取り可能にしておくなど)

追加課金が必要だができること

・S3のオブジェクトに対するAPI経由のGet/Putログを取得できる
 ほぼ同等機能としてS3のアクセスログがあり、そちらと比較すると・・・。
  より優れている点
   最大15分程度の遅延でログ出力できる
   データロストの心配がない
  悪い点
   とくに思い当たりません
   ※インターネット経由のパブリックアクセスでもログは出ます

・リソース登録/更新のふるまい監視ができる(CloudTrailInsights)
https://aws.amazon.com/jp/blogs/news/announcing-cloudtrail-insights-identify-and-respond-to-unusual-api-activity/

参考

CloudTrailのログ例(S3のオブジェクトをGetしたものを一部抜粋)
パブリックアクセスはCloudTrailのログは出ないと思っていたが入るようです

# public access
"userIdentity":{ 
"type":"AWSAccount",
"principalId":"",
"accountId":"ANONYMOUS_PRINCIPAL"
}

# console access
"userIdentity":{ 
"type":"AssumedRole",
"principalId":"user:user",
"arn":"arn:aws:sts::accountid:assumed-role/admin/user",
"accountId":"accountid",
"accessKeyId":"user",
"sessionContext":{ 
"sessionIssuer":{ 
"type":"Role",
"principalId":"user",
"arn":"arn:aws:iam::accountid:role/admin",
"accountId":"accountid",
"userName":"user"
}

S3のアクセスログとCloudTrailのログのフォーマット差分
S3のアクセスログの配信が来ないため比較できません・・・。
のちほど配信が来たら追記いたします。

GuardDutyの検知
今回検証目的でCloudTrailの監査ログ停止やS3のパブリックアクセスブロックを無効にしたところ、インシデントとして上がりました。
20200118.png

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4