Práticas recomendadas de segurança do Fargate no Amazon ECS - Amazon Elastic Container Service

Práticas recomendadas de segurança do Fargate no Amazon ECS

Recomendamos que você leve em consideração as práticas recomendadas a seguir ao usar o AWS Fargate. Para obter orientação adicional, consulte Visão geral de segurança do AWS Fargate.

Uso do AWS KMS para criptografar o armazenamento temporário para o Fargate

Você deve ter seu armazenamento temporário criptografado por um AWS KMS ou por suas próprias chaves gerenciadas pelo cliente. Para tarefas hospedadas no Fargate usando a versão da plataforma 1.4.0 ou posterior, cada tarefa recebe 20 GiB de armazenamento efêmero. Para obter mais informações, consulte chave gerenciada pelo cliente (CMK). É possível aumentar a quantidade total de armazenamento temporário, até um máximo de 200 GiB, com a especificação do parâmetro ephemeralStorage na definição da tarefa. Para tais tarefas que foram iniciadas desde 28 de maio de 2020, o armazenamento efêmero é criptografado com um algoritmo de criptografia AES-256 usando uma chave de criptografia gerenciada pelo Fargate.

Para obter mais informações, consulte Uso de volumes de dados em tarefas.

Exemplo: iniciar uma tarefa na versão da plataforma Fargate 1.4.0 com criptografia de armazenamento efêmero

O comando a seguir iniciará uma tarefa na versão da plataforma Fargate 1.4.0 Como essa tarefa é iniciada como parte do cluster, ela usa 20 GiB do armazenamento efêmero que é criptografado automaticamente.

aws ecs run-task --cluster clustername \ --task-definition taskdefinition:version \ --count 1 --launch-type "FARGATE" \ --platform-version 1.4.0 \ --network-configuration "awsvpcConfiguration={subnets=[subnetid],securityGroups=[securitygroupid]}" \ --region region

Funcionalidade SYS_PTRACE para rastreamento de chamada de sistema do kernel com o Fargate

A configuração padrão dos recursos do Linux adicionados ou removidos do seu contêiner é fornecida pelo Docker.

As tarefas executadas no Fargate são compatíveis apenas com a adição do recurso kernel do SYS_PTRACE.

O vídeo apresentado abaixo mostra como usar esse recurso por meio do projeto Falco da Sysdig.

O código discutido no vídeo anterior pode ser encontrado no GitHub aqui.

Uso do Amazon GuardDuty com monitoramento de runtime para o Fargate

O Amazon GuardDuty é um serviço de detecção de ameaças que ajuda a proteger contas, contêineres, workloads e dados no ambiente da AWS. Usando modelos de machine learning (ML) e recursos de detecção de anomalias e ameaças, o GuardDuty monitora continuamente diferentes fontes de log e atividades de runtime para identificar e priorizar possíveis riscos de segurança e atividades maliciosas no seu ambiente.

O monitoramento de runtime no GuardDuty protege as workloads em execução no Fargate monitorando continuamente as atividades de log e rede da AWS para identificar comportamentos maliciosos ou não autorizados. O monitoramento de runtime usa um agente de segurança do GuardDuty leve e totalmente gerenciado que analisa o comportamento no host, como acesso a arquivos, execução de processos e conexões de rede. Isso inclui problemas como escalação de privilégios, uso de credenciais expostas, comunicação com endereços IP ou domínios maliciosos e a presença de malware nas instâncias e workloads de contêiner do Amazon EC2. Para obter mais informações, consulte GuardDuty Runtime Monitoring no Guia do usuário do GuardDuty.