隱藏規則 - Amazon GuardDuty

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

隱藏規則

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

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

隱藏的發現不會傳送至 AWS Security Hub Amazon 簡易儲存服務、Amazon Detective 或 Amazon,如果您透過 Security Hub EventBridge、第三方 SIEM 或其他警示和票務應用程式消耗發 GuardDuty 現結果,可降低發現雜訊等級。如果您已啟用GuardDuty 惡意程式碼,則抑制的 GuardDuty 發現項目將不會起始惡意軟體掃描。

GuardDuty 即使發現項目符合您的抑制規則,仍會繼續產生搜尋結果,不過,這些發現項目會自動標示為已封存。已封存的發現項目會儲存 90 天,並且可以在 GuardDuty 該期間的任何時間進行檢視。您可以在 GuardDuty 主控台中檢視隱藏的發現項目,方法是從發現項目表格中選取「已封存」,或透過 GuardDuty API 使用findingCriteria準則service.archived等於 true 的 ListFindingsAPI 來檢視隱藏的發現項目。

注意

在多帳戶環境中,只有 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

EKS 執行期監控調查結果的建議隱藏規則

欲在中建立抑制規則 GuardDuty

選擇您偏好的存取方式,以便在中建立或管理隱藏規則 GuardDuty。

Console

您可以使用 GuardDuty 主控台視覺化、建立和管理隱藏規則。隱藏規則的產生方式與篩選條件相同,且您現有儲存的篩選條件可用作隱藏規則。如需建立篩選條件的詳細資訊,請參閱篩選問題清單

若要使用主控台建立隱藏規則:
  1. 請在以下位置開啟 GuardDuty 主控台。 https://console.aws.amazon.com/guardduty/

  2. 調查結果頁面上,選擇隱藏調查結果以開啟隱藏規則面板。

  3. 若要開啟篩選條件選單,請在新增篩選條件中輸入 filter criteria。您可以從清單中選擇條件。輸入所選條件的有效值。

    注意

    若要判斷值是否有效,請檢視調查結果資料表,並選擇您要隱藏的調查結果。在調查結果面板中檢閱其詳細資訊。

    您可以新增多個篩選條件,並確保資料表中僅顯示您要隱藏的那些調查結果。

  4. 輸入隱藏規則的名稱說明。有效的字元包括英數字元、句號 (.)、破折號 (-)、底線 (_) 和空格。

  5. 選擇儲存

您也可以從現有儲存的篩選條件建立隱藏規則。如需建立篩選條件的詳細資訊,請參閱篩選問題清單

若要從已儲存的篩選條件建立隱藏規則:
  1. 請在以下位置開啟 GuardDuty 主控台。 https://console.aws.amazon.com/guardduty/

  2. 調查結果頁面上,選擇隱藏調查結果以開啟隱藏規則面板。

  3. 已儲存的規則下拉式清單中,選擇儲存的篩選條件。

  4. 您也可以新增篩選條件。如果您不需要其他篩選條件,請略過此步驟。

    若要開啟篩選條件選單,請在新增篩選條件中輸入 filter criteria。您可以從清單中選擇條件。輸入所選條件的有效值。

    注意

    若要判斷值是否有效,請檢視調查結果資料表,並選擇您要隱藏的調查結果。在調查結果面板中檢閱其詳細資訊。

  5. 輸入隱藏規則的名稱說明。有效的字元包括英數字元、句號 (.)、破折號 (-)、底線 (_) 和空格。

  6. 選擇儲存

若要刪除隱藏規則:
  1. 請在以下位置開啟 GuardDuty 主控台。 https://console.aws.amazon.com/guardduty/

  2. 調查結果頁面上,選擇隱藏調查結果以開啟隱藏規則面板。

  3. 已儲存的規則下拉式清單中,選擇儲存的篩選條件。

  4. 選擇 Delete rule (刪除規則)

API/CLI
使用 API 建立隱藏規則:
  1. 您也可以透過 CreateFilter API 建立隱藏規則。若要這麼做,請依照下面詳述的範例格式,在 JSON 檔案中指定篩選條件。下列範例會隱藏任何對 test.example.com 網域具有 DNS 請求的嚴重程度低的未封存調查結果。對於中等嚴重程度的調查結果,輸入清單會是 ["4", "5", "7"]。對於高嚴重程度的調查結果,輸入清單會是 ["6", "7", "8"]。您也可以根據清單中的任何一個值進行篩選。

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

    如需 JSON 欄位名稱及其主控台對等值的清單,請參閱篩選條件屬性

    若要測試篩選條件,請在 ListFindings API 中使用相同的 JSON 條件,並確認選取的是正確的調查結果。要使用您自己的檢測器 ID 和 .json 文件, AWS CLI 請按照示例測試您的過濾器條件。

    要查找您detectorId的帳戶和當前區域的,請參閱 https://console.aws.amazon.com/guardduty/ 主控台中的 「設置」 頁面。

    aws guardduty list-findings --detector-id 12abc34d567e8fa901bc2d34e56789f0 --finding-criteria file://criteria.json
  2. 使用 CreateFilter API,或藉由使用 AWS CLI,依照下列範例,使用您自己的偵測器 ID、隱藏規則的名稱,以及 .json 檔案,上傳篩選條件以作為隱藏規則。

    要查找您detectorId的帳戶和當前區域的,請參閱 https://console.aws.amazon.com/guardduty/ 主控台中的 「設置」 頁面。

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

您可以使用 ListFilter API,以程式設計方式檢視篩選條件清單。您可以透過向 GetFilter API 提供篩選條件名稱,來檢視個別篩選條件的詳細資訊。使用 UpdateFilter 更新篩選條件,或使用 DeleteFilter API 將其刪除。