Amazon GuardDutyでセキュリティ強化

最終更新日:2026年8月10日

この記事でわかること

はじめに

項目 AWS Microsoft Azure Google Cloud
世界シェア 約33%(首位) 約22% 約11%
強み サービス数・実績 Microsoft製品連携 データ分析・AI
無料枠 12ヶ月+常時無料 12ヶ月無料 常時無料枠あり
主な資格 CLF / SAA / SAP AZ-900 / AZ-104 ACE / PCA

AWSのサービスEC2では手軽にサーバをクラウド上に作成することができます。
ただ近年ではセキュリティーに関して、クラウドで運用するインスタンスは個人で守らなければなりません。
ちょっと軽い気持ちで初めてみて、セキュリティ設定などを疎かにしてしまうと、大事故に繋がりかねません。
そこで本記事では、AWSのセキュリティソリューションである「Amazon GuardDuty」について紹介させて頂きたいと思います。
AWSのセキュリティーが心配という方やこれからAWSを始める方などは是非本記事を一読して頂きたいと思います。

Amazon GuardDutyとは?

Amazon GuardDutyとはAWSのアカウントやワークロードを継続的に監視し、分析して、脅威を検知してくれるソリューションです。課金制で、AWSを利用していたら誰でも利用でき、ソフトウェアのインストールなども不要です。AWSでは数クリックで手軽に誰でもサーバを構築することができます。その利便性からセキュリティー設定を怠ってしますと、不正にログインされて、高額な使用量を請求されるということになりかねません。実際に起こったケースは、AWS上に検証環境を作って、開発者用のアカウントをチームで使い回していた結果、アカウント情報が洩れて、不正にログインされたケースです。検証環境はセキュリティー上軽視されやすいので、標的にされやすいです。またセキュリティー設定まで手が回らない使い始めの人も標的にされやすいです。こういう場合にAmazon GuardDutyが効力を発揮してきます。

Amazon GuardDutyでできること?

総合的な脅威の特定

まず総合的に脅威の特定をしてくれます。AWS CloudTrail(アカウントのアクティビティログ)、Amazon VPCフローログ(IPトラフィックのログ)、DNSログなどの各種AWSのログを自動で収集したものやAWS、CrowdStrikeなどと統合された既存の脅威情報を活用し、機械学習させ、脅威を検知します。こうすることで通常の利用とは異なるリクエストなどを検知したり、不正なIPアドレスを検知させることが可能です。また不正に行われた仮想通貨のマイニング(仮想通貨のデータ整合性を保つための計算作業、正しい計算をした者に報酬がもらえる)などを検知することが可能です。実際に検知された場合の異常なアクティビティタイプと内容を何点か挙げます。

タイプ:Backdoor:EC2/DenialOfService.Tcp
内容:EC2 インスタンスが、TCP プロトコルを使用したサービス拒否 (DoS) 攻撃の実行に利用されている可能性がある。
タイプ:Stealth:IAMUser/PasswordPolicyChange
内容:アカウントの パスワードポリシーが弱化 された。
タイプ:Trojan:EC2/DropPoint!DNS
内容:EC2 インスタンスは、マルウェア によって収集された認証情報やその他の盗難されたデータによって認識されているリモートホストのドメイン名をクエリしている。

上述のようにDos攻撃やパスワードポリシーの変更、不正な認証情報などを検出してくれるようです。

実際に異常を検出した事例

実際には悪意のあるサイバー攻撃ではなくても、何かしらのアクションを起こした結果、GuardDutyが異常を検出することがあります。ここではそういった事例を紹介したいと思います。

UnauthorizedAccess:IAMUser/UnusualASNCaller検出

この異常はアクティビティが通常と異なるIPアドレスから呼び出された場合に発生します。事例では、普段オフィスで利用しているIAMユーザーが外出先からモバイルルーターを利用してアクセスした際に検出されたようです。近年ではテレワークなど、オフィス以外の場所から業務にアクセスする働き方も広がっています。自宅のPCなどから(普段使っている端末以外)AWSにログインした際に検出されることがありますので、注意が必要です。実際に悪意のある攻撃の可能性もありますので、このエラーが発生した場合は、リソースに対して勝手に変更が加えられていないかなどを確認した方が良いでしょう。

Backdoor:EC2/Spambot検出

この異常は、EC2インスタンスがポート25でリモートホストと通信した場合に起こります。
EC2ではポート25は、スパムメール対策のためデフォルトで送信制限がかかっています。
事例としては、EC2にメールソフトをインストールして、テストメールを送信した際に検出されたようです。インターネットプロバイダ以外のメールソフトをEC2にインストールして利用する場合、送信用ポート25の制限は標準設定となっておりますので注意が必要です。

実際に異常を検出した事例まとめ

上述のように、悪意のある攻撃を検出するというよりは、その可能性を検出してくれることがわかります。異常を検出した際には、VPCフローログでホストのIPアドレスやポートを確認したり、AWS Configを有効化し、リソースの変更履歴を確認したりして異常の原因を特定する必要があります。

他サービスとの連携

Amazon GuardDutyと他サービスを連携させて、脅威発生時の対応を自動化させることができます。Amazon GuardDutyで脅威を検出したら、その脅威レベルに応じてAWS Lambdaを通じてチームのSlackに送信したり、組織内で複数のAWSアカウントやリージョンでシステムを展開している場合には一つのアカウントで検出されたGuardDutyの調査結果を他のアカウントに転送することで、一元管理することが可能です。

Guard Dutyの結果をメールで送る手順

ここでは、実際にGuard Dutyと他サービスの連携として、Guard Dutyの結果をメールで送る手順を紹介したいと思います。Guard Dutyが有効になっていることを前提にします。

Amazon SNSを準備する
  • Amazon SNSコンソールを開きます。
  • 「トピックの作成」セクションで、「トピック名」に名前を入力する。(これが送信者名になります。)
  • 「トピックの作成」を選択し、トピックを作成します。
サブスクリプションを作成する
  • Amazon SNSコンソールから「サブスクリプション」を押下します。
  • トピックARNに先程作成したトピック名を入れます。(自動で入力されています。)
  • プロトコルに「Eメール」を設定します。
  • エンドポイントにメールを送信する対象のEメールアドレスを入力します。
  • 「サブスクリプションの作成」を押下します。
  • 対象のメールアドレスに承認メールが届きますので、承認します。
  • 以上で準備完了になります。
イベントルールの作成

【要注意】コンソール名称の変更について
以前はCloudWatchコンソールの「ルール」からイベントルールを作成していましたが、現在この機能はAmazon EventBridgeに統合されています。最新のコンソールでは「Amazon EventBridge」>「ルール」から同様の設定を行ってください。以下の設定内容自体(イベントパターン等)は現在も考え方は同じです。

  • CloudWatch(またはAmazon EventBridge)コンソールを開きます。
  • 左のナビゲーションペインから「ルール」を押下し、「ルールの作成」を押下します。
  • 「サービス名」に「GuardDuty」を選択します。(プルダウンから探せます。)
  • 「イベントタイプ」に「GuardDuty Finding」を選択します。
  • イベントパターンですが、「サービス名」と「イベントタイプ」を定義した際にデフォルトで、
    { “source”: [ “aws.guardduty” ], “detail-type”: [ “GuardDuty Finding” ] }
    となっております。
    この場合、GuardDutyのアクティビティすべてを検索します。もし重要度が高いもののみ取得したい場合は、
    { “source”: [ “aws.guardduty” ], “detail-type”: [ “GuardDuty Finding” ], “detail” : { “severity”: [ 7.0,7.1,7.2,7.3,7.4,7.5,7.6,7.7,7.8,7.9,8.0,8.1,8.2,8.3,8.4,8.5,8.6,8.7,8.8,8.9 ] } }
    のように設定します。上記は重要度が7.0以上~9.0未満のものを検索します。
  • 「ターゲット」で、「ターゲットの追加」を押下します。
  • ターゲットの種類は、「SNSトピック」にします。
  • 「トピック」に先程作成したトピックを選択します。
  • 右下の「設定の詳細」を押下します。
  • 「名前」と「説明」を入力し、「ルールの作成」を押下します。
GuardDutyの通知テスト
  • GuardDutyコンソールを開き、「設定」を押下します。
  • 「結果のサンプル」セクションで、「結果のサンプルの生成」を押下します。
  • GuardDuty上に異常検出通知が作成されます。(56個)
  • 5分程経って、対象のEメールアドレスにメールが届けば、完了です。

Amazon GuardDuty料金体系

【要注意】料金体系・保護対象の拡張について
Amazon GuardDutyは本記事執筆時点以降、S3 Protection・EKS Protection・Malware Protection・RDS Protection・Lambda Protection・EC2ランタイムモニタリングなど複数の「保護プラン」が追加され、料金体系も当時より複雑化しています。以下の料金・数値は目安であり、最新料金はAWS公式サイトでご確認ください。

Amazon GuardDutyの基本的な料金体系は、分析されたAWS CloudTrailイベントの数量と、分析されたAmazon VPC Flow LogおよびDNS Logデータの量に応じて課金されます。

AWS CloudTrailはイベント100万件あたり4.00USD、VPCフローログとDNSログの目安は以下の通りです(最新料金はAWS公式サイトでご確認ください)。

最初の500GB 1GBあたり 1.00USD
次の2000GB 1GBあたり 0.50USD
次の7500GB 1GBあたり 0.15USD
10000GBを超えた場合 1GBあたり 0.15USD

利用量は会社の規模や自社のサービス利用者などによっても変わってきますので、
30日間の無料サービスを利用して確認するのが良いでしょう。

押さえておきたいポイント

  • Amazon GuardDutyはCloudTrail・VPCフローログ・DNSログなどを機械学習で分析し、不正アクセスや不正なIPアドレス、仮想通貨マイニングなどの脅威を検知するマネージドサービス。
  • 検知結果はAWS LambdaやAmazon SNSと連携させることで、Slack通知やメール通知など脅威発生時の対応を自動化できる。
  • 異常検出はテレワーク等の正常な利用でも発生しうるため、検出時はVPCフローログやAWS Configで原因を確認する運用が重要。
  • 料金体系や保護プランの範囲は導入時点のAWS公式情報で必ず最新版を確認する。

よくある質問

Q. Amazon GuardDutyを有効化するとソフトウェアのインストールは必要ですか?

不要です。Amazon GuardDutyはAWSアカウント上で有効化するだけで利用できるマネージドサービスで、エージェントのインストールなどは必要ありません。

Q. GuardDutyは無料で試せますか?

30日間の無料トライアルが用意されています。実際の利用量に応じた料金感を確認したうえで本格導入するのがおすすめです。正式な料金体系はAWS公式サイトでご確認ください。

Q. 異常が検出されたら必ず攻撃を受けているということですか?

必ずしもそうとは限りません。普段と異なる場所からのログインや、EC2にメールソフトを導入してテスト送信した場合など、正当な操作でも異常として検出されることがあります。検出時はVPCフローログやAWS Configの変更履歴などで原因を確認することが重要です。

さいごに

いかがでしたでしょうか?
AWSのサービスを利用する上でGuardDutyはとても信頼できるセキュリティーソリューションです。
また他サービスと連携することで、任意で脅威発生時のアクションを自動化することが可能ですので、
運用コストを削減することが期待できます。AWS上のリソースを守るために導入してみてはいかがでしょうか?
まずは30日間の無料トライアルもありますので、使用感を確認したり、どれくらいの費用がかかるかを確認してみるのが良いかと思います。以上です。ありがとうございました。

▼ アクロビジョンについて

👔

一緒に働きましょう

一人ひとりのキャリアに向き合い、
活躍できる現場をご紹介します。

採用サイトを見る →
💻

システム開発のご依頼・ご相談

コンサルティングから運用保守まで、
ワンストップで対応します。

まずはお気軽にご相談ください →

前の記事

Amazon Linux 2 ってどんなOS?

次の記事

Amazon Cloud9の基本