

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# GuardDuty 中的隱藏規則
<a name="findings_suppression-rule"></a>

隱藏規則是一組條件 (由與值配對的篩選屬性組成)，用於自動封存符合指定條件的新調查結果來篩選調查結果。隱藏規則可用來篩選低價值的問題清單、誤判問題清單，或您不打算採取行動的威脅，以便更容易辨識對環境影響最大的安全威脅。

 建立隱藏規則後，只要有隱藏規則，就會自動封存符合規則中定義之條件的新問題清單。您可以使用既有的篩選條件來建立隱藏規則，或從定義的新篩選條件中建立隱藏規則。您可以設定隱藏規則以隱藏整個問題清單類型，或定義更細微的篩選條件，而僅隱藏特定問題清單類型的特定例項。您可以隨時編輯禁止規則。

隱藏的問題清單不會傳送至 Amazon Simple Storage Service AWS Security Hub CSPM、Amazon Detective 或 Amazon EventBridge，如果您透過 Security Hub CSPM、第三方 SIEM 或其他提醒和票證應用程式取用 GuardDuty 問題清單，則會降低問題清單雜訊層級。如果您已啟用 [EC2 的惡意軟體防護](malware-protection.md)，則隱藏的 GuardDuty 調查結果不會啟動惡意軟體掃描。

即使調查結果符合隱藏規則，GuardDuty 仍會繼續產生調查結果，不過，那些調查結果會自動標記為**已封存**。封存的調查結果會存放在 GuardDuty 90 天，您可以在該期間內隨時檢視。您可以在 GuardDuty 主控台中檢視隱藏的調查結果，方法是從調查結果資料表中選取**已封存**，或透過 GuardDuty API，搭配 [https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListFindings.html](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListFindings.html) API 與 `service.archived` 等於 true 的 `findingCriteria` 條件來檢視隱藏的調查結果。

**注意**  
在多帳戶環境中，只有 GuardDuty 管理員可以建立隱藏規則。

## 將抑制規則與延伸威脅偵測搭配使用
<a name="using-suppression-rules-with-extended-threat-detection"></a>

GuardDuty 延伸威脅偵測會自動偵測跨資料來源、多種 AWS 資源類型和時間的多階段攻擊 AWS 帳戶。它會關聯不同資料來源的事件，以識別對環境 AWS 造成潛在威脅的案例，然後產生攻擊序列調查結果。如需詳細資訊，請參閱[延伸威脅偵測的運作方式](guardduty-extended-threat-detection.md#extended-threat-detection-how-it-works)。

當您建立隱藏規則來封存問題清單時，延伸威脅偵測在將事件關聯至攻擊序列時，無法使用這些封存的問題清單。廣泛的禁止規則可能會影響 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 連接) 可能會導致流量以這種方式路由。如果這是預期的行為，建議您使用隱藏規則並建立包含兩個篩選條件的規則。第一個條件是 **finding type (問題清單類型)**，應該是 `UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS`。第二個篩選條件是具有內部部署網際網路閘道 IP 地址或 CIDR 範圍的 **API 呼叫者 IPv4 地址**。下面的範例表示您將用於根據 API 呼叫者 IP 地址隱藏此調查結果類型的篩選條件。

  ```
  Finding type: {{UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS}} API caller IPv4 address: {{198.51.100.6}}
  ```
**注意**  
若要包含多個 API 呼叫者 IP，您可以為每個 IP 新增新的 API 呼叫者 IPv4 地址篩選條件。
+ [Recon:EC2/Portscan](guardduty_finding-types-ec2.md#recon-ec2-portscan)：使用漏洞評估應用程式時，使用隱藏規則以自動封存調查結果。

  隱藏規則應包含兩個篩選準則。第一個條件應該使用**調查結果類型**屬性，其值為 `Recon:EC2/Portscan`。第二個篩選條件應該找出主控這些漏洞評定工具的執行個體。您可以使用**執行個體映像 ID** 屬性或**標籤**值屬性，視主控這些工具的執行個體可識別的條件而定。下面的範例表示您根據具有特定 AMI 的執行個體隱藏此調查結果類型所用的篩選條件。

  ```
  Finding type: {{Recon:EC2/Portscan}} Instance image ID: {{ami-999999999}}
  ```
+ [UnauthorizedAccess:EC2/SSHBruteForce](guardduty_finding-types-ec2.md#unauthorizedaccess-ec2-sshbruteforce)：使用隱藏規則，在調查結果目標為堡壘執行個體時，自動封存調查結果。

  如果暴力破解嘗試的目標是堡壘主機，這可能代表您 AWS 環境的預期行為。如果是這種情況，我們建議您為此調查結果設定隱藏規則。隱藏規則應包含兩個篩選準則。第一個條件應該使用**調查結果類型**屬性，其值為 `UnauthorizedAccess:EC2/SSHBruteForce`。第二個篩選條件應該找出執行個體或做為堡壘主機的執行個體。您可以使用**執行個體映像 ID** 屬性或**標籤**值屬性，視主控這些工具的執行個體可識別的條件而定。下面的範例表示您根據具有特定執行個體標籤值的執行個體，隱藏此調查結果類型所用的篩選條件。

  ```
  Finding type: {{UnauthorizedAccess:EC2/SSHBruteForce}} Instance tag value: {{devops}}
  ```
+ [Recon:EC2/PortProbeUnprotectedPort](guardduty_finding-types-ec2.md#recon-ec2-portprobeunprotectedport)：使用隱藏規則，在調查結果目標為刻意公開的執行個體時，自動封存調查結果。

  在某些情況下，可能會刻意暴露執行個體，例如，若是託管在 Web 伺服器上。如果您的 AWS 環境中發生這種情況，我們建議您為此調查結果設定抑制規則。隱藏規則應包含兩個篩選準則。第一個條件應該使用**調查結果類型**屬性，其值為 `Recon:EC2/PortProbeUnprotectedPort`。第二個篩選條件應該找出執行個體或做為堡壘主機的執行個體。您可以使用**執行個體映像 ID** 屬性或**標籤**值屬性，視主控這些工具的執行個體可識別的準則而定。下面的範例表示您根據具有主控台中特定執行個體標籤值的執行個體，隱藏此調查結果類型所用的篩選條件。

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

### 執行期監控問題清單的建議禁止規則
<a name="runtime-monitoring-suppress-finding"></a>
+ 當容器內的程序與 Docker 通訊端通訊時便會產生 [PrivilegeEscalation:Runtime/DockerSocketAccessed](findings-runtime-monitoring.md#privilegeesc-runtime-dockersocketaccessed)。由於正當原因，環境中存在可能需要存取 Docker 通訊端的容器。從這類容器存取將產生 PrivilegeEscalation:Runtime/DockerSocketAccessed 調查結果。如果您的 AWS 環境中發生這種情況，我們建議您為此調查結果類型設定抑制規則。第一個條件應該使用**調查結果類型**欄位，其值等於 `PrivilegeEscalation:Runtime/DockerSocketAccessed`。第二個篩選條件是**可執行檔路徑**欄位，其值等於產生的調查結果中程序的 `executablePath`。或者，第二個篩選條件可以使用**可執行檔 SHA-256** 欄位，其值等於產生的調查結果中程序的 `executableSha256`。
+ Kubernetes 叢集會以 pod 的形式執行自己的 DNS 伺服器，例如 `coredns`。因此，對於來自 pod 的每個 DNS 查閱，GuardDuty 會擷取兩個 DNS 事件：一個來自 pod，另一個來自伺服器 pod。這可能會產生下列 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 伺服器 pod 對應的 pod、容器和程序詳細資訊。您可以使用這些欄位設定隱藏規則，以隱藏這些重複的調查結果。第一個篩選條件應使用**調查結果類型**欄位，其值等於本節稍早提供的調查結果清單中的 DNS 調查結果類型。第二個篩選條件可以是值等於 DNS 伺服器 `executablePath` 的**可執行檔路徑**，或值等於 DNS 伺服器 `executableSHA256` 在產生的調查結果中的**可執行檔 SHA-256**。作為選用的第三個篩選條件，您可以使用 **Kubernetes 容器映像**欄位，其值等於產生的調查結果中 DNS 伺服器 pod 的容器映像。