AWS CloudTrail(Black Belt解説)

AWS

記事説明

この記事では、「Management & Governance」分野の重要なサービスである、
AWS CloudTrail
について説明します。

↓Management & Governanceの重要なサービス一覧
・Amazon CloudWatch
・AWS CloudFormation
・AWS CloudTrail
・AWS Config
・AWS Systems Manager

↓参考:【AWS Black Belt Online Seminar】AWS CloudTrail
https://d1.awsstatic.com/webinars/jp/pdf/services/20160831-AWS_BlackBelt-CloudTrail-Config-public.pdf
※こちらから画像も引用しています。

AWS CloudTrailの位置づけ

Amazon Management Toolsとして、5つの機能が提供されています。

1.リソースプロビジョニング
⇒テンプレート定義によるインフラプロビジョニングの自動化
主なサービス:AWS CloudFormationなど

2.構成管理
⇒パッケージの導入、ソフトウェアとリソースのコンフィグレーション、パッチ適用
主なサービス:AWS Systems Managerなど

3.モニタリング
⇒AWSリソースやアプリケーションに対する、モニタリング、アラーム、
メトリクスダッシュボード、ログ、イベント管理
主なサービス:Amazon CloudWatch

4.ガバナンスとコンプライアンス
⇒リソースインベントリ、構成変更管理、ユーザ操作とAPI呼び出しの記録、
セルフマネージドなITカタログ
主なサービス:AWS CloudTrail、AWS Config

5.リソース最適化
⇒コスト低減、パフォーマンス向上、セキュリティの改善に対する推奨事項の自動提供
主なサービス:AWS Trusted Advisor

このうち、AWS CloudTrail
Amazon Management Tools
の中のガバナンスとコンプライアンス機能として用いられます。

AWS CloudTrailの概要

概要としては、
「AWSユーザの操作(API)をロギングする」
サービスで、ルートアカウントや、IAMユーザのオペレーションをトラッキングできます。
CloudTrail自体は無料で、操作ログをS3にログファイルとして保存します。
デフォルトでは、ログファイルはSSE-KMSを使用して暗号化されます。

なお、CloudTrailのロギング対象になるイベントは2種類あります。

1.API call Event
インスタンスの開始や、キーペアの作成など

2.Non-API call Event
ユーザのサインインアクティビティなど

ログファイルの整合性について

ログファイルの整合性機能を有効にすると、時間単位でDigest FileがS3に配信されます。
Digest Fileの中身はログファイルやDigest Fileの編集・削除が行われていないか記載されています。

これにより、不正利用しようとログインして、色々な操作を行われた後、
証拠を残さないようにCloudTrailのログを削除されたとしても、検知できるようになります。
※ただし、毎時間配信されるようなので、膨大な量になる危険性があります。
無料枠で何とかおさめようとしている方はご注意ください。

CloudTrailのベストプラクティスについて

すべてのリージョンで有効にすることがベストプラクティスとされています。

また、CloudTrailで監視していただけでは、フィルターをかけて検索はできるものの、
コンソール画面で確認しなければいけないので、
不正アクセスが検知された時に通知が欲しい場合は、
下記のようにCloudWatch Logs Metric Filter、Amazon SNSと連携すればOKです。

1.CloudTrailのログをJSON形式でCloudWatch Logsに転送

2.Metric Filterにて特定の文字列のエントリ頻度からアラームを作成する

3.SNSで通知設定を行う

Metric Filterの用途(検索例)としては
・rootログインの監視
・認証失敗の監視
・特定の(大きい)EC2インスタンスタイプ作成の監視
・セキュリティグループ変更の監視
などが挙げられます。

ぜひ、この構成をCloudFormationでテンプレ化してみてください。

まとめ

AWSのサービスの中で非常に重要な位置づけである、CloudTrailに関する記事でした。

想定していないユーザアクティビティ(オペレーション)がないかを検知し、
社内統制を行うのに役に立つ機能になります。
同様にユーザアクティビティの監視機能であるAWS Configについては、
別の記事で紹介いたします。大きな違いは下記の通りになります。

オペレーションからユーザアクティビティを監視する ⇒ CloudTrail
AWSリソースの変化から、ユーザアクティビティを監視する ⇒ AWS Config

それでは、お読みいただきありがとうございました。

コメント