GuardDuty、Inspector、Macie
脅威検出のためにGuardDutyを有効化し、InspectorでEC2とLambdaの脆弱性スキャンを実行し、MacieでS3内の機密データを検出します。
「GuardDuty、Inspector、Macie」はCoddyKit上の無料AWS Solutions Architectレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAWS Solutions Architect学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AWS Solutions Architectコースには全4レッスンが含まれています。
脅威検出レイヤー
多層防御のセキュリティでは、攻撃を防ぐだけでなく、侵入してしまった脅威を検出することも必要です。AWS には、連携して動作する 3 つのマネージド型セキュリティ検出サービスがあります。Amazon GuardDutyは、AWS アカウントの挙動とネットワークトラフィックを分析して脅威を検出します。Amazon Inspectorは、コンピューティングリソースのソフトウェア脆弱性を検出します。Amazon Macieは、S3 内の機密データ(個人識別情報や金融記録など)を検出し、公開された場合に警告します。3 つとも完全マネージド型で、機械学習を使用し、AWS Security Hub と統合して一元的な可視性を提供します。
# Detective controls overview:
# GuardDuty: Who is behaving suspiciously? (threat detection)
# Inspector: What vulnerabilities exist in my compute? (CVE scanning)
# Macie: Where is my sensitive data? (PII/PCI discovery)
# All three:
# - Fully managed (no agents for most features)
# - Machine learning-based analysis
# - Send findings to Security Hub
# - Integrate with EventBridge for automated responseAmazon GuardDuty:インテリジェントな脅威検出
Amazon GuardDutyは、VPC Flow Logs、DNS ログ、CloudTrail 管理イベント、S3 データイベントを、機械学習、異常検出、統合された脅威インテリジェンスフィード(IP レピュテーションリストや既知の悪意あるドメインなど)を使用して分析する、継続的な脅威検出サービスです。GuardDuty はエージェントレスです。アカウントで有効にすると、既存のログの分析をすぐに開始します。管理するインフラストラクチャはなく、ログの保存料金もかかりません(GuardDuty は AWS から直接ログを利用します)。脅威の種類ごとに、UnauthorizedAccess、CryptoCurrency、Backdoor、Trojan などに分類して検出結果を提示します。
# Enable GuardDuty
aws guardduty create-detector \
--enable \
--finding-publishing-frequency FIFTEEN_MINUTES
# List GuardDuty findings
aws guardduty list-findings \
--detector-id <detector-id> \
--finding-criteria '{
"Criterion": {
"severity": {"Gte": 7}
}
}'
# High severity (7-10) examples:
# UnauthorizedAccess:EC2/MaliciousIPCaller.Custom
# CryptoCurrency:EC2/BitcoinTool.B
# Backdoor:EC2/C&CActivity.BGuardDuty の検出結果の種類
GuardDuty は、脅威の目的、リソースタイプ、脅威名に基づいて検出結果を分類します。一般的な検出結果のカテゴリには、次のようなものがあります。UnauthorizedAccess — 通常とは異なる場所や Tor の出口ノードからの API 呼び出し。Recon — ポートスキャンや API の列挙。PrivilegeEscalation — 権限昇格を示唆する IAM ポリシーの変更。Exfiltration — S3 や RDS からの、通常とは異なる大量のデータ取得。CryptoCurrency — 既知の暗号資産マイニングプールと通信する EC2 インスタンス。Stealth — CloudTrail ロギングや S3 アクセスロギングの無効化。各検出結果には、影響を受けたリソース、実行者の IP アドレスまたはユーザー、推奨アクションが含まれます。
# Get GuardDuty finding details
aws guardduty get-findings \
--detector-id <detector-id> \
--finding-ids finding-id-1 finding-id-2
# Finding structure:
# {
# 'type': 'CryptoCurrency:EC2/BitcoinTool.B!DNS',
# 'severity': 8.0,
# 'title': 'EC2 instance querying domain for cryptocurrency mining',
# 'resource': {'instanceDetails': {'instanceId': 'i-12345'}},
# 'service': {'action': {'networkConnectionAction': {'remoteIpDetails': {...}}}}
# }GuardDuty による自動応答
GuardDuty の検出結果はAmazon EventBridgeと統合し、自動応答ワークフローを起動できます。一般的なパターンは次のとおりです。GuardDuty が侵害された EC2 インスタンスを検出 → EventBridge ルールが発火 → Lambda 関数が呼び出される → Lambda がインスタンスを隔離する(ASG から削除し、すべてのトラフィックをブロックする制限付きセキュリティグループを適用する)、フォレンジック調査のために EBS ボリュームのスナップショットを作成する、SNS 経由でセキュリティチームに通知する。この自動応答は検出から数秒以内に実行でき、人手による対応よりはるかに高速です。
# EventBridge rule for high-severity GuardDuty findings
aws events put-rule \
--name guardduty-high-severity \
--event-pattern '{
"source": ["aws.guardduty"],
"detail-type": ["GuardDuty Finding"],
"detail": {
"severity": [{"numeric": [">", 6.9]}]
}
}'
# Lambda response function actions:
# 1. Stop instance from ASG
# 2. Replace security group with deny-all SG
# 3. Create EBS snapshot for forensics
# 4. Send SNS alert to security team
# 5. Create Jira ticket via APIAmazon Inspector:脆弱性評価
Amazon Inspectorは、ワークロードを自動的に検出してスキャンし、ソフトウェアの脆弱性や意図しないネットワーク公開を検出します。Inspector v2(現行バージョン)は、EC2 インスタンス(Systems Manager Agent 経由)、Amazon ECR コンテナイメージ(プッシュ時にスキャン)、AWS Lambda 関数(パッケージの依存関係)を対象とします。CVE データベース(Common Vulnerabilities and Exposures)と検出結果を関連付け、リスクスコアを割り当てます。新しい脆弱性が公開されると Inspector はリソースを継続的に再スキャンするため、手動でスキャンを開始する必要はありません。
# Enable Amazon Inspector
aws inspector2 enable \
--resource-types EC2 ECR LAMBDA
# List Inspector findings for critical vulnerabilities
aws inspector2 list-findings \
--filter-criteria '{
"severity": [{"comparison":"EQUALS","value":"CRITICAL"}]
}' \
--query 'findings[].{Resource:resources[0].id,CVE:packageVulnerabilityDetails.vulnerabilityId,CVSS:packageVulnerabilityDetails.cvss[0].baseScore}'
# Inspector integrates with ECR lifecycle policies
# to prevent deploying critically vulnerable imagesInspector のネットワーク到達可能性
CVE スキャンに加えて、Inspector はネットワーク到達可能性も分析します。これは、セキュリティグループの設定によって、どの EC2 インスタンスがインターネットからアクセス可能になっているかを調べる機能です。VPC のセキュリティグループ、NACL、ルートテーブル、インターネットゲートウェイをマッピングし、どのインスタンスのどのポートがインターネットから到達可能かを判定します。i-12345 のポート 22(SSH)はインターネットから到達可能ですという検出結果は、SSH による直接アクセスを許可するようセキュリティグループが誤設定されていることを示します。これは一般的なセキュリティリスクです。このネットワーク分析は、VPC の設定データを使用してエージェントなしで実行されます。
# Inspector network findings example:
# Finding type: NETWORK_REACHABILITY
# Title: Port 22 is reachable from 0.0.0.0/0
# Resource: ec2-instance i-12345 (prod-web-01)
# Details: Security group sg-abc allows 0.0.0.0/0:22
# Recommendation: Restrict SSH to corporate IP range
# or use Systems Manager Session Manager instead
# Fix: update security group
aws ec2 revoke-security-group-ingress \
--group-id sg-abc \
--protocol tcp --port 22 --cidr 0.0.0.0/0Amazon Macie:機密データの検出
Amazon Macieは、機械学習とパターンマッチングを使用して、Amazon S3 内の機密データを自動的に検出して保護します。Macie は、個人識別情報(PII)(氏名、社会保障番号、クレジットカード番号、パスポートなど)、金融データ、健康情報、認証情報(パスワードや API キーなど)を識別します。また、公開 S3 バケットや暗号化されていないバケットも検出します。Macie は、機密データが検出または公開されたときに、自動修復やアラートを実行できるよう、Security Hub や EventBridge と統合された検出結果を生成します。
# Enable Macie
aws macie2 enable-macie
# Create a classification job to scan S3 buckets
aws macie2 create-classification-job \
--name 'Scan-All-S3-Buckets' \
--job-type ONE_TIME \
--s3-job-definition '{
"bucketDefinitions": [{
"accountId": "123456789012",
"buckets": ["customer-uploads","financial-reports"]
}]
}' \
--managed-data-identifier-selector ALL
# Macie scans objects and reports:
# - SSN found in financial-reports/2026-q1.csv
# - Bucket customer-uploads is publicly readableMacie の検出結果とコンプライアンス
Macie は、機密データの場所を特定して保護することを求めるコンプライアンスフレームワークにおいて、特に有用です。対象には、GDPR(EU の個人データ)、HIPAA(健康情報)、PCI DSS(決済カードデータ)があります。Macie の検出結果には、機密データを含む S3 オブジェクト、そのデータの種類、バケットのアクセス制御が示されます。これを使用して、機密データを含むすべてのバケットが暗号化され、非公開になっており、適切なバケットポリシーによって管理されていることを確認します。Macie はデータやバケットアクセスを変更しません。検出して報告するだけです。修復はセキュリティチームが行います。
# Get Macie findings
aws macie2 list-findings \
--finding-criteria '{
"criterion": {
"category": {"eqExactMatch": ["CLASSIFICATION"]}
}
}'
# Findings example output:
# sensitiveDataCategories: [FINANCIAL_INFORMATION, PERSONAL_HEALTH_INFORMATION]
# resourcesAffected:
# s3Object:
# bucketName: healthcare-records
# key: patients/2026/march.csv
# publicAccess: false (good)
# serverSideEncryption: null (BAD - not encrypted!)AWS Security Hub:検出結果の一元化
AWS Security Hubは、GuardDuty、Inspector、Macie、IAM Access Analyzer、Firewall Manager、サードパーティ製ツールからの検出結果を 1 つのコンソールに集約します。検出結果をAWS Security Finding Format(ASFF)に正規化し、ソース間で一貫した処理と分析を可能にします。Security Hub は、CIS AWS Foundations、PCI DSS、NIST などのセキュリティ基準に照らして環境を評価することもできます。Security Hub をセキュリティ体制を確認するための単一の管理画面として使用し、複数のサービスから関連する検出結果を関連付けて、インシデントの全体像を把握します。
# Enable Security Hub and all integrations
aws securityhub enable-security-hub \
--enable-default-standards
# GuardDuty, Inspector, Macie automatically
# send findings to Security Hub when all are enabled
# Query aggregated findings
aws securityhub get-findings \
--filters '{
"SeverityLabel": [{"Value":"CRITICAL","Comparison":"EQUALS"}],
"WorkflowStatus": [{"Value":"NEW","Comparison":"EQUALS"}]
}' \
--sort-criteria '[{"Field":"LastObservedAt","SortOrder":"desc"}]'GuardDuty、Inspector、Macie の比較
SAA-C03 試験では、特定のセキュリティ要件に適した検出サービスを選択できるかが問われます。主な違いは次のとおりです。GuardDuty — 実行時の脅威や不審な挙動を検出します(今、誰が悪意のある操作をしているか)。Inspector — ソフトウェアやネットワーク設定に存在する脆弱性を検出します(リソースの何が問題なのか)。Macie — S3 内の機密データと、その公開リスクを検出します(機密データがどこにあり、保護されているか)。3 つは相互に補完するサービスであり、包括的なセキュリティ戦略の一環として、本番環境では通常まとめて導入します。
# Service selection guide:
# 'Detect if EC2 is mining cryptocurrency' -> GuardDuty
# 'Find unpatched Apache Log4j vulnerabilities' -> Inspector
# 'Discover PII stored in S3 buckets' -> Macie
# 'Alert if unusual API calls from foreign IP' -> GuardDuty
# 'Find publicly accessible EC2 ports' -> Inspector
# 'Detect unencrypted S3 buckets with credit card data' -> Macie
# 'Correlate findings from all three services' -> Security HubAWS Organizations による大規模な有効化
各 AWS アカウントで GuardDuty、Inspector、Macie を手動で有効化する方法は、大規模環境では現実的ではありません。AWS Organizations との統合を使用すると、委任された管理者アカウント(通常は Security アカウント)を指定し、1 か所からすべてのメンバーアカウントにわたってこれらのサービスを有効化および管理できます。Organisation に追加された新しいアカウントでは、GuardDuty、Inspector、Macie が自動的に有効になります。すべてのアカウントの検出結果は委任された管理者アカウントに集約され、一元的に確認できます。これは、マルチアカウントのセキュリティガバナンスで推奨されるアーキテクチャです。
# Enable GuardDuty for entire AWS Organization
# Run from management account
aws guardduty enable-organization-admin-account \
--admin-account-id 111111111111
# From security/delegated admin account:
aws guardduty update-organization-configuration \
--detector-id <detector-id> \
--auto-enable-organization-members NEW
# NEW accounts automatically get GuardDuty enabled
# All findings aggregate in the admin accountクイックチェック
このレッスンで学んだ AWS Solutions Architect(SAA-C03)の概念について、理解度を確認します。
レッスンのまとめ
このレッスンでは、GuardDuty は CloudTrail、VPC Flow Logs、DNS ログを機械学習ベースで分析し、実行時の脅威を検出すること、Inspector は EC2、ECR、Lambda を自動的にスキャンし、CVE の脆弱性とネットワーク到達可能性の問題を検出すること、そしてMacie はマネージドデータ識別子のスキャンによって S3 内の機密データを検出して保護することを学びました。Security Hub は、3 つすべてのサービスからの検出結果を一元化します。次は Secrets Manager と Parameter Store について学びます。
よくある質問
「GuardDuty、Inspector、Macie」レッスンは無料ですか?
はい。「GuardDuty、Inspector、Macie」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AWS Solutions Architectコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AWS Solutions Architectコースには全4レッスンが含まれています。
「GuardDuty、Inspector、Macie」で何を学びますか?
脅威検出のためにGuardDutyを有効化し、InspectorでEC2とLambdaの脆弱性スキャンを実行し、MacieでS3内の機密データを検出します。 ブラウザで直接実行するハンズオンコードでAWS Solutions Architectを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AWS Solutions Architectを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAWS Solutions Architectは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「GuardDuty、Inspector、Macie」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAWS Solutions Architectレッスンでコードを書いて実行できますか?
はい。すべてのAWS Solutions Architectレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- KMS、ACM、暗号化パターン
- GuardDuty、Inspector、Macie
- Secrets ManagerとParameter Store
- WAF、Shield、Network Firewall