

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

# Amazon ECS 中的 Fargate 安全最佳實務
<a name="security-fargate"></a>

建議您在使用 AWS Fargate時考量下列最佳實務。如需其他指引，請參閱 [的安全概觀 AWS Fargate](https://d1.awsstatic.com/whitepapers/AWS_Fargate_Security_Overview_Whitepaper.pdf)。

## 使用 AWS KMS 加密 Fargate 的暫時性儲存
<a name="security-fargate-ephemeral-storage-encryption"></a>

您應該讓 AWS KMS 或您自己的客戶受管金鑰加密暫時性儲存。對於使用平台版本 `1.4.0` 或更新版本，且託管於 Fargate 上的任務，每個任務都會配置至少 20 GiB 的暫時性儲存。如需詳細資訊，請參閱[客戶自管金鑰 (CMK)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-storage-encryption.html)。您可以增加暫時性儲存的總量，最多可達 200 GiB，方法是在任務定義中指定 `ephemeralStorage` 參數。對於 2020 年 5 月 28 日當日或之後啟動的此類任務，其暫時性儲存空間均採用 AES-256 加密演算法，並透過 Fargate 託管的加密金鑰進行加密。

如需詳細資訊，請參閱 [Amazon ECS 任務的儲存選項](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html)。

**範例：在 Fargate 平台版本 1.4.0 上啟動具有暫時性儲存加密功能的任務**

以下命令將在 Fargate 平台版本 1.4 上啟動任務。由於此任務是作為叢集的組成部分啟動，因此任務會使用自動加密的 20 GiB 暫時性儲存。

```
aws ecs run-task --cluster clustername \
  --task-definition taskdefinition:version \
  --count 1
  --launch-type "FARGATE" \
  --platform-version 1.4.0 \
  --network-configuration "awsvpcConfiguration={subnets=[subnetid],securityGroups=[securitygroupid]}" \ 
  --region region
```

## Fargate 核心系統呼叫追蹤的 SYS\$1PTRACE 功能
<a name="security-fargate-syscall-tracing"></a>

由 Docker 提供從容器中新增或刪除的 Linux 功能預設組態。

在 Fargate 上啟動的任務僅支援新增 `SYS_PTRACE` 核心功能。

下列影片說明如何透過 Sysdig [Falco](https://github.com/falcosecurity/falco) 專案使用此功能。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/OYGKjmFeLqI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/OYGKjmFeLqI)


在上一個影片中討論的程式碼可以在 GitHub [這裡](https://github.com/paavan98pm/ecs-fargate-pv1.4-falco)找到。

## 搭配 Fargate 執行時期監控使用 Amazon GuardDuty
<a name="fargate-runtime-monitoring"></a>

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

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