ビュー:

Container Securityは、接続されたAmazon ECS Fargateコンテナの保護をサポートします

重要
重要
続行する前に、FargateコンテナをホストするAmazon ECSクラスタを接続する必要があります。
Container SecurityをAWS FargateとともにAmazon ECSコンテナに手動でデプロイできます。 Container Securityをデプロイする場合は、次の点に注意する必要があります。
  • コンテナはインターネットにアクセスできる必要があります。
  • Container Securityの用途ptraceコンテナを検査します。も使用している場合ptrace 、監視が正しく機能しない可能性があります。
  • Container Securityでは、pidModeタスク定義にあります。有効にするpidModeタスクごとに1つのECS Execセッションのみが実行されます。詳細については、を参照してください。デバッグにAmazon ECS Execを使用する
  • FargateのContainer Securityには、1つ以上のvCPU (1024 CPUユニット) と512MiBのメモリが必要です。 AWSをフォローするタスクサイズ表Container SecurityとFargateでのワークロードを実行するための適切なタスクサイズを決定します。
  • CloudFormationテンプレートではなく、AWS CLIを使用してタスク定義を入力することをお勧めします。

手順

  1. Trend Vision Oneコンソール、[Cloud Security][Container Security][Container Inventory]
  2. ツリーで [Amazon ECS]をクリックし、リストでFargateクラスタを見つけてクリックします。
  3. [ランタイムセキュリティ]をオンにします。
  4. 別のブラウザタブで、クラスタをホストするAWSアカウントにサインインします。
    重要
    重要
    次のAWSの手順と画面キャプチャは、2024年3月25日現在のものです。 詳細については、AWSのドキュメントを確認してください。
  5. Container SecurityからFargateコンテナへのアクセスを許可するIdentity and Access Management (IAM) ポリシーを設定します。
    1. AWSのIAM設定を検索して、その場所に移動します。
    2. [ポリシー] および [ポリシーを作成]をクリックします。
      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. 一意の [ポリシー名] を指定します (例: ContainerSecurityIAMPolicy ) をクリックし、 [ポリシーを作成]をクリックします。
      csAwsCreatePolicyFinish=20240325114242.jpg
  6. 新しく作成したポリシーを使用して、 Identity and Access Management(IAM) の役割を設定します (例: ContainerSecurityIAMPolicy )。
    1. AWS Identity and Access Management (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] 画面で、作成したContainer Securityポリシーを見つけて選択します ( ContainerSecurityIAMPolicy ) をクリックし、 [次へ]をクリックします。
      csAwsCreateRoleServicePolicy=20240325115757.jpg
    4. [Name, review, and create] 画面で、役割に一意の名前を付けます (例: ContainerSecurityRole ) をクリックし、 [Create role]をクリックします。
  7. 新しく作成したロールを使用して、Amazon Elastic Container Serviceのタスク定義を設定します (例: ContainerSecurityRole )。
    1. AWSでAmazon Elastic Container Serviceの設定を検索して移動します。
    2. [Task definitions] をクリックし、[Create new task definition][Create new task definition]
      csAwsCreateTaskDefinition=20240326100505.jpg
    3. [Create new task definition] 画面で、次の設定を行います。
      • タスク定義ファミリ名: 新しいタスク定義の一意の名前 (例: ContainerSecurityTaskDefinition
      • タスクの役割: 作成したContainer Securityの役割 ( ContainerSecurityRole )
      • コンテナ設定:Container Securityで保護するFargateコンテナのコンテナ名と [Image URI] を指定します。
      csAwsCreateTaskDefinitionSettings=20240326102929.jpg
    4. [作成] をクリックします。
    5. [Task definitions] テーブルに戻り、作成したタスク定義 ( ContainerSecurityTaskDefinition ) をクリックし、最新のリビジョンをクリックします。
    6. [JSON] タブをクリックし、 [Download JSON]をクリックします。
      csAwsTaskDefinitionDownload=20240326104545.jpg
  8. 最新のトレンドマイクロ Fargateツールコンテナイメージを次の場所からダウンロードします。
  9. 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への出力、およびプロキシを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です。
    CloudFormationテンプレートはJSONとYAMLをサポートしていますが、デフォルトの出力形式がYAMLであるファイルからの入力のみを受け入れます。
    -p
    http(s)://proxy.fqdn.or.ip:port
    プロキシなし
    ScoutがContainer Securityに接続するためのプロキシ設定
    -scout-image
    registry/scout@sha254:xxx
    Trendmicrocloudone/scout@sha256:xxx
    スカウト画像の場所
    -falco-image
    registry/falco@sha254:xxx
    Trendmicrocloudone/falco@sha256:xxx
    Falco画像の場所
    -pdig-image
    registry/pdig@sha254:xxx
    Trendmicrocloudone/pdig@sha256:xxx
    pdigイメージの場所
  10. 変更したECSタスク定義をアップロードして起動します。
    重要
    重要
    変更したECSタスク定義ファイルを起動すると、ランタイムセキュリティが有効になります。実行時セキュリティはタスク定義ファイルによって制御されるため、 Container Securityは機能のステータスを確認できません。今後タスク定義を変更すると、 Container Securityコンソールにランタイムセキュリティのステータスが正確に反映されない可能性があります。