はじめに
AWS Certified Security – Specialty (AWS SCS) の認定資格取得を目指して学習を進める中で、AWSアカウント内での不正操作や異常な通信に対処する問題がよく出てきます。
とはいえ、多様なパターンが存在するため、どのサービスを使ってよいか分からなくなりますよね。
それぞれ何を検知できて、どうやって検知して通知をするか整理する必要があると感じました。
この記事では、AWSの各サービスを利用した具体的な監視と通知の手法を、ユースケースごとにまとめています。
資格試験の学習だけでなく、実際の運用でセキュリティを強化したい方にも役立つ内容です。
各パターンの検知・通知
- CloudTrail + CloudWatchログ: APIコールを監視して通知
- AWS Config: リソース設定変更(例: S3バケットのパブリックアクセス解除)を監視して通知
- Amazon GuardDuty: 脅威検出(例: 不正なIAMユーザー操作や外部からの攻撃)を監視して通知
- AWS Security Hub: 統合された不正操作(例: GuardDutyやConfigのFindings)を一元管理して通知
- AWS Lambda(カスタム監視): CloudTrailログや独自条件(例: 特定のIPアドレスからの不審な操作)を分析して通知
- Amazon EventBridge: 特定イベント(例: IAMポリシー変更)をリアルタイムで監視して通知
- Amazon Inspector: 脆弱性スキャン(例: EC2インスタンスやECRイメージのリスク)を検知して通知
- Amazon Macie: データ漏洩リスク(例: S3バケット内の機密データ公開)を監視して通知
- Amazon VPC Flow Logs: ネットワークトラフィックの異常を監視して通知
- AWS Shield: DDoS攻撃を検知して通知
- AWS WAF: Webアプリケーション層の不正リクエストを検知して通知
1. CloudTrail + CloudWatch Logs
概要
AWS CloudTrailはAWSアカウント内で行われるAPIコールや操作履歴を記録し、CloudWatch Logsと連携することでこれらの操作を監視・通知する仕組みを提供します。
たとえば、IAMポリシーの変更やS3バケットの削除などの特定のAPI操作を監視し、不正な変更があった際にアラートを発生させることができます。
構成例
- CloudTrail: AWSアカウント内の全APIコールを記録。
- CloudWatch Logs: CloudTrailログを送信し、特定操作を検出するためのクエリやアラームを設定。
- CloudWatch アラーム: 特定の操作(例: DeleteBucket)を検知するアラームを設定。
- SNS: CloudWatchアラームがトリガーされた際に通知を送信。
参考
AWS管理コンソールのログイン失敗をCloudTrailで記録して通知するハンズオンを以下の記事で紹介しています。
一度設定してみると概要がわかるのでぜひ実践してみてください。
AWS管理コンソールのログイン試行をCloudTrailで監視し、失敗時にメール通知を行う
2. AWS Config
概要
AWS Configは、AWSリソースの構成や設定変更を継続的に監視し、指定した設定やコンプライアンスルールに違反した場合に通知を行います。
たとえば、S3バケットのパブリックアクセス設定が変更された場合や、EC2インスタンスのセキュリティグループが予期しないポートを許可した場合などに検出して通知できます。
構成例
- AWS Config: AWSリソースの構成を定期的に記録し、指定ルールに基づいて評価。
- Configルール: S3バケットのパブリックアクセス禁止などのルールを作成し、違反が発生した場合にフラグを設定。
- EventBridge: Configルール違反が発生した際にトリガー。
- SNS: 管理者に対して通知を送信。
参考
パブリックアクセスブロックを無効にしているS3バケットをAWS Configで検知して通知する方法について紹介しています。
AWS Configで規約違反のS3バケットの作成を検知し通知する
3. Amazon GuardDuty
概要
Amazon GuardDutyはAWS内の異常なトラフィックや不正アクセス、脅威を自動的に検出するサービスです。GuardDutyはVPC Flow LogsやDNSクエリ、CloudTrailのイベントを分析し、マルウェアの感染や不正な通信先への接続、内部者による不正アクセスをリアルタイムで検出します。
構成例
- GuardDuty: VPC Flow Logs、DNSリクエスト、およびCloudTrailイベントを監視。
- EventBridge: GuardDutyの検出結果に応じてイベントをトリガー。
- SNS: GuardDutyの検出結果を通知。
4. AWS Security Hub
概要
AWS Security Hubは、複数のセキュリティサービス(GuardDuty、Inspector、Configなど)からのFindings(発見事項)を統合し、一元管理するサービスです。
これにより、AWSアカウント全体のセキュリティ状態を包括的に把握し、異常が発生した場合にまとめて通知することができます。
構成例
- Security Hub: 複数のセキュリティサービス(GuardDuty、Inspector、Configなど)の結果を収集。
- EventBridge: Security HubのFindingsをトリガーとして通知を設定。
- SNS: Findingsに基づいた通知を管理者に送信。
5. AWS Lambda(カスタム監視)
概要
AWS Lambdaを使用して、CloudTrailやConfigのログを独自に解析し、不正操作や異常を特定するカスタム監視を構築できます。
特定の操作やイベントに基づく高度な条件設定が可能で、柔軟に運用をカスタマイズできます。
構成例
- CloudTrail: 全リージョンのログをS3に保存。
- Lambda: S3に格納されたCloudTrailログを解析し、不正操作を特定。
- SNS: Lambdaが特定の条件を満たした場合に通知を送信。
6. Amazon EventBridge
概要
Amazon EventBridge(旧CloudWatch Events)は、特定のAWSリソースやアクションに基づくイベントをトリガーし、リアルタイムで通知やアクションを実行できます。
IAMポリシーの変更、S3バケットの作成、削除など特定のイベントに対して通知を行うことが可能です。
構成例
- EventBridge: IAMポリシー変更などのカスタムイベントをトリガー。
- SNS: EventBridgeのトリガーに基づき通知を送信。
7. Amazon Inspector
概要
Amazon Inspectorは、EC2インスタンスやコンテナイメージ(ECR)に対して脆弱性スキャンを実施し、古いソフトウェアやセキュリティリスクを検出するサービスです。
未修正の脆弱性や推奨されていない設定を検出し、通知します。
構成例
- Inspector: EC2インスタンスやECRコンテナイメージを対象に脆弱性スキャンを実施。
- EventBridge: 脆弱性検出結果をトリガー。
- SNS: 管理者に脆弱性検出を通知。
参考
Inspectorについては以下の記事でまとめています。あわせて参考にしてください。
8. Amazon Macie
概要
Amazon Macieは、S3バケットに保存されたデータを解析し、機密データや個人情報が含まれているかを検出するサービスです。
誤って公開されたバケット内の機密データを検知し、管理者に通知します。
構成例
- Macie: S3バケットをスキャンし、機密データを検出。
- EventBridge: スキャン結果をトリガー。
- SNS: 機密データ検出を管理者に通知。
参考
Macieについては以下の記事でまとめています。あわせて参考にしてください。
9. Amazon VPC Flow Logs
概要
VPC Flow Logsは、AWS内のネットワークトラフィックをキャプチャして、異常な通信や未承認のIPアドレスへの通信を検出するのに役立ちます。
不正アクセスやデータ漏洩の兆候を早期に発見できます。
構成例
- VPC Flow Logs: ネットワークトラフィックを収集。
- CloudWatch Logs: ログを解析。
- SNS: 異常通信の検出を通知。
10. AWS Shield
概要
AWS Shieldは、アプリケーションに対するDDoS攻撃を自動で検知・軽減するサービスです。
特にAWS Shield Advancedでは、DDoS攻撃の詳細分析やリアルタイム通知が可能です。
構成例
- AWS Shield Advanced: DDoS攻撃を監視。
- EventBridge: 攻撃イベントをトリガー。
- SNS: 攻撃に関する詳細通知を送信。
11. AWS WAF
概要
AWS WAFは、Webアプリケーションへの不正リクエスト(例: SQLインジェクションやクロスサイトスクリプティング)をブロックし、異常を検出します。
カスタムルールを設定することで、アプリケーション層のセキュリティを強化できます。
構成例
- WAF: Webアプリケーションへの不正リクエストを監視。
- Kinesis Data Firehose: ログを収集。
- Lambda: ログを解析。
- SNS: 異常を検出した際に通知を送信。
監視と通知方法の比較表
方法 | 主な対象 | 検知できる例 | 通知手段 | 特徴 |
---|---|---|---|---|
CloudTrail + CloudWatch Logs | AWS APIコール | IAMポリシー変更、S3バケット削除 | CloudWatchアラーム → SNS | API操作の履歴を細かく監視可能。リアルタイム性はやや低いが、幅広い操作を記録可能。 |
AWS Config | リソース設定変更 | S3バケットのパブリックアクセス解除、セキュリティグループのポート設定変更 | EventBridge → SNS | 設定変更のコンプライアンス評価に最適。設定状態を継続的に監視可能。 |
Amazon GuardDuty | 異常なトラフィックや脅威 | マルウェア通信、不正IPからのAPIコール | EventBridge → SNS | VPC Flow LogsやDNSログを分析し、脅威検出を自動化。誤検知が少なく信頼性が高い。 |
AWS Security Hub | 統合されたセキュリティ情報 | GuardDutyやInspectorのFindings、不正設定 | EventBridge → SNS | セキュリティ情報を一元管理。全体のセキュリティ状態を効率よく把握可能。 |
AWS Lambda(カスタム監視) | ログやイベントのカスタム分析 | 特定のAPIコール、異常なIPアドレス、不正操作 | SNS → メールまたはカスタム処理 | カスタム条件で柔軟に監視可能。複雑な要件を満たす監視が可能だが、設定に手間がかかる。 |
Amazon EventBridge | AWSリソースの特定イベント | IAMポリシー変更、リソース削除、特定操作のトリガー | SNS → メールまたはLambda実行 | リアルタイムにイベントを検知してアクションを実行可能。軽量でシンプルな構成が可能。 |
Amazon Inspector | 脆弱性スキャン | EC2インスタンスやECRの脆弱性、古いソフトウェア | EventBridge → SNS | 定期的な脆弱性スキャンが可能。OSやパッケージレベルのリスクを検知して修正を促進。 |
Amazon Macie | 機密データの公開リスク | S3バケット内の個人情報、クレジットカード情報、公開された機密データ | EventBridge → SNS | データ漏洩リスクの早期発見に最適。自動的にデータを分類し、潜在リスクを可視化。 |
Amazon VPC Flow Logs | ネットワークトラフィック | 不正IPへの通信、異常なトラフィック(例: ポートスキャン) | CloudWatchアラーム → SNS | トラフィックパターンを詳細に監視可能。リアルタイム性は低いが、異常通信の分析が容易。 |
AWS Shield | DDoS攻撃 | SYN flood攻撃、大量のHTTPリクエスト集中 | EventBridge → SNS | 自動でDDoS攻撃を軽減。AWS Shield Advancedで詳細な攻撃情報を提供可能。 |
AWS WAF | Webアプリケーション層 | SQLインジェクション、クロスサイトスクリプティング、不正リクエスト | WAFログ → SNSまたはLambda | Webアプリケーションに特化した防御が可能。カスタムルールで柔軟な攻撃対策が実現。 |
まとめ
AWSでの不正操作や異常通信を検知・通知するためには、複数のサービスを用途やシナリオに応じて使い分けることが重要です。
それぞれのサービスは異なる特性を持ち、適切な選択と組み合わせにより包括的なセキュリティ対策が可能になります。
主なポイント
- 広範囲な監視:
- CloudTrail + CloudWatch Logs や AWS Config は、APIコールやリソースの設定変更を広く監視でき、汎用性が高いです。
- GuardDuty は異常なトラフィックや脅威を検知するのに優れています。
- 特化型のセキュリティサービス:
- Amazon Inspector は脆弱性のスキャン。
- Amazon Macie はデータ漏洩の防止に適しています。
- リアルタイム性を重視する場合:
- EventBridge や AWS Shield は、リアルタイムでのイベント処理やDDoS攻撃の軽減に適しています。
- 柔軟性とカスタマイズ:
- AWS Lambda を使用したカスタム監視や AWS WAF を活用したWebアプリケーション保護は、細かい要件を満たすための強力な選択肢です。
より詳細について学びたい方は以下の書籍がおすすめです。