Ansichten:

Container Security unterstützt den Schutz von verbundenen Amazon ECS Fargate-Containern.

Wichtig
Wichtig
Bevor Sie fortfahren, müssen Sie:
Sie können Container Security manuell zusammen mit AWS Fargate in Ihrem Amazon ECS-Container bereitstellen. Beim Bereitstellen von Container Security sollten Sie Folgendes beachten:
  • Der Container muss über Internetzugang verfügen.
  • Container Security verwendet ptrace, um die Container zu überprüfen. Wenn Sie ebenfalls ptrace verwenden, funktioniert die Überwachung möglicherweise nicht korrekt.
  • Container Security ermöglicht pidMode in der Aufgabenbeschreibung. Das Aktivieren von pidMode führt zu nur einer ECS Exec-Sitzung pro Aufgabe. Weitere Informationen finden Sie unter Verwendung von Amazon ECS Exec zur Fehlerbehebung.
  • Container Security auf Fargate erfordert mindestens 1 vCPU (1024 CPU-Einheiten) und 512 MiB Speicher. Folgen Sie der AWS Aufgabengrößentabelle, um die geeignete Aufgabengröße für den Betrieb von Container Security und Workloads auf Fargate zu bestimmen.
  • Trend empfiehlt, die Aufgabenbeschreibung mit der AWS CLI einzugeben, anstatt die CloudFormation-Vorlage zu verwenden.

Prozedur

  1. In der Trend Vision One Konsole navigieren Sie zu Cloud SecurityContainer SecurityInventory/Overview.
  2. Klicken Sie im Baum auf Amazon ECS, suchen Sie den Fargate-Cluster in der Liste und klicken Sie darauf.
  3. Aktivieren Sie Runtime Security.
  4. Melden Sie sich in einem anderen Browser-Tab bei dem AWS-Konto an, das den Cluster hostet.
    Wichtig
    Wichtig
    Die folgenden AWS-Anweisungen und Bildschirmfotos waren gültig ab dem 25. März 2024. Für weitere Hilfe konsultieren Sie Ihre AWS-Dokumentation.
  5. Konfigurieren Sie eine Identity and Access Management (IAM)-Richtlinie, die Container Security den Zugriff auf Ihren Fargate-Container erlaubt.
    1. Suchen Sie nach den IAM-Einstellungen in AWS und gehen Sie dorthin.
    2. Klicken Sie auf Richtlinien und auf Create policy.
      csAwsCreatePolicy=20240325113535.jpg
    3. Klicken Sie auf JSON, geben Sie den folgenden Code ein und klicken Sie auf Weiter.
      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ssm:GetParameter"
                  ],
                  "Resource": "arn:aws:ssm:${Region}:${Account}:parameter/V1CS/*"
              }
          ]
      }
      Wobei gilt:
      • $(Region) - Die Region, in der der Fargate-Container gehostet wird (zum Beispiel us-east-1)
      • $Account) - Das AWS-Konto, das den Fargate-Container verwaltet
      csAwsCreatePolicyJSON=20240325114040.jpg
    4. Geben Sie eine eindeutige Richtlinienname an (zum Beispiel: ContainerSecurityIAMPolicy) und klicken Sie auf Create policy.
      csAwsCreatePolicyFinish=20240325114242.jpg
  6. Konfigurieren Sie eine Identity and Access Management (IAM)-Rolle mit der neu erstellten Richtlinie (im Beispiel: ContainerSecurityIAMPolicy).
    1. Klicken Sie in AWS Identity and Access Management (IAM) auf Rollen und dann auf Create role.
      csAwsCreateRole=20240325114949.jpg
    2. Stellen Sie im Fenster Select trusted entity die folgenden Einstellungen ein, und klicken Sie auf Weiter.
      • Vertrauenswürdiger Entitätstyp: AWS service
      • Dienst oder Anwendungsfall: Elastic Container Service
      • Anwendungsfall: Elastic Container Service Task
      csAwsCreateRoleService=20240325115357.jpg
    3. Im Bildschirm Add permissions suchen und wählen Sie die von Ihnen erstellte Container Security-Richtlinie (ContainerSecurityIAMPolicy) aus und klicken Sie auf Weiter.
      csAwsCreateRoleServicePolicy=20240325115757.jpg
    4. Geben Sie im Bildschirm Name, review, and create einen eindeutigen Namen für die Rolle ein (zum Beispiel ContainerSecurityRole) und klicken Sie auf Create role.
  7. Konfigurieren Sie eine Amazon Elastic Container Service-Aufgabendefinition mit der neu erstellten Rolle (im Beispiel: ContainerSecurityRole).
    1. Suchen Sie die Amazon Elastic Container Service-Einstellungen in AWS und gehen Sie dorthin.
    2. Klicken Sie auf Task definitions und Create new task definitionCreate new task definition.
      csAwsCreateTaskDefinition=20240326100505.jpg
    3. Konfigurieren Sie im Bildschirm Create new task definition die folgenden Einstellungen:
      • Aufgabendefinitionsname der Familie: Ein eindeutiger Name für die neue Aufgabendefinition (zum Beispiel, ContainerSecurityTaskDefinition
      • Aufgabenrolle: Die Container Security-Rolle, die Sie erstellt haben (ContainerSecurityRole)
      • Container-Einstellungen: Geben Sie einen Containernamen und die Image URI für den Fargate-Container an, den Container Security schützen soll
      csAwsCreateTaskDefinitionSettings=20240326102929.jpg
    4. Klicken Sie auf Erstellen.
    5. Zurück in der Task definitions-Tabelle, klicken Sie auf die soeben erstellte Aufgaben-Definition (ContainerSecurityTaskDefinition) und wählen Sie die neueste Revision aus.
    6. Klicken Sie auf die Registerkarte JSON und dann auf Download JSON.
      csAwsTaskDefinitionDownload=20240326104545.jpg
  8. Laden Sie das neueste Trend Micro Fargate-Tools-Container-Image herunter von:
  9. Führen Sie das Patch-Tool lokal oder als Teil Ihres CICD-Prozesses aus, um Ihre ECS-Aufgaben-Definition zu patchen, bevor Sie sie zu ECS hochladen und ausführen.
    Dies fügt die Laufzeitsicherheitsanwendung zu Ihrer ECS-Aufgabendefinition hinzu. Wenn Sie Ihre ECS-Aufgabe ausführen, wird die Laufzeitsicherheitsanwendung zusammen mit Ihrer Aufgabe ausgeführt.
    Beispiel 1: Eingabe aus Datei und Ausgabe in Datei.
    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>
    Beispieltext:
    docker run -t \
      -v /home/demo/Downloads:/mnt/input \
      -v /home/demo/Downloads:/mnt/output \
      trendmicrocloudone/ecs-taskdef-patcher:2.5.1 \
      -i /mnt/input/fargate-task-definition.json \
      -o /mnt/output/fargate-task-definition-patch-251.json
    Beispiel 2: Eingabe von STDIN und Ausgabe zu STDOUT, und Proxy auf http://10.10.10.10:8080 setzen.
    Hinweis
    Hinweis
    Der -p http://10.10.10.10:8080-Parameter ist eine optionale Proxy-Einstellung.
    cat fargate-task-definition.json | docker run -i --rm \
      trendmicrocloudone/ecs-taskdef-patcher:x.y.z -p http://10.10.10.10:8080
    Erläuterung der Ausführungskennzeichen
    Hinweis
    Hinweis
    Standardmäßig sind -falco-image, -scout-image und -pdig-image optionale Parameter. Wenn Sie keine Version zuweisen, verwendet das Programm die neueste Version.
    Flagge
    Wert
    Standard
    Beschreibung
    -i
    pfad/eingabedatei.name
    STDIN
    Dateiname und Pfad eingeben, Standard ist STDIN
    -o
    path/outputfile.name
    STDOUT
    Ausgabedateiname und -pfad, Standard ist STDOUT
    -t
    json, cloudformation
    JSON
    Eingabe- und Ausgabeformat, Standard ist JSON.
    Die CloudFormation-Vorlage unterstützt JSON und YAML, akzeptiert jedoch nur Eingaben aus Dateien, deren Standardausgabeformat YAML ist.
    -p
    http(s)://proxy.fqdn.or.ip:port
    Kein Proxy
    Proxy-Einstellungen für Scout zur Verbindung mit Container Security
    -scout-bild
    registry/scout@sha254:xxx
    ODER:
    registry/scout:version
    trendmicrocloudone/scout@sha256:xxx
    ODER:
    public.ecr.aws/trendmicro/container-security/scout:2.4.1
    Scout-Bildstandort
    -falco-image
    registry/falco@sha254:xxx
    ODER:
    registry/falco:version
    trendmicrocloudone/falco@sha256:xxx
    ODER:
    public.ecr.aws/trendmicro/container-security/falco:2.4.1
    Falco-Bildspeicherort
    -pdig-image
    registry/pdig@sha254:xxx
    ODER:
    registry/pdig:version
    trendmicrocloudone/pdig@sha256:xxx
    ODER:
    public.ecr.aws/trendmicro/container-security/pdig:2.4.1
    pdig Bildstandort
  10. Laden Sie Ihre geänderte ECS-Aufgabendefinition hoch und starten Sie sie.
    Wichtig
    Wichtig
    Sobald Sie die geänderte ECS-Task-Definitionsdatei gestartet haben, wird die Laufzeitsicherheit aktiv. Da die Laufzeitsicherheit durch die Task-Definitionsdatei gesteuert wird, kann Container Security den Status der Funktion nicht überprüfen. Die Container Security-Konsole spiegelt möglicherweise nicht genau den Status der Laufzeitsicherheit wider, wenn Sie die Task-Definitionen in Zukunft ändern.