AWS Security HubとGuardDutyは、AWS環境のセキュリティ監視を強化し、不正なアクティビティの検出やコンプライアンスチェックを自動化するためのサービスです。本記事では、それぞれの機能、設定方法、セキュリティ強化のためのベストプラクティスについて解説します。
1. AWS Security Hubとは?
AWS Security Hubは、AWS環境全体のセキュリティ状態を一元的に可視化し、自動で脅威検出とコンプライアンスチェックを実行するサービス です。
Security Hubの主な特徴
✅ AWSのセキュリティサービス(GuardDuty, IAM Access Analyzer, Inspector など)と統合
✅ CIS(Center for Internet Security)やPCI DSSなどのコンプライアンスチェック
✅ セキュリティのベストプラクティスに基づいた推奨事項を提示
✅ 異常検出のアラートをAWS Organizationsを通じて一元管理
✅ Amazon EventBridgeと連携し、カスタムアラートを設定可能
主なユースケース
- AWS環境のセキュリティリスクを継続的に監視
- 複数アカウントのセキュリティ状態を一元管理(AWS Organizationsと連携)
- AWSのコンプライアンス要件(PCI DSS、CISベンチマークなど)への準拠
2. AWS GuardDutyとは?
AWS GuardDutyは、機械学習を活用してAWS環境の脅威をリアルタイムに検出するセキュリティ監視サービス です。
GuardDutyの主な特徴
✅ VPCフローログ、DNSクエリログ、CloudTrailイベントを分析し、脅威を検出
✅ 既知の攻撃パターン(マルウェア、DDoS、異常なAPIリクエスト)を識別
✅ 異常なIAMアクティビティ(例:ルートアカウントの異常な使用)を検出
✅ Amazon EventBridgeと連携し、インシデント対応を自動化可能
✅ 統合サービス(AWS Security Hub, AWS Organizations)と連携し、全体のセキュリティ監視を強化
主なユースケース
- 不正なログインやAPIリクエストの検知
- EC2インスタンスへの不審なアクセスやマルウェアの検出
- データ漏洩のリスク管理(S3の不正アクセス検知)
- 外部の悪意あるIPアドレスからの攻撃の検出
3. AWS Security Hubの設定手順
1. Security Hubの有効化(AWS マネジメントコンソール)
- AWSコンソールで「Security Hub」を開く
- 「Security Hubを有効化」をクリック
- セキュリティ標準を選択(例:CIS AWS Foundations Benchmark)
- 統合するAWSサービスを選択(GuardDuty, Inspector, IAM Access Analyzer など)
- 設定を保存し、推奨事項を確認
2. Security Hubの推奨事項を確認(AWS CLI)
aws securityhub get-findings --region us-east-1
3. EventBridgeと連携し、セキュリティイベントの通知を設定
aws events put-rule --name SecurityHubAlerts --event-pattern '{"source": ["aws.securityhub"]}'
4. AWS GuardDutyの設定手順
1. GuardDutyの有効化(AWS マネジメントコンソール)
- AWSコンソールで「GuardDuty」を開く
- 「GuardDutyを有効化」をクリック
- 監視対象のデータソースを選択(VPCフローログ、DNSログ、CloudTrail)
- 複数アカウントを管理する場合はAWS Organizationsと統合
- 検出結果を確認し、アクションを設定
2. GuardDutyの脅威検出結果を取得(AWS CLI)
aws guardduty list-findings --region us-east-1
3. GuardDutyの脅威検出をCloudWatch Logsに送信
aws logs create-log-group --log-group-name /aws/guardduty/findings
5. AWS Security Hub & GuardDutyの活用ベストプラクティス
✅ Security Hubでセキュリティリスクを継続的に監視し、推奨事項を実施
✅ GuardDutyを有効化し、VPCフローログやCloudTrailを監視
✅ EventBridgeと連携し、セキュリティアラートを自動通知(SNS, Lambda など)
✅ 複数アカウントをAWS Organizationsを使用して一元管理
✅ 検出した脅威に対する自動対応をLambda関数で実装
Lambdaで自動対応の例(不正なIAMアクティビティを検出した場合)
import boto3
def lambda_handler(event, context):
client = boto3.client('iam')
user = event['detail']['userIdentity']['userName']
# ユーザーのアクセスを一時停止
client.update_login_profile(UserName=user, PasswordResetRequired=True)
return {"status": "User access disabled", "user": user}
6. まとめ
AWS Security HubとGuardDutyを組み合わせることで、AWS環境のセキュリティをリアルタイムに監視し、脅威を迅速に検出・対応 できます。
✅ Security Hubを活用し、AWS環境のセキュリティリスクを一元管理
✅ GuardDutyで不正なアクティビティを検出し、アラートを設定
✅ EventBridgeやLambdaと統合し、セキュリティ対応を自動化
✅ CloudWatch Logsと統合し、脅威のログを詳細に分析
次のステップでは、「AWSのゼロトラストセキュリティモデル」について詳しく解説していきます!