Considerações de segurança para instâncias gerenciadas do Amazon ECS - Amazon Elastic Container Service

Considerações de segurança para instâncias gerenciadas do Amazon ECS

As instâncias gerenciadas do Amazon ECS fornecem uma experiência computacional de contêiner totalmente gerenciada que permite que você execute workloads em tipos específicos de instância do Amazon EC2 e, ao mesmo tempo, transfira as responsabilidades de segurança para a AWS. Este tópico descreve o modelo de segurança, os recursos e as considerações ao usar instâncias gerenciadas do Amazon ECS.

Modelo de segurança

As instâncias gerenciadas do Amazon ECS implementam um modelo de segurança abrangente que equilibra flexibilidade com proteção:

  • Infraestrutura gerenciada pela AWS: a AWS controla o ciclo de vida das instâncias gerenciadas e lida com a aplicação de patches de segurança, eliminando a possibilidade de erro humano e adulteração

  • Sem acesso administrativo: o modelo de segurança é bloqueado e proíbe o acesso administrativo às instâncias gerenciadas.

  • Posicionamento multitarefa: por padrão, as instâncias gerenciadas do Amazon ECS colocam várias tarefas em uma única instância para otimizar o custo e a utilização, o que flexibiliza a restrição de isolamento da workload em comparação com o Fargate.

  • Isolamento de dados: embora a AWS controle o ciclo de vida da instância e o posicionamento das tarefas, a AWS não pode fazer login nas instâncias gerenciadas nem acessar os dados do cliente.

Recursos de segurança

As instâncias gerenciadas do Amazon ECS incluem vários recursos de segurança integrados projetados para proteger suas workloads e manter uma forte postura de segurança. Esses recursos variam de aplicações automatizadas de patches de segurança ao suporte a recursos privilegiados do Linux, quando necessário.

Práticas recomendadas de segurança

As instâncias gerenciadas são configuradas de acordo com as práticas recomendadas de segurança da AWS, incluindo:

  • Sem acesso SSH: o acesso remoto ao shell fica desabilitado para impedir o acesso não autorizado.

  • Sistema de arquivos raiz imutável: o sistema de arquivos raiz não pode ser modificado, garantindo a integridade do sistema.

  • Controles de acesso obrigatórios do kernel: o SELinux fornece fiscalização de segurança adicional do kernel.

Aplicação automática de patches de segurança

As instâncias gerenciadas do Amazon ECS ajudam a melhorar a postura de segurança de suas workloads por meio de aplicações automatizadas de patches:

  • Atualizações regulares de segurança: as instâncias são atualizadas regularmente com os patches de segurança mais recentes pela AWS, com relação às janelas de manutenção que você configura.

  • Vida útil limitada da instância: a vida útil máxima de uma instância em execução está limitada a 14 dias, para garantir que as aplicações sejam executadas em instâncias configuradas corretamente, com patches de segurança atualizados.

  • Controle da janela de manutenção: você pode usar o recurso de janelas de eventos do Amazon EC2 para especificar quando o Amazon ECS deve substituir suas instâncias por instâncias corrigidas com patch.

Recursos privilegiados do Linux

As instâncias gerenciadas do Amazon ECS oferecem suporte a software que exige privilégios elevados do Linux, permitindo soluções avançadas de monitoramento e segurança:

  • Capacidades com suporte: você pode optar por todas as capacidades privilegiadas do Linux, incluindo CAP_NET_ADMIN, CAP_SYS_ADMIN e CAP_BPF.

  • Soluções conhecidas: isso permite que você execute soluções conhecidas de monitoramento e observabilidade de rede, como Wireshark e Datadog.

  • Configuração explícita obrigatória: você deve configurar explicitamente seu provedor de capacidade de instâncias gerenciadas do Amazon ECS para habilitar recursos privilegiados do Linux, pois isso pode representar riscos adicionais de segurança para suas aplicações.

Importante

Habilitar recursos privilegiados do Linux pode expor suas tarefas a riscos de segurança adicionais. Só habilite esses recursos quando exigido por suas aplicações e garanta que você compreenda as implicações de segurança.

Conformidade e suporte regulatório

As instâncias gerenciadas do Amazon ECS mantêm a mesma postura de conformidade do Amazon ECS:

  • Programas de conformidade: as instâncias gerenciadas do Amazon ECS oferecem suporte aos mesmos programas de conformidade da AWS do Amazon ECS, incluindo PCI-DSS, HIPAA e FedRAMP.

  • Endpoints FIPS: as instâncias gerenciadas do Amazon ECS respeitam as configurações da conta para usar endpoints FIPS nas regiões da AWS para ajudar a alcançar a conformidade com o FedRAMP.

  • Chaves gerenciadas pelo cliente: oferecem suporte aos recursos de segurança necessários para alcançar a conformidade, como chaves gerenciadas pelo cliente para criptografia.

Considerações de segurança para instâncias gerenciadas do Amazon ECS validadas pelo FIPS-140

Considere o seguinte ao usar a conformidade com o FIPS-140 nas instâncias gerenciadas do Amazon ECS:

  • As AMIs de instâncias gerenciadas compatíveis com FIPS-140 estão disponíveis somente nas regiões AWS GovCloud (US).

  • As instâncias gerenciadas do Amazon ECS oferecem suporte ao FIPS-140-3

  • A conformidade com o FIPS-140 está habilitada por padrão nas regiões AWS GovCloud (US). Se você precisar executar workloads sem conformidade com FIPS, desative a conformidade com FIPS na configuração do provedor de capacidade de instâncias gerenciadas.

  • O cpuArchitecture para suas tarefas deve ser X86_64 para estar em conformidade com o FIPS-140.

Desabilite o FIPS nas instâncias gerenciadas do Amazon ECS

Por padrão, os provedores de capacidade de instâncias gerenciadas do Amazon ECS nas regiões AWS GovCloud (US) executam AMIs compatíveis com FIPS. Você escolheu desabilitar a conformidade com o FIPS-140 ao criar um novo provedor de capacidade de instâncias gerenciadas do Amazon ECS. Siga estas etapas para criar um novo provedor de capacidade sem conformidade com o FIPS.

  1. Desabilite a conformidade com o FIPS-140 no provedor de capacidade.

    aws ecs create-capacity-provider \ --cluster cluster-name \ --name capacity-provider-name \ --managed-instances-provider '{ "infrastructureRoleArn": "infrastructure-role-arn", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "instance-profile-arn", "fipsEnabled": false, "networkConfiguration": { "subnets": ["subnet-id"], "securityGroups": ["security-group-id"] } } }'
  2. Opcionalmente, é possível usar o ECS Exec para executar o comando a seguir para verificar o status de conformidade com o FIPS-140 de um provedor de capacidade.

    Substitua cluster-name pelo nome do cluster, task-id pelo ID ou o ARN da tarefa e container-name pelo nome do contêiner da tarefa para a qual você deseja executar o comando.

    Um valor de retorno de “1" indica que você está usando FIPS.

    aws ecs execute-command \ --cluster cluster-name \ --task task-id \ --container container-name \ --interactive \ --command "cat /proc/sys/crypto/fips_enabled"

Considerações sobre segurança

Ao usar as instâncias gerenciadas do Amazon ECS, há várias considerações de segurança importantes que devem ser entendidas e planejadas. Essas considerações ajudam você a tomar decisões informadas sobre sua arquitetura de workload e seus requisitos de segurança.

Modelo de segurança multitarefa

O modelo padrão de posicionamento multitarefa nas instâncias gerenciadas do Amazon ECS difere do isolamento de tarefa única do Fargate:

  • Recursos de instância compartilhada: várias tarefas podem ser executadas na mesma instância, potencialmente expondo uma tarefa às vulnerabilidades de outras tarefas executadas na mesma instância ou no mesmo cluster do ECS.

  • Opção de tarefa única: você pode configurar as instâncias gerenciadas do Amazon ECS para usar o modo de tarefa única para clientes que precisam do modelo de segurança padrão do Fargate com limite de isolamento de segurança da VM.

  • Compensação entre custo e segurança: o modo multitarefa fornece otimização de custos e tempos de inicialização de tarefas mais rápidos, enquanto o modo de tarefa única fornece isolamento mais forte.

Lidar com interrupções da instância

É importante projetar suas aplicações para tolerar interrupções ao usar as instâncias gerenciadas do Amazon ECS:

  • Tolerância à interrupção: use as instâncias gerenciadas do Amazon ECS com aplicações que toleram a interrupção de serviços ou tarefas subjacentes.

  • Workloads baseadas em serviços: use os serviços do Amazon ECS para substituição automática de tarefas ou execute workloads com duração controlada e limitada que não exceda 14 dias em tarefas autônomas.

  • Desligamento normal: configure o período de tolerância de encerramento da tarefa para controlar o impacto das interrupções.

Acesso e privacidade de dados

As instâncias gerenciadas do Amazon ECS mantêm controles rígidos de acesso a dados:

  • Sem acesso aos dados do cliente: embora a AWS controle o ciclo de vida das instâncias gerenciadas e a colocação de tarefas nas instâncias, a AWS não pode fazer login nas instâncias gerenciadas nem acessar os dados do cliente.

  • Somente métricas e logs: a AWS captura somente métricas e logs relacionados necessários para fornecer os recursos de instâncias gerenciadas do Amazon ECS.

  • Modelo de segurança bloqueado: o modelo de segurança proíbe o acesso administrativo, eliminando a possibilidade de erro humano e adulteração.

Práticas recomendadas de segurança

Siga estas práticas recomendadas ao usar instâncias gerenciadas do Amazon ECS:

  • Avalie o modelo de segurança: tome uma decisão consciente sobre a adoção de instâncias gerenciadas do Amazon ECS com base em seus requisitos de segurança, especialmente em relação ao modelo de posicionamento multitarefa.

  • Use o modo de tarefa única quando necessário: se suas workloads exigirem um isolamento mais forte, configure as instâncias gerenciadas do Amazon ECS para usar o modo de tarefa única.

  • Minimize os recursos privilegiados: só ative os recursos privilegiados do Linux quando for absolutamente necessário, e compreenda os riscos de segurança associados.

  • Planeje interrupções: projete aplicações para lidar com substituições de instâncias sem problemas, especialmente considerando a vida útil máxima de 14 dias da instância.

  • Configure janelas de manutenção: use as janelas de eventos do EC2 para controlar quando as substituições de instâncias ocorrem para minimizar o impacto em suas workloads.

  • Monitore e audite: revise regularmente a configuração das instâncias gerenciadas do Amazon ECS e monitore quaisquer eventos ou alterações relacionados à segurança.