サプレッションルール - Amazon GuardDuty

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

サプレッションルール

抑制ルールは、値を組み合わせたフィルタ属性で構成され、指定した条件に一致する結果を自動的にアーカイブして結果をフィルタリングするために使用されます。抑制ルールを使用して、重要ではない結果、誤検出の結果、対応を行わない脅威をフィルタリングすることにより、環境に最も影響があるセキュリティの脅威を認識しやすくなります。

抑制ルールを作成すると、その抑制ルールが適用されている限り、ルールで定義された条件に一致する新しい結果が自動的にアーカイブされます。既存のフィルタを使用してサプレッションルールを作成したり、定義した新しいフィルタからサプレッションルールを作成できます。結果タイプ全体を抑制するようサプレッションルールを設定したり、特定の結果タイプの特定のインスタンスのみを抑制する、よりきめ細かいフィルタ条件を定義したりできます。抑制ルールはいつでも編集できます。

抑制された結果は、AWS Security Hub、Amazon S3、CloudWatch Events には送られないため、GuardDuty の結果を Security Hub やサードパーティーの SIEM、アラート、チケット発行などのアプリケーションで利用する場合に検出のノイズが減ります。

GuardDuty は、抑制ルールに一致している場合でも結果を生成します。ただし、これらの結果は自動的にarchived。アーカイブされた結果は GuardDuty に 90 日間保存され、その期間中いつでも表示することができます。GuardDuty コンソールで抑制された結果を表示するには、アーカイブ済みを使用して結果テーブルから、または GuardDuty API を介してListFindingsAPIfindingCriteriaCriterionservice.archivedtrue に等しいです。

注記

マルチアカウント環境では、GuardDuty 管理者のみが抑制ルールを作成できます。

サプレッションルールおよび例の一般的ユースケース

以下の結果タイプには、抑制ルールを適用したり、結果名を選択して結果の詳細を確認したり、コンソールからその結果タイプに対する抑制ルールを構築するために情報を確認したりするための一般的なユースケースがあります。

重要

GuardDuty では、誤検出を繰り返し特定した結果に対してのみ、抑制ルールをリアクティブに作成することをお勧めします。

  • UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration— VPC Internet Gateway からではなく、オンプレミスゲートウェイからエグレスされるという方法で、VPC ネットワークが設定されている場合に、生成された結果を自動的にアーカイブするために抑制ルールを使用します。

    この結果が生成されるのは、VPC Internet Gateway (IGW) からではなく、オンプレミスゲートウェイからエグレスされるという方法で、インターネットトラフィックがルーティングされるように、ネットワークが設定されている場合です。使用など、一般的な構成AWS Outposts、VPC VPN 接続では、この方法でトラフィックがルーティングされる可能性があります。これが予期した動作である場合は、 の抑制ルールを使用して、2 つのフィルター条件で構成されるルールを作成することをお勧めします。1 つ目の条件では、[結果タイプ] に UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration を使用します。2 番目のフィルタ基準はAPI 発信者の IPv4 アドレスオンプレミスのインターネットゲートウェイの IP アドレスまたは CIDR 範囲に置き換えます。以下の例は、API 呼び出し元 IP アドレスに基づいて、この検索タイプを抑制するために使用するフィルタを表しています。

    Finding type: UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration API caller IPv4 address: 198.51.100.6
    注記

    複数の API 呼び出し元 IP を含めるには、それぞれに新しい API 呼び出し元 IPv4 アドレスフィルタを追加できます。

  • Recon:EC2/Portscan:脆弱性評価アプリケーションを使用する場合に、結果を自動的にアーカイブするために抑制ルールを使用します。

    サプレッションルールは、2 つのフィルタ条件で構成する必要があります。1 つ目の条件では、[結果タイプ] 属性に Recon:EC2/Portscan という値を使用します。2 番目のフィルタ条件は、これらの脆弱性評価ツールをホストする 1 つ以上のインスタンスと一致する必要があります。以下のいずれかを使用できます。インスタンスイメージ ID属性またはTag値の属性は、これらのツールをホストするインスタンスで識別可能な条件によって異なります。以下の例は、特定の AMI を持つインスタンスに基づいて、この検索タイプを抑制するために使用するフィルタを示しています。

    Finding type: Recon:EC2/Portscan Instance image ID: ami-999999999
  • UnauthorizedAccess:EC2/SSHBruteForce— 踏み台インスタンスをターゲットとする場合に、結果を自動的にアーカイブするために抑制ルールを使用します。

    総当たりの試行のターゲットが踏み台ホストである場合、これはお使いの AWS 環境の正常な動作を示している可能性があります。このような状況が発生した場合は、この結果に対するサプレッションルールを設定することをお勧めします。サプレッションルールは、2 つのフィルタ条件で構成する必要があります。1 つ目の条件では、[結果タイプ] 属性に UnauthorizedAccess:EC2/SSHBruteForce という値を使用します。2 番目のフィルタ条件は、踏み台ホストとして機能する 1 つ以上のインスタンスと一致する必要があります。以下のいずれかを使用できます。インスタンスイメージ ID属性またはTag値の属性は、これらのツールをホストするインスタンスで識別可能な条件によって異なります。以下の例は、特定のインスタンスタグ値を持つインスタンスに基づいて、この検索タイプを抑制するために使用するフィルタを示しています。

    Finding type: UnauthorizedAccess:EC2/SSHBruteForce Instance tag value: devops
  • Recon:EC2/PortProbeUnprotectedPort— 意図的に公開しているインスタンスをターゲットとする場合に、結果を自動的にアーカイブするために抑制ルールを使用します。

    インスタンスがウェブサーバーをホストしている場合など、インスタンスが意図的に公開されている場合があります。AWS 環境でこのような状況が発生した場合は、この結果に対するサプレッションルールを設定することをお勧めします。サプレッションルールは、2 つのフィルタ条件で構成する必要があります。1 つ目の条件では、[結果タイプ] 属性に Recon:EC2/PortProbeUnprotectedPort という値を使用します。2 番目のフィルタ条件は、踏み台ホストとして機能する 1 つ以上のインスタンスと一致する必要があります。以下のいずれかを使用できます。インスタンスイメージ ID属性またはTag値の属性では、これらのツールをホストするインスタンスで識別可能な条件によって異なります。以下の例は、コンソール内の特定のインスタンスタグキーを持つインスタンスに基づいて、この検索タイプを抑制するために使用するフィルタを示しています。

    Finding type: Recon:EC2/PortProbeUnprotectedPort Instance tag key: prod

GuardDuty で抑制ルールを作成するには

Console

GuardDuty コンソールでは、抑制ルールを簡単に視覚化、作成、管理することができます。抑制ルールはフィルタと同じ方法で生成され、既存の保存済みフィルタは抑制ルールとして使用できます。フィルタの作成の詳細については、結果のフィルタリング

コンソールを使用して抑制ルールを作成するには

  1. On The GuardDuty結果ページで [] を選択します。結果を抑制をクリックして、抑制ルールパネルを開きます。

  2. Selectフィルタ条件の追加をクリックして、フィルタ条件メニューを開きます。リストから基準を選択し、その基準に有効な値を入力します。使用する正しい値を決定するには、結果テーブルから非表示にする結果を選択し、コンソールの同じページから詳細を確認します。除外する結果のみが結果テーブルに表示されるまで、フィルタ条件の追加を続行できます。

  3. サプレッションルールの名前と説明を入力します。

  4. [Save] (保存) をクリックします。

既存の保存済みフィルタから抑制ルールを作成することもできます。フィルタの作成の詳細については、結果のフィルタリング

保存したフィルタから抑制ルールを作成するには:

  1. On The GuardDuty結果ページで [] を選択します。結果を抑制をクリックして、抑制ルールパネルを開きます。

  2. からの保存されたルールドロップダウンで、保存したフィルタを選択します。

  3. サプレッションルールの名前と説明を入力します。

  4. [Save] (保存) をクリックします。

抑制ルールは、コンソールの [保存済みのルール] ドロップダウンからルールを選択して、いつでも表示、編集、削除できます。

API

API を使用して抑制ルールを作成するには:

  1. サプレッションルールは、CreateFilterAPI. そのために、JSON ファイルでフィルター条件を指定します。以下の例では、test.example.com への DNS リクエストが行われたアーカイブされていない結果を抑制します。

    { "Criterion": { "service.archived": { "Eq": [ "false" ] }, "service.action.dnsRequestAction.domain": { "Eq": [ "test.example.com" ] } } }

    JSON のフィールド名とそれに相当するコンソールのフィールド名の一覧については、「フィルタ属性」を参照してください。

    フィルター条件を最初にテストするには、同じ JSON 条件をListFindingsAPI を使用して正しい結果が選択されていることを確認するか、AWS CLI で以下の例に従って独自のディテクター ID と .json ファイルを使用することで、これを行うことができます。

    aws guardduty list-findings --detector-id 12abc34d567e8fa901bc2d34e56789f0 --finding-criteria file://criteria.json
  2. 抑制ルールとして使用するフィルターを CreateFilter API を使用してアップロードするか、AWS CLI で以下の例に従って独自のディテクター ID、抑制ルール名、.json ファイルを使用してアップロードします。

    aws guardduty create-filter --action ARCHIVE --detector-id 12abc34d567e8fa901bc2d34e56789f0 --name yourfiltername --finding-criteria file://criteria.json

ListFilter API を使用すると、フィルターの一覧をプログラムで表示できます。GetFilter API でフィルター名を指定すると、個々のフィルターの詳細を表示できます。フィルターを更新するには UpdateFilter API を使用し、フィルターを削除するには DeleteFilter API を使用します。