AWS Security HubとGuardDutyで実現するセキュリティの継続的な監視と自動対応

現場実践|AWS Security Hub・GuardDuty統合管理
AWS Security HubとGuardDutyで実現するセキュリティの継続的な監視と自動対応
「AWSのセキュリティ状態を一元管理したい」「GuardDutyのアラートが出たら自動で対応したい」——AWS Security Hub・GuardDuty・EventBridgeを組み合わせたセキュリティの統合管理と自動対応の仕組みを解説します。
💡 AWSセキュリティの基本は「検知・通知・対応」のサイクルを自動化すること。Security HubとGuardDutyを組み合わせることで、セキュリティの問題を自動検知してSlack通知→自動対応まで一貫した仕組みが構築できます。
1. AWS Security HubとGuardDutyの役割
Amazon GuardDuty
機械学習でAWS環境の脅威を継続的に検知するサービス。IAMの異常使用・EC2の不審な通信・S3への不正アクセス・Cryptomining(暗号通貨マイニング)の疑いを自動検出する。
AWS Security Hub
GuardDuty・Config・Inspector・Macie等の複数のAWSセキュリティサービスの検出結果を一元集約するダッシュボード。CIS Benchmarkや独自のセキュリティ標準への適合状況を評価する。
2. GuardDuty検出結果の自動対応(EventBridge + Lambda)
// EventBridgeルール(Terraform)
resource "aws_cloudwatch_event_rule" "guardduty_high" {
name = "guardduty-high-severity"
description = "GuardDutyのHigh/Critical検出をLambdaで処理"
event_pattern = jsonencode({
source = ["aws.guardduty"]
detail-type = ["GuardDuty Finding"]
detail = {
severity = [{ numeric = [">=", 7] }] // 7以上がHigh
}
})
}
// Lambdaで自動対応
// 例: 不審なEC2インスタンスをセキュリティグループで隔離
def lambda_handler(event, context):
finding = event["detail"]
if "InstanceDetails" in finding["Resource"]:
instance_id = finding["Resource"]["InstanceDetails"]["InstanceId"]
// EC2をQuarantine SGに移動して通信を遮断
ec2.modify_instance_attribute(
InstanceId=instance_id,
Groups=["sg-quarantine-id"]
)3. Security Hubの設定とスコア向上
- CIS AWS Foundations Benchmarkを有効化:AWSのベストプラクティス基準への適合状況が自動でチェックされてセキュリティスコアとして表示される
- 高優先度のFindingから対応する:Security HubのFindingを「Severity」でフィルタして「CRITICAL」→「HIGH」の順に対応する
- Suppression Rulesで誤検知を管理:既知の誤検知(意図的なパブリックS3バケット等)はSuppression Ruleで非表示にしてノイズを削減する
📌 この記事のポイント
- GuardDutyは機械学習で脅威を自動検知・Security HubはGuardDuty等の結果を一元集約して評価する
- EventBridge+LambdaでGuardDutyのHigh以上の検出を自動処理。不審なEC2を隔離SGに移動する自動対応が構築できる
- Security HubのCIS Benchmark有効化でセキュリティスコアを把握し・CRITICAL/HIGHから優先的に対応する
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




