はじめてみる GuardDuty - Amazon GuardDuty

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

はじめてみる GuardDuty

このチュートリアルでは、の実践的な紹介を行います。 GuardDuty GuardDuty GuardDuty AWS Organizations スタンドアロンアカウントまたは管理者としてを有効にする場合の最小要件は、ステップ 1 で説明しています。ステップ 2 ~ 5 では、 GuardDuty 調査結果を最大限に活用するために推奨されている追加機能の使用について説明します。

開始する前に

GuardDuty は、 AWS CloudTrail イベントログ、 AWS CloudTrail 管理イベント、Amazon VPC フローログ、DNS 基礎データソース ログなどを監視する脅威検出サービスです。 GuardDuty また、保護タイプに関連する機能は、個別に有効にした場合にのみ分析されます。機能には、Kubernetes 監査ログ、RDS ログインアクティビティ、S3 ログ、EBS ボリューム、ランタイムモニタリング、Lambda ネットワークアクティビティログが含まれます。これらのデータソースと機能 (有効になっている場合) を使用すると、 GuardDuty アカウントのセキュリティ結果が生成されます。

有効にすると GuardDuty、環境の監視が開始されます。 GuardDuty どのリージョンのどのアカウントでも、いつでも無効にできます。これにより、基盤となるデータソースや、 GuardDuty 個別に有効化されていた機能の処理が停止されます。

基礎データソース のいずれかを明示的に有効にする必要はありません。Amazon GuardDuty は独立したデータストリームをこれらのサービスから直接引き出します。 GuardDuty 新しいアカウントでは、 AWS リージョン でサポートされているすべての保護タイプがデフォルトで有効になり、30 日間の無料トライアル期間に含まれます。それらのいずれか、またはすべての設定をオプトアウトできます。 GuardDuty 既存のお客様は、で利用できる保護プランの一部またはすべてを有効にするかを選択できます。 AWS リージョン詳細については、「各保護タイプに関連する機能」を参照してください GuardDuty。

有効にするときには GuardDuty、以下の点を考慮してください

  • GuardDuty はリージョナルサービスです。つまり、このページで説明する設定手順はすべて、監視対象の各リージョンで繰り返す必要があります GuardDuty。

    GuardDuty AWS サポートされているすべてのリージョンで有効にすることを強くお勧めします。これにより GuardDuty 、あまり使用していないリージョンでも、不正なアクティビティや異常なアクティビティに関する調査結果を生成できます。これにより GuardDuty 、IAM AWS CloudTrail AWS などのグローバルサービスのイベントを監視することもできます。 GuardDuty サポートされているすべてのリージョンで有効になっていない場合、グローバルサービスが関与するアクティビティを検出する能力が低下します。利用可能なリージョンの全リストについては、を参照してくださいリージョンとエンドポイント。 GuardDuty

  • AWS アカウントの管理者権限を持つユーザーなら誰でも有効にできますが GuardDuty、最小権限というセキュリティのベストプラクティスに従って、 GuardDuty 特別に管理する IAM ロール、ユーザー、またはグループを作成することをお勧めします。有効化に必要な権限については、 GuardDuty を参照してくださいGuardDuty の有効化に必要な許可

  • GuardDuty いずれかを初めて有効にすると AWS リージョン、デフォルトで、マルウェア対策など、その地域でサポートされているすべての保護タイプも有効になります。 GuardDuty というサービスにリンクされたロールをアカウントに作成します。AWSServiceRoleForAmazonGuardDutyこのロールには、 GuardDuty 基礎データソースからのイベントを直接使用および分析してセキュリティ結果を生成するための権限と信頼ポリシーが含まれます。Malware Protection は、別のサービスにリンクされた AWSServiceRoleForAmazonGuardDutyMalwareProtection という名前のロールをアカウントに作成します。この役割には、Malware Protection がエージェントレススキャンを実行してアカウント内のマルウェアを検出できるようにする権限と信頼ポリシーが含まれます。 GuardDuty これにより、 GuardDuty アカウントに EBS ボリュームスナップショットを作成し、そのスナップショットをサービスアカウントと共有できます。 GuardDuty 詳細については、「サービスにリンクされたロールの権限 GuardDuty」を参照してください。サービスにリンクされたロールの詳細については、「サービスリンクロールの使用」を参照してください。

  • GuardDuty いずれかのリージョンで初めて有効化すると、 AWS アカウントはそのリージョンの 30 GuardDuty 日間の無料トライアルに自動的に登録されます。

ステップ 1: Amazon 有効にする GuardDuty

使用するための最初のステップは GuardDuty 、アカウントで有効化することです。 GuardDuty有効にすると、現在の地域のセキュリティ脅威の監視がすぐに開始されます。

GuardDuty GuardDuty 組織内の他のアカウントの調査結果を管理者として管理したい場合は、 GuardDuty メンバーアカウントを追加して有効にする必要があります。オプションを選択して、 GuardDuty ご使用の環境に合わせて有効にする方法を確認してください。

Standalone account environment
  1. https://console.aws.amazon.com/guardduty/ GuardDuty でコンソールを開きます。

  2. [今すぐ始める] を選択します。

  3. [有効化] を選択します GuardDuty。

Multi-account environment
重要

このプロセスの前提条件として、管理対象のすべてのアカウントと同じ組織に所属し、 AWS Organizations 組織内の管理者を委任するには管理アカウントへのアクセス権を持っている必要があります。 GuardDuty 管理者の委任には追加の許可が必要になる場合があります。詳細については、「 GuardDuty 委任された管理者アカウントを指定するために必要な権限」を参照してください。

委任された管理者アカウントを指定するには GuardDuty

  1. 管理アカウントを使用して https://console.aws.amazon.com/organizations/ AWS Organizations のコンソールを開きます。

  2. https://console.aws.amazon.com/guardduty/ GuardDuty でコンソールを開きます。

    GuardDuty アカウントですでに有効になっていますか?

    • まだ有効になっていない場合は GuardDuty 、「はじめに」を選択し、「ようこそ」 GuardDuty ページで委任管理者を指定できます。 GuardDuty

    • GuardDuty が有効な場合は、 GuardDuty 設定ページで委任管理者を指定できます。

  3. 組織の委任管理者として指定するアカウントの 12 AWS 桁のアカウント ID を入力し、[ GuardDuty 委任] を選択します。

    注記

    まだ有効になっていない場合は GuardDuty 、委任管理者を指定すると、 GuardDuty 現在の地域でそのアカウントが有効になります。

メンバーアカウントを追加するには

この手順では、 GuardDuty を使用してメンバーアカウントを委任された管理者アカウントに追加する方法について説明します。 AWS Organizations招待でメンバーを追加するオプションもあります。メンバーを関連付ける両方の方法の詳細については GuardDuty、を参照してください。Amazon での複数のアカウントの管理 GuardDuty

  1. 委任された管理者のアカウントにログイン

  2. https://console.aws.amazon.com/guardduty/ GuardDuty でコンソールを開きます。

  3. ナビゲーションパネルで [設定] を選択してから、[アカウント] を選択します。

    アカウントの一覧に組織内のすべてのアカウントが表示されます。

  4. アカウント ID の横にあるチェックボックスを選択し、メンバーとして追加したいアカウントを選択します。その後、[アクション] メニューから、[メンバーの追加] を選びます。

    ヒント

    新しいアカウントをメンバーとして追加するには、[Auto-enable] (自動有効化) の機能をオンにします。ただし、この機能は、機能を有効にした後に組織に参加したアカウントにのみ適用されます。

ステップ 2: サンプル検出結果を生成し、ベーシックなオペレーションの詳細を確認する

GuardDuty セキュリティ上の問題が発見されると、結果が生成されます。 GuardDuty 調査結果は、その固有のセキュリティ問題に関する詳細を含むデータセットです。検出結果の詳細を使用して、問題の調査に役立てることができます。

GuardDuty プレースホルダー値を含むサンプル結果の生成をサポートします。これを使用すると、によって発見された実際のセキュリティ問題に対応する必要が生じる前に、 GuardDuty 機能をテストし、調査結果に慣れることができます。 GuardDuty以下のガイドに従って GuardDuty、で利用可能な検出タイプごとにサンプル結果を生成してください。アカウント内でシミュレートされたセキュリティイベントを生成するなど、サンプル結果を生成するその他の方法については、を参照してください。サンプルの検出結果

サンプル検出結果を作成して調査するには

  1. ナビゲーションペインで [設定] を選択します。

  2. [設定] ページの [結果のサンプル] で、[結果サンプルの生成] を選択します。

  3. ナビゲーションペインで [Summary] を選択すると、 AWS ご使用の環境で生成された結果に関するインサイトが表示されます。概要ダッシュボードのコンポーネントの詳細については、「[要約] ダッシュボード」を参照してください。

  4. ナビゲーションペインで [結果] を選択します。[Current findings] (最近の結果) ページに [SAMPLE] とプレフィックスされたサンプル検出結果が表示されます。

  5. リストから検出結果を選択して、検出結果の詳細を表示します。

    1. 検出結果の詳細ペインで使用可能なさまざまな情報フィールドを確認できます。検出結果のタイプが異なると、フィールドが異なる場合があります。すべての検出結果タイプで使用可能なフィールドの詳細については、「検出結果の詳細」を参照してください。詳細ペインから、次のアクションを実行できます。

      • ペインの一番上の [結果 ID] を選択し、検出結果のための完全な JSON 詳細を開きます。完全な JSON ファイルは、このパネルからダウンロードすることもできます。JSON には、コンソールビューに含まれない追加情報が含まれており、他のツールやサービスで取り込むことができる形式です。

      • [影響を受けるリソース] セクションを表示します。実際の調査結果では、この情報はアカウント内の調査が必要なリソースを特定するのに役立ち、 AWS Management Console 適切な実行可能なリソースへのリンクも含まれています。

      • 「+」または「-」の虫眼鏡アイコンを選択して、その詳細の包括的または排他的なフィルターを作成します。検出結果フィルターの詳細については、「検出結果のフィルタリング」を参照してください。

  6. サンプル検出結果をすべてアーカイブする

    1. リストの上部にあるチェックボックスを選んで、すべての検出結果を選択します。

    2. 保持したい検出結果を選択解除します。

    3. [アクション] メニューを選択し、[アーカイブ] をクリックして、サンプルの検出結果を非表示にします。

      注記

      Actions メニューを見るために、[最新] を選択し、検出結果ビューを切り替えるために [アーカイブ] を選択してください。

ステップ 3: GuardDuty 結果を Amazon S3 バケットにエクスポートするように設定する

GuardDuty 結果をエクスポートするように設定することをお勧めします。これにより、結果を S3 バケットにエクスポートして GuardDuty 90 日間の保存期間を過ぎても無期限に保存できるようになるからです。これにより、調査結果を記録したり、環境内の問題を長期にわたって追跡したりできます。 AWS ここで概説するプロセスでは、新しい S3 バケットをセットアップし、コンソール内から検出結果を暗号化するための新しい KMS キーを作成する手順を説明します。独自の既存のバケットや別のアカウントのバケットを使用する方法などの詳細については、「検出結果のエクスポート」を参照してください。

S3 エクスポート検出結果を設定するには
  1. 結果を暗号化するには、 GuardDuty そのキーを暗号化に使用することを許可するポリシーを含む KMS キーが必要です。次の手順は、新しい KMS キーの作成に役立ちます。別のアカウントの KMS キーを使用している場合は、 AWS アカウント キーを所有しているアカウントにログインしてキーポリシーを適用する必要があります。KMS キーのリージョンおよび S3 バケットは同じである必要があります。ただし、検出結果をエクスポートするリージョンごとに、これと同じバケットとキーのペアを使用できます。

    1. https://console.aws.amazon.com/kms AWS KMS でコンソールを開きます。

    2. を変更するには AWS リージョン、ページの右上隅にあるリージョンセレクターを使用します。

    3. ナビゲーションペインで、[カスタマーマネージドキー] を選択します。

    4. [Create key] (キーの作成) を選択します。

    5. [キーのタイプ] の [対称] を選択してから、[次へ] を選択します。

      注記

      詳細については、「AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。

    6. キーの [エイリアス] を指定し、[次へ] を選択します。

    7. [次へ] を選択し、再度 [次へ] を選択して、デフォルトの管理許可と使用許可を承諾します。

    8. 設定を [確認] した後、[完了] を選択してキーを作成します。

    9. [顧客管理キー] ページで、キーエイリアスを選択します。

    10. [キーポリシー] セクションで、[ポリシービューへの切り替え] を選択します。

    11. [編集] を選択し、KMS キーに次のキーポリシーを追加して、 GuardDuty キーへのアクセスを許可します。このステートメントでは GuardDuty 、このポリシーを追加したキーのみを使用できます。キーポリシーを編集するときは、JSON 構文が有効であることを確認してください。最後のステートメントの前にステートメントを追加する場合は、閉じ括弧の後にカンマを追加する必要があります。

      { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:Region1:444455556666:key/KMSKeyId", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:guardduty:Region2:111122223333:detector/SourceDetectorID" } } }

      Region1 を、ご使用の KMS キーのリージョンに置き換えます。444455556666 を KMS AWS アカウント キーを所有するキーに置き換えてください。KMS は、KeyId暗号化対象として選択した KMS キーのキー ID に置き換えてください。リージョン、 AWS アカウントキー ID などのすべての値を識別するには、KMS キーの ARN を表示します。キー ARN を見つけるには、「キー ID と ARN を検索する」を参照してください。

      同様に、111122223333 をアカウントの「」 AWS アカウント に置き換えてください。 GuardDuty Region2 はアカウントのリージョンに置き換えてください。 GuardDuty SourceDetectorID を Region2 GuardDuty のアカウントのディテクタ ID に置き換えます。

      detectorIdアカウントと現在の地域に合うものを見つけるには、https://console.aws.amazon.com/guardduty/ コンソールの「設定」ページを参照してください。

    12. [保存] を選択します。

  2. https://console.aws.amazon.com/guardduty/ GuardDuty でコンソールを開きます。

  3. ナビゲーションペインで [設定] を選択します。

  4. [Findings export options] (結果のエクスポートオプション) の下で、[Configure now] (今すぐ設定) を選択します。

  5. [新規バケット] を選択します。S3 バケットの一意の名前を入力します。

  6. (オプション) サンプル検出結果を生成して、新しいエクスポート設定をテストできます。ナビゲーションペインで [設定] を選択します。

  7. [サンプル検出結果] で、[サンプル調査結果を生成] を選択します。新しいサンプル結果は、最大 5 GuardDuty 分後にによって作成された S3 バケットにエントリとして表示されます。

ステップ 4: SNS GuardDuty によるアラートの検索を設定する

GuardDuty Amazon と統合されているため EventBridge、検出結果データを他のアプリケーションやサービスに送信して処理することができます。 EventBridge GuardDuty 結果を使用すると、 AWS Lambda 関数、Amazon EC2 Systems Manager オートメーション、Amazon Simple Notification Service (SNS) などのターゲットに検索イベントを関連付けることで、結果を使用して結果への自動応答を開始できます。

この例では、 EventBridge ルールのターゲットとなる SNS トピックを作成し、次に SNS EventBridge トピックを使用して結果データをキャプチャするルールを作成します。 GuardDuty結果として得られるルールは、検出結果の詳細をメールアドレスに転送します。検出結果を Slack または Amazon Chime に送信する方法、および送信される検出結果のアラートタイプを変更する方法については、「Amazon SNS トピックおよびエンドポイントの設定」を参照してください。

検出結果アラートの SNS トピックを作成するには

  1. Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を開きます。

  2. ナビゲーションペインで、[トピック] を選択します。

  3. [トピックの作成] を選択します。

  4. [Type] (タイプ) に、[Standard] (標準) を選択します。

  5. [名前] に GuardDuty と入力します。

  6. [トピックの作成] を選択します。新しいトピックのトピック詳細が開きます。

  7. [サブスクリプション] セクションで、[サブスクリプションの作成] を選択します。

  8. [プロトコル] で [E メール] を選択します。

  9. [Endpoint] (エンドポイント) に、通知を送信する先の E メールアドレスを入力します。

  10. [Create subscription] (サブスクリプションの作成) を選択します。

    サブスクリプションを作成した後に、E メールを通してサブスクリプションを確認する必要があります。

  11. サブスクリプションメッセージを確認するには、E メールの受信ボックスに移動して、サブスクリプションメッセージで [Confirm subscription] (サブスクリプションの確認) を選択します。

    注記

    メール確認のステータスを確認するには、SNS コンソールに移動して [Subscriptions] (サブスクリプション) を選択します。

EventBridge GuardDuty 調査結果を取り込んでフォーマットするルールを作成するには

  1. https://console.aws.amazon.com/events/ EventBridge でコンソールを開きます。

  2. ナビゲーションペインで Rules] (ルール) を選択します。

  3. ルールの作成‭ を選択します。

  4. ルールの名前と説明を入力します。

    ルールには、同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

  5. [イベントバス] として、[デフォルト] を選択します。

  6. [ルールタイプ] では、[イベントパターンを持つルール] を選択します。

  7. [Next] (次へ) を選択します。

  8. [Event source] (イベントソース) で、[AWS events] (イベント) を選択します。

  9. [イベントパターン] で、[イベントパターンフォーム] を選択します。

  10. [イベントパターンフォーム] では、AWS [サービス] を選択します。

  11. [AWS のサービス] で、[GuardDuty] を選択します。

  12. [イベントタイプ] で [GuardDuty検索] を選択します。

  13. 次へ をクリックします。

  14. [ターゲットタイプ] では、AWS [サービス] を選択します。

  15. [Select a target] (ターゲットの選択) では、[SNS topic] (SNS トピック) を選択し、[Topic] (トピック) では、以前に作成した SNS トピックの名前を選択します。

  16. [Additional settings] (追加設定) セクションの [Configure target input] (ターゲット入力の設定) では、[Input transformer] (入力トランスフォーマー) を選択します。

    入力トランスフォーマーを追加すると、送信元の JSON GuardDuty 検索データが人間が読めるメッセージにフォーマットされます。

  17. [Configure input transformer] (入力トランスフォーマーの設定) を選択します。

  18. [Target input transformer] (ターゲット入力トランスフォーマー) セクションで、[Input path] (入力パス) に以下のコードを貼り付けます。

    { "severity": "$.detail.severity", "Finding_ID": "$.detail.id", "Finding_Type": "$.detail.type", "region": "$.region", "Finding_description": "$.detail.description" }
  19. メールをフォーマットするには、「テンプレート」に次のコードを貼り付け、赤色のテキストを必ず地域に適した値に置き換えてください。

    "You have a severity severity GuardDuty finding type Finding_Type in the Region_Name Region." "Finding Description:" "Finding_Description." "For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=region#/findings?search=id%3DFinding_ID"
  20. [確認] を選択します。

  21. [次へ] をクリックします。

  22. (オプション) ルールに 1 つ以上のタグを入力します。詳細については、Amazon EventBridge ユーザーガイドの「Amazon EventBridge タグ」を参照してください。

  23. 次へ をクリックします。

  24. ルールの詳細を確認し、[ルールの作成] を選択します。

  25. (オプション) ステップ 2 のプロセスでサンプル検出結果を生成して、新しいルールをテストします。生成されたサンプル検出結果ごとにメールが届きます。

次のステップ

使い続けるうちに GuardDuty、ご使用の環境に関連する調査結果の種類を理解するようになります。新しい検出結果を受け取ったときはいつでも、検出結果の詳細ペイン中の検出結果の記述から [詳細はこちら] を選択することにより、あるいは 検出結果タイプ の検出結果名を探すことにより、その検出結果に関する修復に関するレコメンデーションを含む情報を検索できます。

以下の機能は、 GuardDuty AWS ご使用の環境に最も関連性の高い結果が得られるように調整するのに役立ちます。

  • インスタンス ID、アカウント ID、S3 バケット名などの特定の基準に基づいて結果を簡単に並べ替えるには、フィルターを内部に作成して保存できます GuardDuty。詳細については、「検出結果のフィルタリング」を参照してください。

  • 環境内で予想される動作に関する検出結果を受け取っている場合は、[suppression rules] (抑制ルール) で定義した基準に基づいて検出結果を自動的にアーカイブできます。

  • 信頼できる IP のサブセットから結果が生成されないようにしたり、通常の監視範囲外の IP GuardDuty を監視したりするには、信頼できる IP リストと脅威リストを設定できます