Amazon EC2 執行個體的執行期涵蓋範圍和疑難排解 - Amazon GuardDuty

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

Amazon EC2 執行個體的執行期涵蓋範圍和疑難排解

對於 Amazon EC2 資源,執行期涵蓋範圍會在執行個體層級進行評估。您的 Amazon EC2 執行個體可以在環境中 AWS 執行多種類型的應用程式和工作負載。此功能也支援 Amazon ECS 受管 Amazon EC2 執行個體,如果您在 Amazon EC2 執行個體上執行 Amazon ECS 叢集,執行個體層級的涵蓋範圍問題會顯示在 Amazon EC2 執行期涵蓋範圍內。

檢閱涵蓋範圍統計資料

與您自己的 帳戶或成員帳戶相關聯的 Amazon EC2 執行個體涵蓋範圍統計資料,是所選 中所有 EC2 執行個體上運作狀態良好的 EC2 執行個體百分比 AWS 區域。可以用下列方程式將此表示為:

(運作狀態良好的執行個體/所有執行個體)*100

如果您也已為 Amazon ECS 叢集部署 GuardDuty 安全代理程式,則與在 Amazon EC2 執行個體上執行的 Amazon ECS 叢集相關的任何執行個體層級涵蓋範圍問題都會顯示為 Amazon EC2 執行個體執行期涵蓋範圍問題。

選擇其中一種存取方法來檢閱您帳戶的涵蓋範圍統計資料。

Console
  • 登入 AWS Management Console ,並在 https://console.aws.amazon.com/guardduty/:// 開啟 GuardDuty 主控台。

  • 在導覽窗格中,選擇執行期監控

  • 選擇執行期涵蓋範圍索引標籤。

  • EC2 執行個體執行期涵蓋範圍索引標籤下,您可以檢視執行個體清單資料表中可用之每個 Amazon EC2 執行個體涵蓋範圍狀態彙總的涵蓋範圍統計資料。

    • 您可以依下列資料欄篩選執行個體清單資料表:

      • 帳戶 ID

      • 代理程式管理類型

      • 代理程式版本

      • 涵蓋範圍狀態

      • 執行個體 ID

      • 叢集 ARN

  • 如果您的任何 EC2 執行個體的涵蓋狀態運作狀態不佳問題欄會包含運作狀態不佳原因的其他資訊。

API/CLI
  • 使用您自己的有效偵測器 ID、目前區域和服務端點執行 ListCoverage API。您可以使用此 API 篩選和排序執行個體清單。

    • 您可以使用 CriterionKey 的下列選項之一變更範例 filter-criteria

      • ACCOUNT_ID

      • RESOURCE_TYPE

      • COVERAGE_STATUS

      • AGENT_VERSION

      • MANAGEMENT_TYPE

      • INSTANCE_ID

      • CLUSTER_ARN

    • filter-criteria包含 RESOURCE_TYPE 做為 EC2 時,執行期監控不支援使用 ISSUE 做為 AttributeName。如果您使用它,API 回應將導致 InvalidInputException

      您可以使用下列選項變更 sort-criteria 中的範例 AttributeName

      • ACCOUNT_ID

      • COVERAGE_STATUS

      • INSTANCE_ID

      • UPDATED_AT

    • 您可以變更 max-results (最多 50 個)。

    • 若要尋找detectorId您帳戶和目前區域的 ,請參閱 https://https://console.aws.amazon.com/guardduty/ 主控台中的設定頁面,或執行 ListDetectors API。

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "EKS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • 執行 GetCoverageStatistics API,以根據 statisticsType 擷取彙總的涵蓋範圍統計資料。

    • 您可以將範例 statisticsType 變更成下列選項之一:

      • COUNT_BY_COVERAGE_STATUS:表示依涵蓋範圍狀態彙總的 EKS 叢集涵蓋範圍統計資料。

      • COUNT_BY_RESOURCE_TYPE – 根據清單中 AWS 資源類型彙總的涵蓋範圍統計資料。

      • 您可以在命令中變更範例 filter-criteria。您可將下列選項用於 CriterionKey

        • ACCOUNT_ID

        • RESOURCE_TYPE

        • COVERAGE_STATUS

        • AGENT_VERSION

        • MANAGEMENT_TYPE

        • INSTANCE_ID

        • CLUSTER_ARN

    • 若要尋找detectorId您帳戶和目前區域的 ,請參閱 https://https://console.aws.amazon.com/guardduty/ 主控台中的設定頁面,或執行 ListDetectors API。

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

如果 EC2 執行個體的涵蓋範圍狀態不良,請參閱 對 Amazon EC2 執行期涵蓋範圍問題進行故障診斷

使用 EventBridge 通知變更涵蓋範圍狀態

Amazon EC2 執行個體的涵蓋範圍狀態可能顯示為運作狀態不佳。若要了解涵蓋範圍狀態何時變更,建議您定期監控涵蓋範圍狀態,並在狀態變成運作狀態不佳時進行故障診斷。或者,您可以建立 Amazon EventBridge 規則,以在涵蓋範圍狀態從運作狀態不佳變更為正常運作或其他狀態時收到通知。GuardDuty 預設在您帳戶的EventBridge 匯流排中發布此通知。

範例通知結構描述

在 EventBridge 規則中,您可以使用預先定義的範例事件和事件模式來接收涵蓋範圍狀態通知。如需有關建立 EventBridge 規則的詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的建立規則

此外,您可以使用下列範例通知結構描述來建立自訂事件模式。請務必替換您帳戶的值。若要在 Amazon EC2 執行個體的涵蓋範圍狀態從 變更為 Healthy 時收到通知Unhealthydetail-type 應該是 GuardDuty Runtime Protection Unhealthy。若要在涵蓋範圍狀態從 Unhealthy 變更成 Healthy 時收到通知,請使用 GuardDuty 執行期監控運作狀態不良取代 detail-type 的值。

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "AWS 帳戶 ID", "time": "event timestamp (string)", "region": "AWS 區域", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "EC2", "ec2InstanceDetails": { "instanceId":"", "instanceType":"", "clusterArn": "", "agentDetails": { "version":"" }, "managementType":"" } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

對 Amazon EC2 執行期涵蓋範圍問題進行故障診斷

如果 Amazon EC2 執行個體的涵蓋範圍狀態為狀況不良,您可以在問題欄下檢視原因。

如果您的 EC2 執行個體與 EKS 叢集相關聯,且 EKS 的安全代理程式是手動或透過自動代理程式組態安裝,則若要疑難排解涵蓋範圍問題,請參閱 Amazon EKS 叢集的執行期涵蓋範圍和疑難排解

下表列出問題類型和對應的故障診斷步驟。

問題類型 問題訊息 疑難排解步驟

無客服人員報告

等待 SSM 通知

接收 SSM 通知可能需要幾分鐘的時間。

確定 Amazon EC2 執行個體受 SSM 管理。如需詳細資訊,請參閱 中方法 1 - 使用 AWS Systems Manager 的步驟手動安裝安全代理程式

(空白)

如果您手動管理 GuardDuty 安全代理程式,請務必遵循 下的步驟手動管理 Amazon EC2 資源的安全代理程式

如果您已啟用自動代理程式組態:

驗證 Amazon EC2 執行個體的 VPC 端點是否已正確設定。如需詳細資訊,請參閱驗證 VPC 端點組態

如果您的組織有服務控制政策 (SCP),請確認許可界限未限制guardduty:SendSecurityTelemetry許可。如需詳細資訊,請參閱在多帳戶環境中驗證您的組織服務控制政策

客服人員中斷連線

  • 檢視安全代理程式的狀態。如需詳細資訊,請參閱驗證 GuardDuty 安全代理程式安裝狀態

  • 檢視安全代理程式日誌,以識別潛在的根本原因。日誌提供詳細的錯誤,您可以用來自行疑難排解問題。日誌檔案可在 下取得/var/log/amzn-guardduty-agent/

    執行 sudo journalctl -u amazon-guardduty-agent

未佈建代理程式

具有排除標籤的執行個體會從執行期監控中排除。

GuardDuty 不會從使用排除標籤 GuardDutyManaged: 啟動的 Amazon EC2 執行個體接收執行期事件false

若要從此 Amazon EC2 執行個體接收執行期事件,請移除排除標籤。

核心版本低於支援的版本。

如需跨作業系統分佈支援的核心版本的相關資訊,請參閱 驗證架構需求 for Amazon EC2 執行個體。

核心版本高於支援的版本。

如需跨作業系統分佈支援的核心版本的相關資訊,請參閱 驗證架構需求 for Amazon EC2 執行個體。

無法擷取執行個體身分文件。

請遵循下列步驟:

  1. 確認您的資源是 Amazon EC2 執行個體,而不是混合non-EC2 執行個體。

  2. 確認執行個體中繼資料服務 (IMDS) 已啟用。若要這樣做,請參閱《Amazon EC2 使用者指南》中的設定執行個體中繼資料服務選項

  3. 驗證執行個體身分文件是否存在。若要這樣做,請參閱《Amazon EC2 使用者指南》中的擷取執行個體身分文件Amazon EC2

  4. 如果執行個體身分文件仍然不存在,請重新啟動執行個體。執行個體停止、開始、重新開始或啟動時,會產生執行個體身分文件。

SSM 關聯建立失敗

您的帳戶中已存在 GuardDuty SSM 關聯

  1. 手動刪除現有的關聯。如需詳細資訊,請參閱AWS Systems Manager 《 使用者指南》中的刪除關聯

  2. 刪除關聯之後,請停用並重新啟用 Amazon EC2 的 GuardDuty 自動代理程式組態。

您的帳戶有太多 SSM 關聯

選擇下列兩個選項之一

  • 刪除任何未使用的 SSM 關聯。如需詳細資訊,請參閱AWS Systems Manager 《 使用者指南》中的刪除關聯

  • 檢查您的帳戶是否符合提高配額的資格。如需詳細資訊,請參閱《》中的 Systems Manager Service 配額AWS 一般參考

SSM 關聯更新失敗

GuardDuty SSM 關聯不存在於您的帳戶

您的帳戶中不存在 GuardDuty SSM 關聯。停用再重新啟用執行期監控。

SSM 關聯刪除失敗

GuardDuty SSM 關聯不存在於您的帳戶

您的帳戶中不存在 SSM 關聯。如果刻意刪除 SSM 關聯,則不需要採取任何動作。

SSM 執行個體關聯執行失敗

不符合架構要求或其他先決條件。

如需已驗證作業系統分佈的相關資訊,請參閱 Amazon EC2 執行個體支援的先決條件

如果您仍然遇到此問題,下列步驟將協助您識別並可能解決問題:

  1. 在 https://https://console.aws.amazon.com/systems-manager/ 開啟 AWS Systems Manager 主控台。

  2. 在導覽窗格中的節點管理下,選取狀態管理員

  3. 文件名稱屬性篩選,然後輸入 AmazonGuardDuty-ConfigureRuntimeMonitoringSsmPlugin

  4. 選取對應的關聯 ID 並檢視其執行歷史記錄

  5. 使用執行歷史記錄,檢視失敗、識別潛在根本原因,並嘗試解決它。

VPC 端點建立失敗

共用 VPC vpcId 不支援建立 VPC 端點

執行期監控支援在組織內使用共用 VPC。如需詳細資訊,請參閱搭配執行期監控使用共用 VPC

只有在搭配自動代理程式組態使用共用 VPC 時

共用 VPC vpcId 的擁有者帳戶 ID 111122223333 沒有啟用執行期監控、自動代理程式組態或兩者

共用 VPC 擁有者帳戶必須至少為一種資源類型 (Amazon EKS 或 Amazon ECS (AWS Fargate)) 啟用執行期監控和自動代理程式組態。如需詳細資訊,請參閱GuardDuty 執行期監控的特定先決條件

啟用私有 DNS 需要 enableDnsSupportenableDnsHostnames VPC 屬性針對 vpcId 設定為 true (服務:Ec2、狀態碼:400,請求 ID:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111)。

請確保將下列 VPC 屬性設定為 trueenableDnsSupportenableDnsHostnames。如需詳細資訊,請參閱 VPC 中的 DNS 屬性

如果您造訪 https://console.aws.amazon.com/vpc/ 以使用 Amazon VPC 主控台建立 Amazon VPC,請務必選擇啟用 DNS 主機名稱啟用 DNS 解析。如需詳細資訊,請參閱 VPC 組態選項

共用 VPC 端點刪除失敗

帳戶 ID 111122223333、共用 VPC vpcId、擁有者帳戶 ID 555555555555 不允許刪除共用 VPC 端點。

可能的步驟:
  • 停用共用 VPC 參與者帳戶的執行期監控狀態不會影響共用 VPC 端點政策和存在於擁有者帳戶中的安全群組。

    若要刪除共用 VPC 端點和安全群組,您必須在共用 VPC 擁有者帳戶中停用執行期監控或自動代理程式組態狀態。

  • 共用 VPC 參與者帳戶無法刪除託管在共用 VPC 擁有者帳戶中的共用 VPC 端點和安全群組。

客服人員未報告

(空白)

問題類型已結束支援。如果您繼續遇到此問題,但尚未遇到此問題,請為 Amazon EC2 啟用 GuardDuty 自動化代理程式。

如果問題仍然存在,請考慮停用執行期監控幾分鐘,然後再次啟用它。