はじめに
概要
本資料はAmazon GuardDutyに関する解説記事の内容をまとめたものです。GuardDutyはAWSが提供するマネージド型の脅威検出サービスで、AWS環境での不審な挙動や侵害の兆候を継続的に検知します。ここでは主な機能や検知する脅威の種類、運用の実例、他サービスとの違い、最新機能や導入方法まで幅広く扱います。
本資料の目的
読者がGuardDutyの役割と使いどころを理解し、導入や運用の判断に役立てられることを目指します。技術的な背景がない方でも全体像をつかめるよう、具体例を交えてやさしく解説します。
対象読者
・クラウド環境のセキュリティに関心のある方
・導入を検討している担当者や管理者
・運用改善を考えているエンジニアやチームリーダー
本資料の読み方
各章は独立して読みやすく構成しています。まずは第2章でGuardDutyの概要を理解し、第3章以降で具体的な機能や運用方法を確認してください。実務で使えるポイントも章末で紹介します。
Amazon GuardDutyの概要
概要
Amazon GuardDutyは、AWS環境を対象にしたマネージド型の脅威検出サービスです。ユーザーが特別なソフトを導入しなくても、クラウド上で発生する不審な挙動を継続的に監視します。たとえば、不正なAPI操作や異常なネットワーク通信を自動で検知します。
主要なデータソースと仕組み
- CloudTrail(操作履歴): ユーザーやサービスの操作を監視します。
- VPCフローログ(通信記録): インスタンス間や外部への通信異常を把握します。
- DNSログ(名前解決): 不審なドメイン通信を検出します。
GuardDutyは、これらのログを機械学習と脅威インテリジェンス(既知の悪意あるIPやドメインの情報)で分析し、リスクの高い事象を「検出(Finding)」として通知します。
検出結果と連携
検出には重大度(低・中・高)が付き、EventBridgeやSNS、Lambdaと連携して自動通知や自動対応が可能です。たとえば、高い重大度の検出があれば自動で該当インスタンスを隔離する処理を呼び出せます。
導入のポイント
GuardDutyはマネージドで導入が簡単です。組織単位で有効化でき、スケールに応じて利用可能です。一方で、精度向上のためにログ設定や通知ルールの確認が必要です。
GuardDutyの主な機能と特徴
概要
Amazon GuardDutyは、クラウド環境を継続的に監視して脅威を検出するサービスです。追加の機器やソフトの導入は不要で、AWS管理コンソールからすぐ有効化できます。
継続的な監視とマルチアカウント
GuardDutyは単一アカウントだけでなく複数アカウントをまとめて監視できます。異常なログインや不自然なデータ転送などを常時チェックし、広い範囲を低コストでカバーします。
脅威インテリジェンスと機械学習
既知の悪意あるIPやドメイン情報を用いた検出に加え、機械学習で普段と違う振る舞いも見つけます。例えば、通常使わない地域からのアクセスや短時間で大量の通信が行われた場合に警告します。
自動アラートと対応
検出時はアラートを出し、メールやSNSで通知できます。CloudWatch Events等と連携して自動で隔離やログ収集の仕組みを動かすことも可能です。
導入の容易さと運用負担の軽減
ワンクリックで導入でき、セキュリティ専門家がいない環境でも有用です。継続監視と自動化で日々の運用負担を抑えられます。
GuardDutyが検知する脅威の例
ここでは、GuardDutyが検知する代表的な脅威例を具体的に説明します。実際のアラートは複数の信号を組み合わせて生成されます。
アカウントの乗っ取り・不正アクセス
異常なAPI呼び出しや、普段使われない地域からのログイン、CloudTrailの無効化などを検知します。例えば、管理者権限の資格情報が海外から使われ、短時間で多数のEC2を起動すると乗っ取りの疑いでアラートが出ます。
偵察・スキャン行為
攻撃者が公開サービスや脆弱なポートを探す動きを検出します。具体例として、複数の外部IPが短時間に同一ポートへ接続を繰り返す、あるいはEMR関連のセンシティブなポートへの不審なアクセス試行があります。
リソースの乗っ取り・内部不正
EC2インスタンスなどが悪意ある外部IPと通信したり、平常時より大きな送信トラフィックを発生させる場合を検知します。例として、平常は静かなインスタンスが夜間に大量の外向き通信を始めたケースです。
マルウェアの侵入・データ漏洩の兆候
未知のドメインへの定期的な接続や、S3オブジェクトへの異常なダウンロード増加を検出します。短時間で大量のGETリクエストが発生するとデータ持ち出しの可能性として警告します。
それぞれの検知は単独では誤検知の可能性がありますが、GuardDutyは複数の信号を組み合わせて精度を高めます。
GuardDutyの運用事例とユースケース
本番環境でのリアルタイム検知と通知
GuardDutyは本番環境の常時監視に向きます。検知した兆候(不審なAPI呼び出しや外部への大量通信)はEventBridgeやSNSで運用担当へ即時通知できます。通知を受けた担当者は、チケット発行や自動化ルールで迅速に対応できます。
インシデント対応の自動化事例
例として、未知のIPへ大量通信が見つかった場合、EventBridge→Lambdaで当該インスタンスのネットワークを隔離したり、セキュリティグループを一時的に制限することが可能です。さらにStep Functionsで確認と復旧の手順を自動化できます。
ポリシー違反や誤設定の早期発見
GuardDutyは公開S3や過剰なセキュリティグループ、盗用されたIAMキーの利用なども検知します。こうした検知は設定ミスの発見につながり、人的ミスの被害を小さくできます。
他サービスとの連携で深掘り分析
Security HubでGuardDutyの所見を集約し、Inspectorでホスト脆弱性、MacieでS3内の機微データ検出と組み合わせると、より包括的な調査ができます。SIEMへ転送して長期的な相関分析も行えます。
運用上のポイント
重要度に応じたアラート振り分け、ノイズ低減のためのチューニング(フィードバック)、定期的な模擬演習と手順書整備が効果的です。マルチアカウント運用では組織単位での検知集約と委任設定を行うと管理が楽になります。
代表的なユースケースまとめ
- 不正アクセスの早期検知と隔離
- 誤設定(公開ストレージや開放ポート)の発見
- 盗用されたIAMキーによる不正操作の追跡
- Security Hubや他サービスと連携した総合的なインシデント対応
これらの運用により、検知から対応までの時間を短縮し、被害を最小限に抑えることが可能です。
GuardDutyと他サービスの違い
概要
GuardDutyは脅威の検知に特化したサービスです。ネットワーク通信やAPIの挙動、DNSのパターンを継続的に監視して、不正アクセスやマルウェアの兆候を検出します。一方、Inspectorはサーバーやコンテナの内部を点検して脆弱性や設定ミスを見つけるツール、Security Hubは各種検出結果やコンプライアンス情報を集約して管理するダッシュボードです。
機能の違い(わかりやすい例)
- GuardDuty:夜間に外部からの不審なログイン試行や、外部と不自然に通信するプロセスを検知します。例:短時間に多数のSSH失敗や未知のサーバーへの通信。
- Inspector:サーバーのOSやライブラリに脆弱性がないかを調べます。例:古いApacheに既知の脆弱性があるかどうかを診断します。
- Security Hub:GuardDutyやInspectorの検出結果を一画面で表示します。例:あるEC2でInspectorが脆弱性を報告し、同時にGuardDutyが外部通信を検知した場合、両方を関連付けて見やすくします。
使い分けのポイント
- まず脅威を早く見つけたいならGuardDutyを有効化します。リアルタイム性が重要です。
- システムの弱点を洗い出したいならInspectorで定期的に診断します。
- 複数の検出結果やコンプライアンスの状況を一元管理したいならSecurity Hubを使います。
運用上の注意
GuardDutyは検知に特化するため、検出結果は調査や対処につなげる運用が必要です。Security Hubと連携してアラートを集約し、Inspectorの診断結果と合わせて修正計画を立てると効果的です。必要に応じて自動化ルールで対応を進めると運用負荷を下げられます。
最新機能・進化と今後の展開
現在の進化状況
GuardDutyは地域対応の拡大や脅威インテリジェンスの追加によって、検出範囲を広げています。新しいクラウドサービス(例:RDSやECS)への対応も進み、監視対象が増えています。これにより、より多様な攻撃パターンを早期に把握できます。
Runtime Monitoring の特徴
Runtime MonitoringはEC2のOSレベルでファイルアクセスやプロセスの動きを監視します。例えば、不審なプロセスが突然外部と通信したり、重要ファイルが不正に書き換えられた場合に検知できます。挙動を詳しく見ることで、単なる異常検出を超えた原因特定がしやすくなります。
RDS Protection の強化
RDS ProtectionはAuroraなどのデータベースに対する不正アクセスや疑わしいクエリの検知に対応します。データベース特有の操作を監視するため、不審なログイン試行や権限の乱用を見つけやすくなります。運用者は早期に対処して被害を抑えられます。
マルウェア対策の追加
オンデマンドでのマルウェアスキャン機能が加わり、ファイルやイメージの状態を必要に応じて確認できます。定期的なスキャンと必要時の即時スキャンを組み合わせることで安心感が高まります。
今後の展望
今後は対応サービスのさらなる拡大、検出精度の向上、アラートのノイズ低減や自動対応の強化が期待されます。運用面では、検知結果をわかりやすく提示するダッシュボードや、調査を助ける詳細なトレースが一層重要になります。
GuardDutyの導入方法と運用ポイント
導入の手順(コンソールから簡単に)
- AWSコンソールでGuardDutyに移動し「有効化」をクリックします。数分で検知が開始します。
- 組織で一括管理する場合は、管理アカウントを設定してメンバーアカウントを招待します。これにより一元的に結果を確認できます。
初期設定のポイント
- 収集するログを確認します。代表例はCloudTrail(API操作)、VPCフローログ(ネットワーク通信)、DNSログ(名前解決)です。
- 閾値や信頼できるIPのホワイトリストを整備し、誤検知を減らします。
検知結果のエクスポートと連携
- 検知はJSON形式で出力できます。S3へエクスポートして長期保存や外部SIEMと連携できます。
- EventBridge(旧CloudWatch Events)を使い、検知時にSNSやLambdaを呼んで自動対応やチケット発行を行えます。
運用とコスト管理
- 課金は監視対象やログ量に応じます。不要なログを増やさない、監視対象を絞るなどで抑制できます。
- 定期的に利用状況やアラートの妥当性を見直し、設定をチューニングしてください。
運用体制と手順整備
- 発生時の対応手順(Runbook)と担当者をあらかじめ決めます。模擬演習で手順を確認すると効果的です。
- アクセス権限は最小権限で設定し、ログや検知結果の閲覧権限を管理します。
これらを実施すると、GuardDutyの検知を実用的に活用でき、誤検知を抑えつつ迅速に対応できます。












