本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
中的隱藏規則 GuardDuty
隱藏規則是一組條件 (由與值配對的篩選屬性組成),用於自動封存符合指定條件的新調查結果來篩選調查結果。隱藏規則可用來篩選低價值的問題清單、誤判問題清單,或您不打算採取行動的威脅,以便更容易辨識對環境影響最大的安全威脅。
建立隱藏規則後,只要有隱藏規則,就會自動封存符合規則中定義之條件的新問題清單。您可以使用既有的篩選條件來建立隱藏規則,或從定義的新篩選條件中建立隱藏規則。您可以設定隱藏規則以隱藏整個問題清單類型,或定義更細微的篩選條件,而僅隱藏特定問題清單類型的特定例項。您可以隨時編輯禁止規則。
抑制的調查結果不會傳送至 AWS Security Hub、Amazon Simple Storage Service、Amazon Detective 或 Amazon EventBridge,如果您透過 Security Hub、第三方 或其他警示和票證應用程式取用 GuardDuty 調查結果SIEM,則會降低調查結果雜訊層級。如果您已啟用 的惡意軟體防護 EC2,隱藏的 GuardDuty 調查結果不會啟動惡意軟體掃描。
GuardDuty 即使調查結果符合您的禁止規則, 仍會繼續產生調查結果,但這些調查結果會自動標記為封存的 。封存的調查結果會儲存在 中 GuardDuty 90 天,在此期間隨時可以檢視。您可以在 GuardDuty 主控台中檢視隱藏的調查結果,方法是從調查結果表中選取已封存,或使用 GuardDuty API ListFindings API findingCriteria
條件service.archived
等於 true。
注意
在多帳戶環境中,只有 GuardDuty 管理員可以建立禁止規則。
隱藏規則的常用案例和範例
下列調查結果類型具有套用抑制規則的常見使用案例。選取調查結果名稱,進一步了解該調查結果。檢閱使用案例描述,以決定是否要為該調查結果類型建立抑制規則。
重要
GuardDuty 建議您以被動方式建置禁止規則,且僅適用於您反覆在環境中識別誤報的調查結果。
-
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS – 使用禁止規則自動封存VPC網路設定為路由網際網路流量時產生的調查結果,使其從內部部署閘道而不是從VPC網際網路閘道輸出。
當網路設定為路由網際網路流量,使其從內部部署閘道而不是從VPC網際網路閘道 () 輸出時,就會產生此調查結果IGW。常見的組態,例如使用 AWS Outposts或 VPCVPN連線,可能會導致以這種方式路由的流量。如果這是預期的行為,建議您使用禁止規則並建立包含兩個篩選條件的規則。第一個條件是 finding type (問題清單類型),應該是
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
。第二個篩選條件是呼叫API者IPv4地址,其 IP 地址或內部部署網際網路閘道CIDR的範圍。以下範例代表您根據API呼叫者 IP 地址來抑制此調查結果類型的篩選條件。Finding type:
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
API caller IPv4 address:198.51.100.6
注意
若要包含多個API來電者IPs,您可以為每個來電者新增新的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
。或者,第二個篩選條件可以使用 Executable SHA-256 欄位,其值等於所產生調查結果executableSha256
中程序的 。 -
Kubernetes 叢集會以 Pod 的形式執行自己的DNS伺服器,例如
coredns
。因此,每次從 Pod DNS 查詢時, GuardDuty 會擷取兩個DNS事件,一個來自 Pod,另一個來自伺服器 Pod。這可能會為下列DNS調查結果產生重複項目:重複的調查結果將包括對應至DNS伺服器 Pod 的 Pod、容器和程序詳細資訊。您可以使用這些欄位設定隱藏規則,以隱藏這些重複的調查結果。第一個篩選條件應使用值等於本節稍早所提供DNS調查結果清單中調查結果類型的調查結果類型欄位。第二個篩選條件可能是值等於DNS伺服器之 的可執行路徑,或值等於伺服器在產生的調查結果DNS
executableSHA256
中的 的executablePath
可執行 SHA-256。作為選用的第三個篩選條件,您可以使用值等於所產生調查結果中DNS伺服器 Pod 容器映像的 Kubernetes 容器映像欄位。