【AWSサービス 基礎編】Amazon GuardDuty で脅威検出を有効化し検出結果を確認する

目次

概要

AWS 環境に対する不正アクセスやマルウェア感染などの脅威は、早期に検知しなければ被害が拡大します。しかし、膨大なログを手動で分析して脅威を見つけ出すのは現実的ではありません。

Amazon GuardDuty は、AWS 環境内の脅威を継続的に監視・検出するマネージドサービスです。AWS CloudTrail のイベントログ、VPC フローログ、DNS クエリログなどの複数のデータソースを機械学習と脅威インテリジェンスで分析し、不審なアクティビティを自動的に検出します。エージェントのインストールやログの手動設定は不要で、有効化するだけで脅威検出を開始できます。

本記事では、GuardDuty の基本概念を理解し、有効化から検出結果(Finding)の確認までを体験します。

GuardDuty の全体像: 有効化するだけでログを自動で分析し、脅威を検出結果として知らせる
GuardDuty の全体像: 有効化するだけでログを自動で分析し、脅威を検出結果として知らせる
クラウドおさる

GuardDuty は、AWS アカウントの見張り番でござる。この記事では有効化して、サンプルの検出結果を読むところまで一緒に確かめるでござるよ。

この記事のメリット

  • GuardDuty を有効化し、脅威検出を開始する手順を習得できる
  • 検出結果(Finding)の重要度と種類を理解し、適切に対応する判断基準を把握できる
  • サンプル検出結果を生成して、検出結果の内容と対処方法を事前に確認できる
  • GuardDuty が分析するデータソースの種類と検出できる脅威の範囲を理解できる

執筆者とキャラクター紹介

執筆者:土肥(とひ)

株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。

土肥

クラウドおさる

クラウドおさる

はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。

クラウドおさる

基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。

クラウドおさる

猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。

技術解説

クラウドおさる

とひさん、Amazon GuardDuty とはどんなサービスでござるか?

土肥

GuardDuty は、AWS アカウント内のセキュリティ脅威を継続的に監視する脅威検出サービスだよ。機械学習、異常検出、統合された脅威インテリジェンスを使って、悪意のあるアクティビティや不正な動作を自動的に見つけてくれるんだ。

クラウドおさる

具体的には、どんな脅威を見つけてくれるのでござる?

土肥

主なユースケースとしては、こんなものがあるよ。

  • AWS アカウントの不正利用の検出(漏洩した認証情報の使用など)
  • EC2 インスタンスの侵害検出(マルウェア通信、暗号通貨マイニングなど)
  • S3 バケットへの不審なアクセスの検出
  • 悪意のある IP アドレスや既知の脅威との通信の検出
  • IAM ユーザーの異常な API 操作パターンの検出
クラウドおさる

思った以上に幅広いでござるな!猿山の監視当番も、倉庫の鍵の使われ方、見慣れぬ猿の出入り、夜中の妙な物音と、見る場所がいくつもあるでござる。これだけ見張るには、いろいろなログを読まねばならぬのでは?

土肥

そうだね。GuardDuty は以下のデータソースを自動的に分析してくれるんだ。自分でログの設定や転送を行う必要がないのがポイントだよ。

データソース分析対象検出できる脅威の例
AWS CloudTrail 管理イベントAPI コールの記録異常なリージョンからの API コール、不審な IAM 操作
AWS CloudTrail S3 データイベント(S3 Protection を有効にした場合)S3 オブジェクトレベルの操作S3 バケットへの不審なアクセスパターン
VPC フローログネットワークトラフィックの記録既知の悪意ある IP との通信、ポートスキャン
DNS クエリログDNS リクエストの記録マルウェアの C&C サーバーとの通信
GuardDuty の分析パイプライン: 4 種類のデータソースを読み、検出結果タイプと重要度を付けて出力する
GuardDuty の分析パイプライン: 4 種類のデータソースを読み、検出結果タイプと重要度を付けて出力する
クラウドおさる

ログの設定が要らぬとは助かるでござる。では脅威が見つかったら、どうなるのでござるか?

土肥

GuardDuty が脅威を検出すると、検出結果(Finding)が生成されるよ。各検出結果には以下の情報が含まれているんだ。

要素説明
重要度Critical(重大)、High(高)、Medium(中)、Low(低)の 4 段階
検出結果タイプ脅威の種類を示す識別子(例: UnauthorizedAccess:EC2/MaliciousIPCaller.Custom)
影響を受けるリソース脅威に関連する AWS リソース
アクション検出のトリガーとなったアクションの詳細
アクター脅威の発生元(IP アドレス、ユーザーなど)
クラウドおさる

検出結果タイプの名前、長くて呪文のようでござる…。何か決まりがあるのでござるか?

土肥

いい質問だね。検出結果タイプは 脅威目的:リソースタイプ/脅威名 という形式で命名されているんだ。

要素例
脅威目的UnauthorizedAccess、Recon、Trojan、CryptoCurrency
リソースタイプEC2、S3、IAMUser
脅威名MaliciousIPCaller、PortProbeUnprotectedPort
土肥

例えば CryptoCurrency:EC2/BitcoinTool.B なら、EC2 インスタンスが暗号通貨マイニングに関連する通信を行っていることを示しているんだよ。

クラウドおさる

なるほど、コロンとスラッシュで区切って読めばよいのでござるな!では重要度の 4 段階は、どう使い分けるのでござる?

土肥

それぞれの重要度レベルと対応の目安はこんな感じだよ。

重要度数値範囲対応の目安
Critical(重大)9.0 〜 10.0最優先で対応が必要。攻撃シーケンスが進行中か、最近発生した可能性がある
High(高)7.0 〜 8.9即座に対応が必要。リソースが侵害されている可能性が高い
Medium(中)4.0 〜 6.9調査が必要。予期しないアクティビティが発生している
Low(低)1.0 〜 3.9確認推奨。不審だが直接的な被害は低い
クラウドおさる

High が出たら、すぐに動かねばならぬのでござるな…。ちなみに、GuardDuty の基本機能のほかにも何かあるのでござるか?

土肥

GuardDuty には基本機能に加えて、追加の保護プランが用意されているよ。

保護プラン対象
S3 ProtectionS3 のデータイベントを監視し、不審なアクセスを検出
EKS ProtectionEKS クラスターの監査ログを分析し、不審なアクティビティを検出
Malware ProtectionEC2 インスタンスや ECS コンテナにマルウェアがないかスキャン
RDS ProtectionRDS のログインアクティビティを監視し、不審なアクセスを検出
Lambda ProtectionLambda 関数のネットワークアクティビティを監視
Runtime MonitoringEC2、ECS、EKS のランタイムアクティビティを監視
クラウドおさる

必要に応じて、見張る範囲を広げられるのでござるな。では実際に、GuardDuty を有効化してみるでござる!

新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方も募集しています。異業種や文系からインフラエンジニアになり活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

実践

ハンズオンガイド9 ステップ画面 7 枚

コンソールの横に開いて、チェックしながら進めましょう。

ガイドを開く

別タブで開きます。チェックはこのブラウザに保存されます。

前提条件

  • リージョン: ap-northeast-1(東京)
  • IAM ユーザーまたはロールに GuardDuty の操作権限があること

作成するリソース一覧

リソース種別リソース名用途
GuardDuty ディテクター(自動生成)脅威検出の有効化

ステップ1: GuardDuty の有効化

AWS マネジメントコンソールにログインし、リージョンが ap-northeast-1(東京)であることを確認します。

上部の検索バーに GuardDuty と入力し、表示された「GuardDuty」を選択します。

GuardDuty の開始画面が表示されます。右上の「今すぐ始める」をクリックします。

GuardDuty の開始画面(「今すぐ始める」ボタンが表示されている状態)
GuardDuty の開始画面(「今すぐ始める」ボタンが表示されている状態)

「GuardDuty にようこそ」画面に切り替わり、GuardDuty が使うサービスのアクセス許可と、有効になる保護プランの説明が表示されます。内容を確認し、「GuardDuty を有効にする」をクリックします。

有効化が完了すると「要約」画面に切り替わり、GuardDuty が有効になったことを示すメッセージが表示されます。この時点では、まだ検出結果はありません。

GuardDuty 有効化直後の「要約」画面
GuardDuty 有効化直後の「要約」画面

ステップ2: 有効化されたことを確認する

左側ナビゲーションの「保護プラン」を選択します。

一覧の先頭にある「Foundational GuardDuty」が「有効」になっていることを確認します。CloudTrail 管理イベント、VPC フローログ、DNS クエリログの分析はこの基本の検出に含まれており、ログの出力先や転送を自分で設定する必要はありません。

保護プラン画面(Foundational GuardDuty が有効になっている状態)
保護プラン画面(Foundational GuardDuty が有効になっている状態)
クラウドおさる

ログの転送設定を何もしていないのに、もう基本の検出が動いているでござるな。技術解説で見た「有効化するだけ」が、ここで確かめられたでござる。

ステップ3: 保護プランの確認

同じ「保護プラン」画面を下にスクロールし、各保護プランの状態を確認します。

初めて有効化した直後は、S3 Protection、EKS 監査ログ、RDS ログインアクティビティ、Lambda ネットワークアクティビティなどが「有効」になっており、Runtime Monitoring などは「無効」のままです。多くの保護プランには 30 日間の無料トライアルの表示が付いています。

保護プランの有効・無効は、画面右上の「Configure all enablements」から切り替えられます。今回はデフォルトのままにします。

保護プランの一覧画面(各プランのステータスが表示されている状態)
保護プランの一覧画面(各プランのステータスが表示されている状態)

ステップ4: サンプル検出結果の生成

GuardDuty は実際の脅威がなければ検出結果を生成しません。動作確認のために、サンプル検出結果を生成します。

左側ナビゲーションの「設定」を選択します。

画面の中ほどにある「検出結果のサンプル」セクションで、「検出結果サンプルの生成」をクリックします。

「検出結果サンプルの生成」ボタンの位置
「検出結果サンプルの生成」ボタンの位置

確認ダイアログが表示されるので、「Generate sample findings」をクリックします。検出結果タイプごとにサンプルが 1 件以上作られます。今回は 20 秒ほどで生成されました。

ステップ5: 検出結果の確認

左側ナビゲーションの「検出結果」を選択します。

サンプル検出結果の一覧が表示されます。サンプルのタイトルには「[例]」が付いています。一覧では、各検出結果について以下の情報を確認できます。

  • タイトル
  • 重要度(高・中・低などのバッジ)
  • 検出結果タイプ
  • 影響を受けるリソース
  • 最終アクセス日時
検出結果一覧画面(サンプル検出結果が表示されている状態)
検出結果一覧画面(サンプル検出結果が表示されている状態)

ステップ6: 検出結果の詳細確認

検出結果一覧から任意の検出結果のタイトルをクリックすると、画面の右側に詳細パネルが開きます。

詳細パネルには以下の情報が表示されます。

  • パネル上部: タイトル、重要度、説明
  • 概要: 検出結果タイプ、重要度、リージョン、作成日時など
  • 影響を受けるリソース: リソースの種類、ID、タグなどの情報

その下に、検出結果の種類に応じたリソースやネットワークの詳細が続きます(一部の見出しは英語で表示されます)。

検出結果の詳細パネル(概要・影響を受けるリソースのセクションが表示されている状態)
検出結果の詳細パネル(概要・影響を受けるリソースのセクションが表示されている状態)
クラウドおさる

詳細パネルは、上部の説明で「何が起きたか」、影響を受けるリソースで「どこがやられたか」と順に読むと迷わぬでござる。

ステップ7: 検出結果のアーカイブ

対処済みの検出結果はアーカイブして整理できます。

検出結果一覧で対象の検出結果のチェックボックスを選択すると、「アクション」が押せるようになります。「アクション」→「アーカイブ」をクリックします。

アーカイブされた検出結果は、一覧上部の「ステータス」で「最近」から「アーカイブ済み」に切り替えると確認できます。

まとめ

  • Amazon GuardDuty は、AWS 環境の脅威を継続的に監視するマネージドサービスで、有効化するだけで脅威検出を開始できる
  • CloudTrail 管理イベント、VPC フローログ、DNS クエリログを自動的に分析し、追加のログ設定は不要である
  • 検出結果は Critical / High / Medium / Low の 4 段階の重要度で分類され、脅威の種類、影響リソース、発生元の情報が含まれる
  • 検出結果タイプは 脅威目的:リソースタイプ/脅威名 の命名規則で分類されている
  • S3 Protection、EKS Protection、Malware Protection などの追加の保護プランで検出範囲を拡張できる
  • サンプル検出結果を生成して、検出結果の内容と対処フローを事前に確認できる

参照先

キャリア相談
クラウドおさる

独学の先に、AWS の仕事がある ── ジュニアおさるのキャリア相談

CLF には受かったけれど、次に何をすればいいのか分からない。独学で AWS を学ぶジュニアおさるの相談に、株式会社ジェニュイン代表の土肥が答えています。

  • ✓資格はゴールか、CLF の次に何から手を付けるか
  • ✓EC2 の次に作ってみる構成と、IaC・コスト管理
  • ✓実務経験ゼロでも、面接で話せる「これまで」の作り方
新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方も募集しています。異業種や文系からインフラエンジニアになり活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社ジェニュイン(https://genuine-pt.jp)の代表取締役.

2018年〜インフラエンジニアとしてキャリアをスタートし、オンプレミスのネットワーク・サーバ環境で3年半、クラウド環境で4年半の8年間エンジニアとして従事。
2021年に佐藤氏の創業した株式会社Luxyを引き継ぎ、代表に就任。
その後アガルートグループ内の株式会社ジェニュインと合併。
合併後同社代表に就任。

目次