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を使用してタスク定義を入力することをお勧めします。
手順
- でTrend Vision Oneコンソール、 。
- ツリーで [Amazon ECS]をクリックし、リストでFargateクラスタを見つけてクリックします。
- [ランタイムセキュリティ]をオンにします。
- 別のブラウザタブで、クラスタをホストするAWSアカウントにサインインします。
重要
次のAWSの手順と画面キャプチャは、2024年3月25日現在のものです。 詳細については、AWSのドキュメントを確認してください。 - Container SecurityからFargateコンテナへのアクセスを許可するIdentity and Access Management (IAM) ポリシーを設定します。
- AWSのIAM設定を検索して、その場所に移動します。
- [ポリシー] および [ポリシーを作成]をクリックします。
- [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アカウント
-
- 一意の [ポリシー名] を指定します (例: ContainerSecurityIAMPolicy ) をクリックし、 [ポリシーを作成]をクリックします。
- 新しく作成したポリシーを使用して、 Identity and Access Management(IAM) の役割を設定します (例: ContainerSecurityIAMPolicy )。
- AWS Identity and Access Management (IAM) で、 [Roles] をクリックし、 [Create role]をクリックします。
- [Select trusted entity] 画面で、次のように設定し、 [次へ]をクリックします。
-
信頼できるエンティティの種類: [AWS service]
-
サービスまたはユースケース: [Elastic Container Service]
-
ユースケース: [Elastic Container Service Task]
-
- [Add permissions] 画面で、作成したContainer Securityポリシーを見つけて選択します ( ContainerSecurityIAMPolicy ) をクリックし、 [次へ]をクリックします。
- [Name, review, and create] 画面で、役割に一意の名前を付けます (例: ContainerSecurityRole ) をクリックし、 [Create role]をクリックします。
- AWS Identity and Access Management (IAM) で、 [Roles] をクリックし、 [Create role]をクリックします。
- 新しく作成したロールを使用して、Amazon Elastic Container Serviceのタスク定義を設定します (例: ContainerSecurityRole )。
- AWSでAmazon Elastic Container Serviceの設定を検索して移動します。
- [Task definitions] をクリックし、 。
- [Create new task definition] 画面で、次の設定を行います。
-
タスク定義ファミリ名: 新しいタスク定義の一意の名前 (例: ContainerSecurityTaskDefinition
-
タスクの役割: 作成したContainer Securityの役割 ( ContainerSecurityRole )
-
コンテナ設定:Container Securityで保護するFargateコンテナのコンテナ名と [Image URI] を指定します。
-
- [作成] をクリックします。
- [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への出力、およびプロキシを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です。CloudFormationテンプレートはJSONとYAMLをサポートしていますが、デフォルトの出力形式がYAMLであるファイルからの入力のみを受け入れます。-phttp(s)://proxy.fqdn.or.ip:portプロキシなしScoutがContainer Securityに接続するためのプロキシ設定-scout-imageregistry/scout@sha254:xxxTrendmicrocloudone/scout@sha256:xxxスカウト画像の場所-falco-imageregistry/falco@sha254:xxxTrendmicrocloudone/falco@sha256:xxxFalco画像の場所-pdig-imageregistry/pdig@sha254:xxxTrendmicrocloudone/pdig@sha256:xxxpdigイメージの場所 - 変更したECSタスク定義をアップロードして起動します。
重要
変更したECSタスク定義ファイルを起動すると、ランタイムセキュリティが有効になります。実行時セキュリティはタスク定義ファイルによって制御されるため、 Container Securityは機能のステータスを確認できません。今後タスク定義を変更すると、 Container Securityコンソールにランタイムセキュリティのステータスが正確に反映されない可能性があります。