の開始方法 GuardDuty - Amazon GuardDuty

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

の開始方法 GuardDuty

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

開始する前に

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

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

GuardDuty 基礎データソース のいずれかを明示的に有効にする必要はありません。S3 Protection を有効にする場合、Amazon S3 データイベントログ記録を明示的に有効にする必要はありません。同様に、EKS保護を有効にする場合、Amazon EKS 監査ログを明示的に有効にする必要はありません。Amazon は、これらのサービスから直接独立したデータストリーム GuardDuty を取得します。新しい GuardDuty アカウントでは、 でサポートされている利用可能な保護タイプの一部 AWS リージョン が有効になり、デフォルトで 30 日間の無料トライアル期間に含まれます。それらのいずれか、またはすべての設定をオプトアウトできます。が AWS アカウント GuardDuty 有効な既存の がある場合は、リージョンで利用可能な保護プランのいずれかまたはすべてを有効にすることができます。保護プランの概要と、デフォルトで有効になる保護プランについては、「」を参照してくださいの料金 GuardDuty

を有効にするときは GuardDuty、次の項目を考慮してください

  • GuardDuty はリージョンサービスです。つまり、このページで実行する設定手順は、 でモニタリングする各リージョンで繰り返す必要があります GuardDuty。

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

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

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

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

次のビデオでは、管理者アカウントが GuardDuty を使用して、複数のメンバーアカウントで有効にする方法を説明します。

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

を使用する最初のステップ GuardDuty は、アカウントで有効にすることです。有効にすると、 GuardDuty はすぐに現在のリージョンのセキュリティ脅威のモニタリングを開始します。

組織内の他のアカウントの GuardDuty 検出結果を GuardDuty 管理者として管理する場合は、メンバーアカウントを追加して有効にする必要があります GuardDuty 。

注記

を有効にせずに GuardDuty Malware Protection for S3 を有効にする場合は GuardDuty、「」を参照してくださいGuardDuty S3 のマルウェア保護

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

  2. Amazon GuardDuty - すべての機能オプションを選択します。

  3. [開始する] を選択します。

  4. Welcome to GuardDuty ページで、サービス条件を表示します。を有効にする GuardDutyを選択します。

Multi-account environment
重要

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

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

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

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

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

    • がまだ有効 GuardDuty になっていない場合は、「Welcome to GuardDuty」ページで開始方法を選択し、 GuardDuty 委任された管理者を指定できます。

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

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

    注記

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

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

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

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

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

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

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

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

    ヒント

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

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

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

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

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

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

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

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

  4. ナビゲーションペインで [結果] を選択します。サンプル検出結果は、現在の検出結果ページにプレフィックス 〔SAMPLE〕 とともに表示されます。

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

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

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

      • [影響を受けるリソース] セクションを表示します。実際の検出結果では、ここに記載されている情報は、調査すべきアカウント内のリソースを特定するのに役立ちます。また、実用的なリソース AWS Management Console に適した へのリンクも含まれています。

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

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

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

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

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

      注記

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

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

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

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

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

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

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

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

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

      注記

      KMS キーの作成に関する詳細な手順については、「 デベロッパーガイド」の「キーの作成」を参照してください。 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 アカウント する を使用します。置換 KMSKeyId 暗号化用に選択したキーのKMSキー ID を使用します。リージョン AWS アカウント、およびキー ID のすべての値を識別するには、KMSキーARNの を表示します。キーを見つけるにはARN、「キー ID の検索」とARN「」を参照してください。

      同様に、111122223333 AWS アカウント GuardDuty アカウントの を使用します。置換 Region2 アカウントのリージョン GuardDuty。置換 SourceDetectorID の GuardDuty アカウントのディテクター ID を持つ Region2.

      アカウントと現在のリージョンdetectorIdの を検索するには、https://console.aws.amazon.com/guardduty/コンソールの設定ページを参照するか、 ListDetectors API.

    12. [Save] を選択します。

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

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

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

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

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

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

ステップ 4: を使用して GuardDuty 検出結果アラートを設定する SNS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    注記

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

GuardDuty 検出結果をキャプチャしてフォーマットする EventBridge ルールを作成するには

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

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

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

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

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

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

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

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

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

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

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

  11. AWS サービス の場合は、 を選択しますGuardDuty

  12. イベントタイプ で、GuardDuty検出結果 を選択します。

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

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

  15. ターゲットの選択 ではSNSトピック を選択し、トピック では先ほど作成した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. E メールをフォーマットするには、テンプレート で、次のコードを貼り付け、テキストを赤色で、リージョンに適した値に置き換えてください。

    "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 ユーザーガイド」の「Amazon EventBridge タグ」を参照してください。 EventBridge

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

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

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

次のステップ

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

以下の機能は、 AWS 環境に最も関連性の高い検出結果を提供 GuardDuty できるように調整するのに役立ちます。

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

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

  • 信頼された のサブセットから検出結果が生成されないようにIPsしたり、通常のモニタリング範囲外 GuardDuty のモニタリングを行ったIPsりするには、信頼された IP と脅威リスト を設定できます。