本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
隱藏規則是一組條件 (由與值配對的篩選屬性組成),用於自動封存符合指定條件的新調查結果來篩選調查結果。隱藏規則可用來篩選低價值的問題清單、誤判問題清單,或您不打算採取行動的威脅,以便更容易辨識對環境影響最大的安全威脅。
建立隱藏規則後,只要有隱藏規則,就會自動封存符合規則中定義之條件的新問題清單。您可以使用既有的篩選條件來建立隱藏規則,或從定義的新篩選條件中建立隱藏規則。您可以設定隱藏規則以隱藏整個問題清單類型,或定義更細微的篩選條件,而僅隱藏特定問題清單類型的特定例項。您可以隨時編輯禁止規則。
抑制的調查結果不會傳送至 AWS Security Hub Amazon Simple Storage Service、Amazon Detective 或 Amazon EventBridge,如果您透過 Security Hub、第三方 SIEM 或其他提醒和票證應用程式取用 GuardDuty 調查結果,則會降低調查結果雜訊層級。如果您已啟用 EC2 的惡意軟體防護,則隱藏的 GuardDuty 調查結果不會啟動惡意軟體掃描。
即使調查結果符合隱藏規則,GuardDuty 仍會繼續產生調查結果,不過,那些調查結果會自動標記為已封存。封存的調查結果會存放在 GuardDuty 90 天,您可以在該期間內隨時檢視。您可以在 GuardDuty 主控台中檢視隱藏的調查結果,方法是從調查結果資料表中選取已封存,或透過 GuardDuty API,搭配 ListFindings API 與 service.archived
等於 true 的 findingCriteria
條件來檢視隱藏的調查結果。
注意
在多帳戶環境中,只有 GuardDuty 管理員可以建立隱藏規則。
隱藏規則的常用案例和範例
下列問題清單類型具有套用禁止規則的常見使用案例。選取問題清單名稱以進一步了解問題清單。檢閱使用案例描述,以決定是否要為該問題清單類型建立禁止規則。
重要
GuardDuty 建議您以反應方式建置禁止規則,且僅適用於您重複識別環境中誤報的問題清單。
-
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS:使用隱藏規則,以自動封存將 VPC 聯網設為路由網際網路流量,使其從內部部署閘道 (而非 VPC 網際網路閘道) 輸出時所產生的調查結果。
當將網路設定為路由網際網路流量,使其從內部部署閘道而不是從 VPC 網際網路閘道 (IGW) 輸出時,就會產生此調查結果。一般組態 (例如使用 AWS Outposts 或 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:使用漏洞評估應用程式時,使用隱藏規則以自動封存調查結果。
隱藏規則應包含兩個篩選準則。第一個條件應該使用調查結果類型屬性,其值為
Recon:EC2/Portscan
。第二個篩選條件應該找出主控這些漏洞評定工具的執行個體。您可以使用執行個體映像 ID 屬性或標籤值屬性,視主控這些工具的執行個體可識別的條件而定。下面的範例表示您根據具有特定 AMI 的執行個體隱藏此調查結果類型所用的篩選條件。Finding type:
Recon:EC2/Portscan
Instance image ID:ami-999999999
-
UnauthorizedAccess:EC2/SSHBruteForce:使用隱藏規則,在調查結果目標為堡壘執行個體時,自動封存調查結果。
如果暴力嘗試的目標是堡壘主機,這可能代表您 AWS 環境的預期行為。如果是這種情況,我們建議您為此調查結果設定隱藏規則。隱藏規則應包含兩個篩選準則。第一個條件應該使用調查結果類型屬性,其值為
UnauthorizedAccess:EC2/SSHBruteForce
。第二個篩選條件應該找出執行個體或做為堡壘主機的執行個體。您可以使用執行個體映像 ID 屬性或標籤值屬性,視主控這些工具的執行個體可識別的條件而定。下面的範例表示您根據具有特定執行個體標籤值的執行個體,隱藏此調查結果類型所用的篩選條件。Finding type:
UnauthorizedAccess:EC2/SSHBruteForce
Instance tag value:devops
-
Recon:EC2/PortProbeUnprotectedPort:使用隱藏規則,在調查結果目標為刻意公開的執行個體時,自動封存調查結果。
在某些情況下,可能會刻意暴露執行個體,例如,若是託管在 Web 伺服器上。如果您的 AWS 環境中發生這種情況,我們建議您為此調查結果設定禁止規則。隱藏規則應包含兩個篩選準則。第一個條件應該使用調查結果類型屬性,其值為
Recon:EC2/PortProbeUnprotectedPort
。第二個篩選條件應該找出執行個體或做為堡壘主機的執行個體。您可以使用執行個體映像 ID 屬性或標籤值屬性,視主控這些工具的執行個體可識別的準則而定。下面的範例表示您根據具有主控台中特定執行個體標籤值的執行個體,隱藏此調查結果類型所用的篩選條件。Finding type:
Recon:EC2/PortProbeUnprotectedPort
Instance tag key:prod
執行期監控問題清單的建議禁止規則
-
當容器內的程序與 Docker 通訊端通訊時便會產生 PrivilegeEscalation: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 調查結果的重複項目:重複的調查結果將包括與 DNS 伺服器 pod 對應的 pod、容器和程序詳細資訊。您可以使用這些欄位設定隱藏規則,以隱藏這些重複的調查結果。第一個篩選條件應使用調查結果類型欄位,其值等於本節稍早提供的調查結果清單中的 DNS 調查結果類型。第二個篩選條件可以是值等於 DNS 伺服器
executablePath
的可執行檔路徑,或值等於 DNS 伺服器executableSHA256
在產生的調查結果中的可執行檔 SHA-256。作為選用的第三個篩選條件,您可以使用 Kubernetes 容器映像欄位,其值等於產生的調查結果中 DNS 伺服器 pod 的容器映像。