

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

# GuardDuty の抑制ルール
<a name="findings_suppression-rule"></a>

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

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

抑制された検出結果は AWS Security Hub CSPM、Amazon Simple Storage Service、Amazon Detective、または Amazon EventBridge に送信されないため、Security Hub CSPM、サードパーティー SIEM、またはその他のアラートおよびチケット発行アプリケーションを介して GuardDuty の検出結果を使用する場合、検出結果のノイズレベルが減少します。[Malware Protection for EC2](malware-protection.md) を有効にした場合、抑制された GuardDuty の検出結果ではマルウェアスキャンは開始されません。

GuardDuty は、抑制ルールに一致している場合でも検出結果を生成します。ただし、これらの検出結果は自動的に **[archived]** (アーカイブ) としてマークされます。アーカイブされた検出結果は 90 日間 GuardDuty に保存され、その期間中いつでも表示することができます。抑制された検出結果は、GuardDuty コンソールで、検出結果の表から **[Archived]** (アーカイブ) を選択するか、`service.archived` 等式の `findingCriteria` 条件を true にした [https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListFindings.html](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListFindings.html) API を使用して GuardDuty API を通じて表示できます。

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

## Extended Threat Detection での抑制ルールの使用
<a name="using-suppression-rules-with-extended-threat-detection"></a>

GuardDuty Extended Threat Detection は、 AWS アカウント内のデータソース、複数のタイプの AWS リソース、および時間にわたるマルチステージ攻撃を自動的に検出します。さまざまなデータソースのイベントを関連付けて、 AWS 環境に対する潜在的な脅威として存在するシナリオを特定し、攻撃シーケンスの検出結果を生成します。詳細については、「[Extended Threat Detection の仕組み](guardduty-extended-threat-detection.md#extended-threat-detection-how-it-works)」を参照してください。

検出結果をアーカイブする抑制ルールを作成すると、Extended Threat Detection は、攻撃シーケンスのイベントを関連付けるときに、これらのアーカイブされた検出結果を使用できません。幅広い抑制ルールは、GuardDuty がマルチステージ攻撃の検出と一致する動作を検出する能力に影響を与える可能性があります。抑制ルールのためにアーカイブされた検出結果は、攻撃シーケンスのシグナルとは見なされません。例えば、特定の既知のアクティビティをターゲットにするのではなく、すべての EKS クラスター関連の検出結果をアーカイブする抑制ルールを作成すると、GuardDuty はそれらの検出結果を使用して、脅威アクターがコンテナを悪用し、特権トークンを取得し、機密リソースにアクセスする攻撃シーケンスを検出できなくなります。

GuardDuty からの次の推奨事項を検討します。
+ サプレッションルールを引き続き使用して、既知の信頼できるアクティビティからのアラートを減らします。
+ 抑制ルールは、GuardDuty が検出結果を生成しないようにする特定の動作に焦点を当ててください。

## 抑制ルールの一般的ユースケースとその例
<a name="guardduty_suppression-best-practices"></a>

次の検出結果タイプには、抑制ルールを適用する一般的ユースケースがあります。検出結果名を選択すると、その検出結果の詳細を確認できます。ユースケースの説明を確認して、その検出結果タイプの抑制ルールを作成するかどうかを決定します。

**重要**  
GuardDuty は、環境で誤検出を繰り返し特定した検出結果に対してのみ、抑制ルールを作成することをお勧めします。
+ [UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS](guardduty_finding-types-iam.md#unauthorizedaccess-iam-instancecredentialexfiltrationoutsideaws) - VPC のインターネットゲートウェイからではなく、オンプレミスのゲートウェイからインターネットへのトラフィックをルーティングするように VPC ネットワークが設定されている場合に、生成された検出結果を自動的にアーカイブするために抑制ルールを使用します。

  この検出結果が生成されるのは、VPC インターネットゲートウェイ (IGW) からではなく、オンプレミスのゲートウェイから排出され、インターネットトラフィックがルーティングされるように、ネットワークが構成されている場合です。[AWS Outposts](https://docs.aws.amazon.com/outposts/latest/userguide/) や VPC VPN 接続などの一般的な構成では、このようにトラフィックがルーティングされる可能性があります これが予期した動作である場合は、抑制ルールを使用して、2 つのフィルター条件で構成されるルールを作成することをお勧めします。1 つ目の条件では、**[finding type]** (結果タイプ) に `UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS` を使用します。2 番目のフィルター条件は、オンプレミスインターネットゲートウェイの IP アドレスまたは CIDR 範囲を持つ **[API caller IPv4 address]** (API 発信者の IPv4 アドレス) です。次の例は、API 発信者の IP アドレスに基づいてこの検出結果タイプを抑制するために使用するフィルターを示しています。

  ```
  Finding type: {{UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS}} API caller IPv4 address: {{198.51.100.6}}
  ```
**注記**  
複数の API 発信者の IP を含めるには、それぞれに新しい API 発信者 IPv4 アドレスフィルターを追加します。
+ [Recon:EC2/Portscan](guardduty_finding-types-ec2.md#recon-ec2-portscan) - 脆弱性評価アプリケーションを使用する場合に、検出結果を自動的にアーカイブするために抑制ルールを使用します。

  抑制ルールは、2 つのフィルター条件で構成する必要があります。1 つ目の条件では、**[Finding type]** (結果タイプ) 属性に `Recon:EC2/Portscan` という値を使用します。2 番目のフィルター条件は、これらの脆弱性評価ツールをホストする 1 つ以上のインスタンスと一致する必要があります。これらのツールをホストするインスタンスで識別可能な条件に応じて、**[Instance image ID]** (インスタンスイメージ ID) 属性または **[Tag]** (タグ) 値の属性のいずれかを使用できます。次の例は、特定の AMI を持つインスタンスに基づいてこの検出結果タイプを抑制するために使用するフィルターを示しています。

  ```
  Finding type: {{Recon:EC2/Portscan}} Instance image ID: {{ami-999999999}}
  ```
+ [UnauthorizedAccess:EC2/SSHBruteForce](guardduty_finding-types-ec2.md#unauthorizedaccess-ec2-sshbruteforce) - 踏み台インスタンスをターゲットとする場合に、検出結果を自動的にアーカイブするために抑制ルールを使用します。

  ブルートフォース試行のターゲットが踏み台ホストである場合、これは AWS 環境に対して予想される動作を表す可能性があります。このような状況が発生した場合は、この検出結果に対する抑制ルールを設定することをお勧めします。抑制ルールは、2 つのフィルター条件で構成する必要があります。1 つ目の条件では、**[Finding type]** (結果タイプ) 属性に `UnauthorizedAccess:EC2/SSHBruteForce` という値を使用します。2 番目のフィルター条件は、要塞ホストとして機能する 1 つ以上のインスタンスと一致する必要があります。これらのツールをホストするインスタンスで識別可能な条件に応じて、**[Instance image ID]** (インスタンスイメージ ID) 属性または **[Tag]** (タグ) 値の属性のいずれかを使用できます。次の例は、特定のタグ値を持つインスタンスに基づいてこの検出結果タイプを抑制するために使用するフィルターを示しています。

  ```
  Finding type: {{UnauthorizedAccess:EC2/SSHBruteForce}} Instance tag value: {{devops}}
  ```
+ [Recon:EC2/PortProbeUnprotectedPort](guardduty_finding-types-ec2.md#recon-ec2-portprobeunprotectedport) - 意図的に公開しているインスタンスをターゲットとする場合に、検出結果を自動的にアーカイブするために抑制ルールを使用します。

  ウェブサーバーをホストしている場合など、インスタンスが意図的に公開される場合があります。 AWS 環境でこのような場合は、この検出結果の抑制ルールを設定することをお勧めします。抑制ルールは、2 つのフィルター条件で構成する必要があります。1 つ目の条件では、**[Finding type]** (結果タイプ) 属性に `Recon:EC2/PortProbeUnprotectedPort` という値を使用します。2 番目のフィルター条件は、要塞ホストとして機能する 1 つ以上のインスタンスと一致する必要があります。これらのツールをホストするインスタンスで識別可能な条件に応じて、**[Instance image ID]** (インスタンスイメージ ID) 属性または **[Tag]** (タグ) 値の属性のいずれかを使用できます。次の例は、コンソール内の特定のタグキーを持つインスタンスに基づいてこの検出結果タイプを抑制するために使用するフィルターを示しています。

  ```
  Finding type: {{Recon:EC2/PortProbeUnprotectedPort}} Instance tag key: {{prod}}
  ```

### Runtime Monitoring 検出結果の抑制ルールの推奨
<a name="runtime-monitoring-suppress-finding"></a>
+ [PrivilegeEscalation:Runtime/DockerSocketAccessed](findings-runtime-monitoring.md#privilegeesc-runtime-dockersocketaccessed) はコンテナ内のプロセスが Docker ソケットと通信するときに生成されます。環境内に、正当な理由で Docker ソケットにアクセスする必要があるコンテナが存在する可能性があります。このようなコンテナからアクセスすると、PrivilegeEscalation:Runtime/DockerSocketAccessed 検出結果が生成されます。 AWS 環境でこのような場合は、この検出結果タイプの抑制ルールを設定することをお勧めします。1 つ目の条件では、値が `PrivilegeEscalation:Runtime/DockerSocketAccessed` に等しい **[検出結果タイプ]** フィールドを使用する必要があります。2 番目のフィルター条件は、生成された検出結果のプロセスの `executablePath` と同じ値を持つ **[実行可能ファイルのパス]** フィールドです。別の方法として、2 番目のフィルター条件では、生成された検出結果のプロセスの `executableSha256` と同じ値を持つ **[実行可能ファイル SHA-256]** フィールドを使用できます。
+ Kubernetes クラスターは、独自の DNS サーバーを `coredns` などのポッドとして実行します。そのため、ポッドからの DNS 検索ごとに、GuardDuty は 2 つの DNS イベントをキャプチャします。1 つはポッドから、もう 1 つはサーバーポッドからキャプチャされます。これにより、以下の DNS 検出結果に重複が生じる可能性があります。
  + [Backdoor:Runtime/C&CActivity.B\!DNS](findings-runtime-monitoring.md#backdoor-runtime-ccactivitybdns)
  + [CryptoCurrency:Runtime/BitcoinTool.B\!DNS](findings-runtime-monitoring.md#cryptocurrency-runtime-bitcointoolbdns)
  + [Impact:Runtime/AbusedDomainRequest.Reputation](findings-runtime-monitoring.md#impact-runtime-abuseddomainrequestreputation)
  + [Impact:Runtime/BitcoinDomainRequest.Reputation](findings-runtime-monitoring.md#impact-runtime-bitcoindomainrequestreputation)
  + [Impact:Runtime/MaliciousDomainRequest.Reputation](findings-runtime-monitoring.md#impact-runtime-maliciousdomainrequestreputation)
  + [Impact:Runtime/SuspiciousDomainRequest.Reputation](findings-runtime-monitoring.md#impact-runtime-suspiciousdomainrequestreputation)
  + [Trojan:Runtime/BlackholeTraffic\!DNS](findings-runtime-monitoring.md#trojan-runtime-blackholetrafficdns)
  + [Trojan:Runtime/DGADomainRequest.C\!DNS](findings-runtime-monitoring.md#trojan-runtime-dgadomainrequestcdns)
  + [Trojan:Runtime/DriveBySourceTraffic\!DNS](findings-runtime-monitoring.md#trojan-runtime-drivebysourcetrafficdns)
  + [Trojan:Runtime/DropPoint\!DNS](findings-runtime-monitoring.md#trojan-runtime-droppointdns)
  + [Trojan:Runtime/PhishingDomainRequest\!DNS](findings-runtime-monitoring.md#trojan-runtime-phishingdomainrequestdns)

  重複した検出結果には、DNS サーバーポッドに対応するポッド、コンテナ、プロセスの詳細が含まれます。これらのフィールドを使用して、重複検出結果を抑制する抑制ルールをセットアップできます。最初のフィルター条件では、このセクションで前述した検出結果リストの DNS 検出結果タイプと同じ値の **[検出結果タイプ]** フィールドを使用する必要があります。2 つ目のフィルター条件は、お使いの DNS サーバー `executablePath` と同じ値の **[実行可能ファイルのパス]** か、生成された検出結果の DNS サーバー `executableSHA256` と同じ値の **[実行可能ファイル SHA-256]** のいずれかです。オプションの 3 番目のフィルター条件として、生成された検出結果に含まれる DNS サーバーポッドのコンテナイメージと同じ値の **[Kubernetes コンテナイメージ]** フィールドを使用できます。