Container Security 支援對連接的 Amazon ECS Fargate 容器進行保護
重要您必須在繼續之前連接託管 Fargate 容器的 Amazon ECS 叢集。
|
您可以手動將容器安全性與 AWS Fargate 一起部署到您的 Amazon ECS 容器中。在部署容器安全性時,您應該注意以下事項:
- 容器必須具有網路連接。
- Container Security 使用
ptrace
來檢查容器。如果您也在使用ptrace
,監控可能無法正常運作。 - Container Security 在任務定義中啟用
pidMode
。啟用pidMode
將導致每個任務僅有一個 ECS Exec 會話。欲了解詳細資訊,請參閱 使用 Amazon ECS Exec 進行除錯。 - 在 Fargate 上執行容器安全性需要至少 1 個 vCPU(1024 個 CPU 單位)和 512MiB 記憶體。請參考 AWS 任務大小表 來確定在 Fargate 上執行容器安全性和工作負載的適當任務大小。
- Trend 建議您使用 AWS CLI 輸入任務定義,而不是使用 CloudFormation 模板。
步驟
- 在 Trend Vision One 主控台中,依次選擇 。
- 在樹狀結構中,點選Amazon ECS,找到並點選列表中的 Fargate 叢集。
- 開啟Runtime Security。
- 在另一個瀏覽器標籤中,登入託管叢集的 AWS 帳戶。
重要
以下 AWS 指示和螢幕截圖截至 2024 年三月 25 日有效。如需進一步幫助,請查閱您的 AWS 文件。 - 配置允許 Container Security 訪問您 Fargate 容器的身份和訪問管理 (IAM) 策略。
- 在 AWS 中搜尋並前往 IAM 設定。
- 點選Policies和Create policy。
- 點選JSON,提供以下代碼,然後點選下一步。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": "arn:aws:ssm:${Region}:${Account}:parameter/V1CS/*" } ] }
位置:-
$(Region) - Fargate 容器託管的區域(例如,us-east-1)
-
$Account) - 管理 Fargate 容器的 AWS 帳戶
-
- 指定一個唯一的Policy name(例如:ContainerSecurityIAMPolicy),然後點選Create policy。
- 使用新建立的政策(在此範例中:ContainerSecurityIAMPolicy)配置身份和存取管理(IAM)角色。
- 在 AWS 身分與存取管理 (IAM) 中,點選Roles,然後點選Create role。
- 在 Select trusted entity 畫面中,設定以下內容並點選 下一步。
-
受信任的實體類型:AWS service
-
服務或使用案例:Elastic Container Service
-
使用案例:Elastic Container Service Task
-
- 在Add permissions畫面中,找到並選取您建立的容器安全性政策(ContainerSecurityIAMPolicy),然後點選下一步。
- 在Name, review, and create畫面中,為角色提供一個唯一的名稱(例如,ContainerSecurityRole),然後點選Create role。
- 在 AWS 身分與存取管理 (IAM) 中,點選Roles,然後點選Create role。
- 使用新創建的角色(在此範例中:ContainerSecurityRole)配置 Amazon Elastic Container Service 任務定義。
- 在 AWS 中搜尋並前往 Amazon Elastic Container Service 設定。
- 點選Task definitions和 。
- 在Create new task definition畫面中,配置以下設定:
-
任務定義家長名稱:新任務定義的唯一名稱(例如,ContainerSecurityTaskDefinition
-
任務角色:您創建的容器安全角色 (ContainerSecurityRole)
-
容器設定:指定容器名稱和Image URI,以保護您想要的 Fargate 容器
-
- 點選Create。
- 回到Task definitions表格,點選您剛剛建立的任務定義(ContainerSecurityTaskDefinition),然後點選最新的修訂版。
- 點選JSON標籤頁,然後點選Download JSON。
- 從以下位置下載最新的趨勢科技 Fargate 工具容器映像:
- 在上傳到 ECS 並運行之前,請在本地或作為您 CICD 流程的一部分運行修補工具以修補您的 ECS 任務定義。這會將運行時安全應用程式添加到您的 ECS 任務定義中。當您運行 ECS 任務時,它會與您的任務一起執行運行時安全應用程式。範例 1:從檔案輸入並輸出到檔案。
docker run -ti \ -v <inputfile_path>:/mnt/input \ -v <outputfile_path>:/mnt/output \ trendmicrocloudone/ecs-taskdef-patcher:x.y.z \ -i /mnt/input/<inputfile_name> \ -o /mnt/output/<outputfile_name>
範例 2:從 STDIN 輸入並輸出到 STDOUT,並將 Proxy 設定為http://10.10.10.10:8080
cat input_file.json | docker run -ti --rm \ trendmicrocloudone/ecs-taskdef-patcher:x.y.z -p http://10.10.10.10:8080
執行標誌說明旗標值預設說明-ipath/inputfile.name標準輸入輸入檔案名稱和路徑,預設為 STDIN-opath/outputfile.name標準輸出輸出檔案名稱和路徑,預設為 STDOUT-tjson, 雲端組態JSON輸入和輸出格式,預設為 json。TheCloudFormation 模板支援 JSON 和 YAML,但只接受預設輸出格式為 YAML 的檔案輸入。-phttp(s)://proxy.fqdn.or.ip:port無 ProxyScout 連接 Container Security 的 Proxy 設定-scout-imageregistry/scout@sha254:xxxtrendmicrocloudone/scout@sha256:xxx偵查影像位置資訊-falco-映像registry/falco@sha254:xxxtrendmicrocloudone/falco@sha256:xxxFalco 圖像位置資訊-pdig-imageregistry/pdig@sha254:xxxtrendmicrocloudone/pdig@sha256:xxxpdig 圖像位置資訊 - 上傳並啟動您修改過的 ECS 任務定義。
重要
一旦您啟動了修改後的 ECS 任務定義檔案,執行期安全性便會啟動。由於執行期安全性是由任務定義檔案控制的,容器安全性無法驗證該功能的狀態。如果您將來更改任務定義,容器安全性控制台可能無法準確反映執行期安全性的狀態。