檢視次數:

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 模板。

步驟

  1. Trend Vision One 主控台中,依次選擇 Cloud SecurityContainer SecurityContainer Inventory
  2. 在樹狀結構中,點選Amazon ECS,找到並點選列表中的 Fargate 叢集。
  3. 開啟Runtime Security
  4. 在另一個瀏覽器標籤中,登入託管叢集的 AWS 帳戶。
    重要
    重要
    以下 AWS 指示和螢幕截圖有效日期為 2024 年三月 25 日。如需進一步幫助,請查閱您的 AWS 文件。
  5. 配置允許 Container Security 存取您 Fargate 容器的身份和存取管理 (IAM) 政策。
    1. 在 AWS 中搜尋並前往 IAM 設定。
    2. 點選PoliciesCreate policy
      csAwsCreatePolicy=20240325113535.jpg
    3. 點選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 帳戶
      csAwsCreatePolicyJSON=20240325114040.jpg
    4. 指定一個唯一的Policy name(例如:ContainerSecurityIAMPolicy),然後點選Create policy
      csAwsCreatePolicyFinish=20240325114242.jpg
  6. 使用新建立的政策(在此範例中:ContainerSecurityIAMPolicy)配置身份和存取管理(IAM)角色。
    1. 在 AWS 身分與存取管理 (IAM) 中,點選Roles,然後點選Create role
      csAwsCreateRole=20240325114949.jpg
    2. Select trusted entity畫面中,設定以下內容並點選下一步
      • 受信任的實體類型:AWS service
      • 服務或使用案例:Elastic Container Service
      • 使用案例:Elastic Container Service Task
      csAwsCreateRoleService=20240325115357.jpg
    3. Add permissions畫面中,找到並選取您建立的容器安全性政策(ContainerSecurityIAMPolicy),然後點選下一步
      csAwsCreateRoleServicePolicy=20240325115757.jpg
    4. Name, review, and create畫面中,為角色提供一個唯一的名稱(例如,ContainerSecurityRole),然後點選Create role
  7. 使用新創建的角色(在此範例中:ContainerSecurityRole)配置 Amazon Elastic Container Service 任務定義。
    1. 在 AWS 中搜尋並前往 Amazon Elastic Container Service 設定。
    2. 點選Task definitionsCreate new task definitionCreate new task definition
      csAwsCreateTaskDefinition=20240326100505.jpg
    3. Create new task definition畫面中,配置以下設定:
      • 任務定義家長名稱:新任務定義的唯一名稱(例如,ContainerSecurityTaskDefinition
      • 任務角色:您創建的容器安全角色 (ContainerSecurityRole)
      • 容器設定:指定容器名稱和Image URI,以保護您想要的 Fargate 容器
      csAwsCreateTaskDefinitionSettings=20240326102929.jpg
    4. 點選Create
    5. 回到Task definitions表格,點選您剛剛建立的任務定義(ContainerSecurityTaskDefinition),然後點選最新的修訂版本。
    6. 點選JSON標籤,然後點選Download JSON
      csAwsTaskDefinitionDownload=20240326104545.jpg
  8. 從以下位置下載最新的趨勢科技 Fargate 工具容器映像:
  9. 在本地或作為您CICD流程的一部分運行修補工具,以在上傳到ECS並運行之前修補您的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
    執行標誌說明
    旗標
    預設
    說明
    -i
    path/inputfile.name
    標準輸入
    輸入檔案名稱和路徑,預設為 STDIN
    -o
    path/outputfile.name
    標準輸出
    輸出檔案名稱和路徑,預設為 STDOUT
    -t
    json, 雲端組態
    JSON
    輸入和輸出格式,預設為 json。
    TheCloudFormation 模板支援 JSON 和 YAML,但只接受預設輸出格式為 YAML 的檔案輸入。
    -p
    http(s)://proxy.fqdn.or.ip:port
    無 Proxy
    Scout 連接 Container Security 的 Proxy 設定
    -scout-image
    registry/scout@sha254:xxx
    trendmicrocloudone/scout@sha256:xxx
    偵查影像位置資訊
    -falco-映像
    registry/falco@sha254:xxx
    trendmicrocloudone/falco@sha256:xxx
    Falco 圖像位置資訊
    -pdig-image
    registry/pdig@sha254:xxx
    trendmicrocloudone/pdig@sha256:xxx
    pdig 圖像位置資訊
  10. 上傳並啟動您修改過的 ECS 任務定義。
    重要
    重要
    一旦您啟動了修改後的 ECS 任務定義檔案,運行時安全性便會啟動。由於運行時安全性是由任務定義檔案控制的,容器安全無法驗證該功能的狀態。如果您將來更改任務定義,容器安全控制台可能無法準確反映運行時安全性的狀態。