

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

# 使用執行時期監控識別未經授權的行為
<a name="ecs-guard-duty-integration"></a>

Amazon GuardDuty 是一種威脅偵測服務，可協助保護您 AWS 環境中的帳戶、容器、工作負載和資料。GuardDuty 使用機器學習 (ML) 模型，以及異常和威脅偵測功能，持續監控不同的日誌來源和執行時期活動，以識別環境中的潛在安全風險和惡意活動和排定其優先順序。

GuardDuty 中的執行期監控透過持續監控 AWS 日誌和聯網活動來識別惡意或未經授權的行為，來保護 Fargate 和 EC2 容器執行個體上執行的工作負載。執行時期監控使用輕量且全受管的 GuardDuty 安全代理程式，可分析主機上的行為，例如檔案存取、程序執行與網路連線。這涵蓋的問題包括：提升權限、使用暴露的憑證、與惡意 IP 位址或網域通訊，以及 Amazon EC2 執行個體與容器工作負載上出現惡意軟體。如需詳細資訊，請參閱 *GuardDuty User Guide* 中的 [GuardDuty Runtime Monitoring](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html)。

您的安全管理員可以在 AWS Organizations 中，為一或多個帳戶啟用 GuardDuty 的執行時期監控功能。他們也會選取當您使用 Fargate 時，GuardDuty 是否自動部署 GuardDuty 安全代理程式。所有叢集都會自動受到保護，GuardDuty 會代為管理安全代理程式。

在下列情況下，您也可以手動設定 GuardDuty 安全代理程式：
+ 使用 EC2 容器執行個體
+ 您需要精細控制權限，在叢集層級啟用執行時期監控

若要使用執行時期監控，必須設定受保護的叢集，並在 EC2 容器執行個體上安裝並管理 GuardDuty 安全代理程式。

## 執行時期監控如何與 Amazon ECS 搭配運作
<a name="ecs-runtime-monitoring-events"></a>

執行時期監控使用輕量型 GuardDuty 安全代理程式，該程式會監控 Amazon ECS 工作負載的活動，藉此分析應用程式如何請求、取得存取權及消耗底層系統資源。

對於 Fargate 任務，GuardDuty 安全代理程式會作為每個任務的邊車容器執行。

對於 EC2 容器執行個體，GuardDuty 安全代理程式會在執行個體上作為程序執行。

GuardDuty 安全代理程式會收集下列資源的資料，然後將資料傳送至 GuardDuty 進行處理。您可以在 GuardDuty 主控台中檢視調查結果。您也可以將它們傳送到其他 AWS Security Hub CSPM， AWS 服務 例如 或第三方安全廠商，以進行彙總和修復。如需有關如何檢視與管理調查結果的資訊，請參閱 *Amazon GuardDuty User Guide* 中的 [Managing Amazon GuardDuty findings](https://docs.aws.amazon.com/guardduty/latest/ug/findings_management.html)。
+ 下列 Amazon ECS API 呼叫的回應：
  + [https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html)

    當您使用 `--include TAGS` 選項時，回應參數包含執行時期監控標籤 (如果設定了標籤)。
  + [https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)

    對於 Fargate，回應參數包含 GuardDuty 邊車容器。
  + [https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListAccountSettings.html](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListAccountSettings.html)

    回應參數包含執行時期監控的帳戶設定，該設定安全管理員進行。
+ 容器代理程式自我檢查資料。如需詳細資訊，請參閱[Amazon ECS 容器自我檢查](ecs-agent-introspection.md)。
+ 運算選項的任務中繼資料端點：
  +  [Amazon ECS 任務中繼資料端點第 4 版](task-metadata-endpoint-v4.md)
  +  [Fargate 上任務的 Amazon ECS 任務中繼資料端點第 4 版](task-metadata-endpoint-v4-fargate.md)

## 考量事項
<a name="ecs-guard-duty-support"></a>

使用執行時期監控時，建議考量下列事項：
+ 執行時期監控會產生相關成本。如需更多資訊，請參閱 [Amazon GuardDuty 定價](https://aws.amazon.com/guardduty/pricing/)。
+ Amazon ECS Anywhere 不支援執行時期監控。
+ Windows 作業系統不支援執行時期監控。
+ 當您在 Fargate 上使用 Amazon ECS Exec 時，必須指定容器名稱，因為 GuardDuty 安全代理程式會作為邊車容器執行。
+ 您無法在 GuardDuty 安全代理程式邊車容器上使用 Amazon ECS Exec。
+ 在叢集層級控制執行時期監控的 IAM 使用者，必須具備適當的 IAM 許可才能進行標籤作業。如需詳細資訊，請參閱《[IAM 使用者指南》中的 IAM 教學課程：定義根據標籤存取 AWS 資源的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。 **
+ Fargate 任務必須使用任務執行角色。此角色會授予任務許可，使其能代為擷取、更新與管理儲存在 Amazon ECR 私有儲存庫中的 GuardDuty 安全代理程式。
+ 在 Amazon ECS 受管執行個體上執行的應用程式不支援執行時期監控。

## 資源使用率
<a name="ecs-guard-duty-resources"></a>

您新增至叢集的標籤會計入叢集標籤配額。

GuardDuty 代理程式邊車容器不會計入每個任務定義配額的容器數目。

與大多數安全軟體一樣，GuardDuty 也有少量額外負荷。如需有關 Fargate 記憶體限制的資訊，請參閱 *GuardDuty User Guide* 中的 [CPU and memory limits](https://docs.aws.amazon.com/guardduty/latest/ug/prereq-runtime-monitoring-ecs-support.html#ecs-runtime-agent-cpu-memory-limits)。如需有關 Amazon EC2 記憶體限制的資訊，請參閱 [CPU and memory limit for GuardDuty agent](https://docs.aws.amazon.com/guardduty/latest/ug/prereq-runtime-monitoring-ec2-support.html#ec2-cpu-memory-limits-gdu-agent)。