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
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.