Controles do Amazon ECS - AWS Security Hub

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Controles do Amazon ECS

Esses controles estão relacionados aos recursos do Amazon ECS.

Esses controles podem não estar disponíveis em todos Regiões da AWS. Para ter mais informações, consulte Disponibilidade de controles por região.

[ECS.1] As definições de tarefas do Amazon ECS devem ter modos de rede seguros e definições de usuário.

Requisitos relacionados: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6

Categoria: Proteger > Gerenciamento de acesso seguro

Severidade: alta

Tipo de recurso: AWS::ECS::TaskDefinition

Regra do AWS Config : ecs-task-definition-user-for-host-mode-check

Tipo de programação: acionado por alterações

Parâmetros:

  • SkipInactiveTaskDefinitions: true (não personalizável)

Esse controle verifica se uma definição de tarefa ativa do Amazon ECS com o modo de rede do host tem definições de contêiner deprivileged ou user. O controle falha nas definições de tarefas que têm o modo de rede do host e as definições de contêiner de privileged=false, vazio e user=root ou vazio.

Esse controle avalia somente a revisão ativa mais recente de uma definição de tarefa do Amazon ECS.

O objetivo desse controle é garantir que o acesso seja definido intencionalmente quando você executa tarefas que usam o modo de rede do host. Se uma definição de tarefa tiver privilégios elevados, é porque você escolheu essa configuração. Esse controle verifica o escalonamento inesperado de privilégios quando uma definição de tarefa tem a rede de host ativada e você não escolhe privilégios elevados.

Correção

Para obter informações sobre como atualizar uma definição de tarefa, consulte Atualizar uma definição de tarefa no Guia do desenvolvedor do Amazon Elastic Container Service.

Quando você atualiza uma definição de tarefa, ela não atualiza as tarefas em execução que foram iniciadas a partir da definição de tarefa anterior. Para atualizar uma tarefa em execução, você deve reimplantar a tarefa com a nova definição de tarefa.

[ECS.2] Os serviços do ECS não devem ter endereços IP públicos atribuídos a eles automaticamente

Requisitos relacionados: NIST.800-53.r5 AC-21, NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-4, NIST.800-53.r5 AC-4(21), NIST.800-53.r5 AC-6, NIST.800-53.r5 SC-7, NIST.800-53.r5 SC-7(11), NIST.800-53.r5 SC-7(16), NIST.800-53.r5 SC-7(20), NIST.800-53.r5 SC-7(21), NIST.800-53.r5 SC-7(3), NIST.800-53.r5 SC-7(4), NIST.800-53.r5 SC-7(9)

Categoria: Proteger > Configuração de rede segura > Recursos não acessíveis ao público

Severidade: alta

Tipo de recurso: AWS::ECS::Service

Regra AWS Config: ecs-service-assign-public-ip-disabled (regra personalizada do Security Hub)

Tipo de programação: acionado por alterações

Parâmetros:

  • exemptEcsServiceArns (não personalizável). O Security Hub não preenche esse parâmetro. Lista separada por vírgula de ARNs dos serviços do Amazon ECS que estão isentos dessa regra.

    Essa regra é COMPLIANT se um serviço do Amazon ECS tiver AssignPublicIP configurado como ENABLED e especificado nessa lista de parâmetros.

    Essa regra é NON_COMPLIANT se um serviço do Amazon ECS tiver AssignPublicIP configurado como ENABLED e especificado nessa lista de parâmetros.

Esse controle verifica se os serviços do Amazon ECS estão configurados para atribuir automaticamente endereços IP públicos. Esse controle falhará se AssignPublicIP for ENABLED. Esse controle será aprovado se AssignPublicIP for DISABLED.

Um endereço IP público é um endereço IP que é acessível pela internet. Se você iniciar suas instâncias do Amazon ECS com um endereço IP público, suas instâncias do Amazon ECS poderão ser acessadas pela internet. Os serviços do Amazon ECS não devem ser acessíveis ao público, pois isso pode permitir acesso não intencional aos seus servidores de aplicativos de contêineres.

Correção

Para desativar a atribuição automática de IP público, consulte Definir configurações de VPC e grupo de segurança para seu serviço no Guia do desenvolvedor do Amazon Elastic Container Service.

[ECS.3] As definições de tarefas do ECS não devem compartilhar o namespace do processo do host

Requisitos relacionados: NIST.800-53.r5 CA-9(1), NIST.800-53.r5 CM-2

Categoria: Identificar > Configuração de recursos

Severidade: alta

Tipo de recurso: AWS::ECS::TaskDefinition

AWS Config regra: ecs-task-definition-pid-mode-check

Tipo de programação: acionado por alterações

Parâmetros: nenhum

Esse controle verifica se as definições de tarefas do Amazon ECS estão configuradas para compartilhar o namespace do processo de um host com seus contêineres. O controle falhará se a definição da tarefa compartilhar o namespace do processo do host com os contêineres em execução nele. Esse controle avalia somente a revisão ativa mais recente de uma definição de tarefa do Amazon ECS.

Um namespace de ID de processo (PID) fornece separação entre processos. Ele impede que os processos do sistema sejam visíveis e permite que os PIDs sejam reutilizados, incluindo o PID 1. Se o namespace PID do host for compartilhado com contêineres, isso permitirá que os contêineres vejam todos os processos no sistema host. Isso reduz o benefício do isolamento em nível de processo entre o host e os contêineres. Essas circunstâncias podem levar ao acesso não autorizado aos processos no próprio host, incluindo a capacidade de manipulá-los e encerrá-los. Os clientes não devem compartilhar o namespace do processo do host com os contêineres em execução nele.

Correção

Para configurar o pidMode na definição de uma tarefa, consulte Parâmetros de definição de tarefa no Guia do desenvolvedor do Amazon Elastic Container Service.

[ECS.4] Os contêineres ECS devem ser executados sem privilégios

Requisitos relacionados: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6

Categoria: Proteger > Gerenciamento de acesso seguro > Restrições de acesso do usuário raiz

Severidade: alta

Tipo de recurso: AWS::ECS::TaskDefinition

Regra do AWS Config: ecs-containers-nonprivileged

Tipo de programação: acionado por alterações

Parâmetros: nenhum

Esse controle verifica se o parâmetro privileged na definição do contêiner das definições de tarefas do Amazon ECS está definido como true. O controle falhará se esse parâmetro for igual a true. Esse controle avalia somente a revisão ativa mais recente de uma definição de tarefa do Amazon ECS.

Recomendamos que você remova privilégios elevados de suas definições de tarefas do ECS. Quando esse parâmetro do privilégio é true, o contêiner recebe privilégios elevados na instância de contêiner host (semelhante ao usuário raiz).

Correção

Para configurar o parâmetro privileged na definição de uma tarefa, consulte Parâmetros avançados de definição de tarefa no Guia do desenvolvedor do Amazon Elastic Container Service.

[ECS.5] Os contêineres do ECS devem ser limitados ao acesso somente leitura aos sistemas de arquivos raiz

Requisitos relacionados: NIST.800-53.r5 AC-2(1), NIST.800-53.r5 AC-3, NIST.800-53.r5 AC-3(15), NIST.800-53.r5 AC-3(7), NIST.800-53.r5 AC-5, NIST.800-53.r5 AC-6

Categoria: Proteger > Gerenciamento de acesso seguro

Severidade: alta

Tipo de recurso: AWS::ECS::TaskDefinition

Regra do AWS Config: ecs-containers-readonly-access

Tipo de programação: acionado por alterações

Parâmetros: nenhum

Esse controle verifica se os contêineres do Amazon ECS estão limitados ao acesso somente de leitura aos sistemas de arquivos raiz montados. O controle falhará se o parâmetro readonlyRootFilesystem estiver definido como false ou se o parâmetro não existir na definição do contêiner dentro da definição da tarefa. Esse controle avalia somente a revisão ativa mais recente de uma definição de tarefa do Amazon ECS.

Ativar essa opção reduz os vetores de ataque à segurança, pois o sistema de arquivos da instância de contêiner não pode ser adulterado ou gravado, a menos que tenha permissões explícitas de leitura e gravação na pasta e nos diretórios do sistema de arquivos. Esse controle também segue o princípio do privilégio mínimo.

Correção

Limitar definições de contêiner para acesso somente leitura aos sistemas de arquivos raiz
  1. Abra o console clássico do Amazon ECS em https://console.aws.amazon.com/ecs/.

  2. No painel de navegação, escolha Definições de tarefa.

  3. Selecione uma definição de tarefa que tenha definições de contêiner que precisam ser atualizadas. Para cada um, conclua as etapas a seguir:

    • No menu suspenso, escolha Criar nova revisão com JSON.

    • Adicione o parâmetro readonlyRootFilesystem e defina-o como true na definição do contêiner dentro da definição da tarefa.

    • Escolha Criar.

[ECS.8] Os segredos não devem ser passados como variáveis de ambiente do contêiner

Requisitos relacionados: NIST.800-53.r5 CA-9(1), NIST.800-53.r5 CM-2

Categoria: Proteger > Desenvolvimento seguro > Credenciais sem codificação rígida

Severidade: alta

Tipo de recurso: AWS::ECS::TaskDefinition

Regra do AWS Config: ecs-no-environment-secrets

Tipo de programação: acionado por alterações

Parâmetros:

  • secretKeys = AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,ECS_ENGINE_AUTH_DATA (não personalizável)

Esse controle verifica se o valor-chave de qualquer variável no parâmetro environment das definições do contêiner inclui AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY ouECS_ENGINE_AUTH_DATA. Esse controle falhará se uma única variável de ambiente em qualquer definição de contêiner for igual a AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY ou ECS_ENGINE_AUTH_DATA. Esse controle não abrange variáveis ambientais transmitidas de outros locais, como o Amazon S3. Esse controle avalia somente a revisão ativa mais recente de uma definição de tarefa do Amazon ECS.

AWS Systems Manager O Parameter Store pode ajudá-lo a melhorar a postura de segurança da sua organização. Recomendamos usar o Parameter Store para armazenar segredos e credenciais em vez de passá-los diretamente para suas instâncias de contêiner ou codificá-los em seu código.

Correção

Para criar parâmetros usando o SSM, consulte Criar parâmetros do Systems Manager no Guia do usuário do AWS Systems Manager . Para obter mais informações sobre a criação de uma definição de tarefa que especifica um segredo, consulte Especificar dados sigilosos usando segredos do Secrets Manager no Guia do desenvolvedor do Amazon Elastic Container Service.

[ECS.9] As definições de tarefas do ECS devem ter uma configuração de registro em log

Requisitos relacionados: NIST.800-53.r5 AC-4(26), NIST.800-53.r5 AU-10, NIST.800-53.r5 AU-12, NIST.800-53.r5 AU-2, NIST.800-53.r5 AU-3, NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 CA-7, NIST.800-53.r5 SC-7(9), NIST.800-53.r5 SI-7(8)

Categoria: Identificar > Registro em log

Severidade: alta

Tipo de recurso: AWS::ECS::TaskDefinition

AWS Config regra: ecs-task-definition-log -configuração

Tipo de programação: acionado por alterações

Parâmetros: nenhum

Esse controle verifica se a última definição de tarefa ativa do Amazon ECS tem uma configuração de registro em log especificada. O controle falhará se a definição da tarefa não tiver a propriedade logConfiguration definida ou se o valor para logDriver for nulo em pelo menos uma definição de contêiner.

O registro em log ajuda a manter a confiabilidade, a disponibilidade e a performance do Amazon ECS. A coleta de dados das definições de tarefas fornece visibilidade, o que pode ajudá-lo a depurar processos e encontrar a causa raiz dos erros. Se você estiver usando uma solução de registro em log que não precisa ser definida na definição de tarefas do ECS (como uma solução de registro em log de terceiros), você pode desativar esse controle depois de garantir que seus logs sejam capturados e entregues adequadamente.

Correção

Para definir uma configuração de log para suas definições de tarefas do Amazon ECS, consulte Especificar uma configuração de log na definição de tarefa no Guia do desenvolvedor do Amazon Elastic Container Service.

[ECS.10] Os serviços ECS Fargate devem ser executados na versão mais recente da plataforma Fargate

Requisitos relacionados: NIST.800-53.r5 SI-2, NIST.800-53.r5 SI-2(2), NIST.800-53.r5 SI-2(4), NIST.800-53.r5 SI-2(5)

Categoria: Identificar > Gerenciamento de vulnerabilidades, patches e versões

Severidade: média

Tipo de recurso: AWS::ECS::Service

Regra do AWS Config: ecs-fargate-latest-platform-version

Tipo de programação: acionado por alterações

Parâmetros:

  • latestLinuxVersion: 1.4.0 (não personalizável)

  • latestWindowsVersion: 1.0.0 (não personalizável)

Esse controle verifica se os serviços do Amazon ECS Fargate estão executando a versão da plataforma Fargate mais recente. Esse controle falhará se a versão da plataforma não for a mais recente.

AWS Fargate as versões de plataforma se referem a um ambiente de tempo de execução específico para a infraestrutura de tarefas do Fargate, que é uma combinação das versões de tempo de execução do kernel e do contêiner. Novas versões da plataforma são lançadas à medida que o ambiente de runtime evolui. Por exemplo, uma nova versão pode ter sido lançada para o kernel ou haver atualizações para o sistema operacional, novos recursos, correções de erros ou atualizações de segurança. As atualizações de segurança e patches são implantadas automaticamente nas tarefas do Fargate. Se for encontrado um problema de segurança que afete uma versão da plataforma, AWS corrija a versão da plataforma.

Correção

Para atualizar um serviço existente, incluindo sua versão da plataforma, consulte Atualizar um serviço no Guia do desenvolvedor do Amazon Elastic Container Service.

[ECS.12] Os clusters do ECS devem usar Container Insights

Requisitos relacionados: NIST.800-53.r5 AU-6(3), NIST.800-53.r5 AU-6(4), NIST.800-53.r5 CA-7, NIST.800-53.r5 SI-2

Categoria: Identificar > Registro em log

Severidade: média

Tipo de recurso: AWS::ECS::Cluster

Regra do AWS Config: ecs-container-insights-enabled

Tipo de programação: acionado por alterações

Parâmetros: nenhum

Esse controle verifica se os clusters do ECS usam o Container Insights. Esse controle falhará se o Container Insights não estiver configurado para um cluster.

O monitoramento é uma parte importante para manter a confiabilidade, a disponibilidade e o desempenho dos clusters do Amazon ECS. Use o CloudWatch Container Insights para coletar, agregar e resumir métricas e registros de seus aplicativos e microsserviços em contêineres. CloudWatch coleta automaticamente métricas para vários recursos, como CPU, memória, disco e rede. O Container Insights também fornece informações de diagnóstico, como falhas de reinicialização de contêiner, para ajudar a isolar problemas e resolvê-los rapidamente. Você também pode definir CloudWatch alarmes nas métricas que o Container Insights coleta.

Correção

Para usar o Container Insights, consulte Atualização de um serviço no Guia CloudWatch do usuário da Amazon.

[ECS.13] Os serviços do ECS devem ser marcados

Categoria: Identificar > Inventário > Marcação

Severidade: baixa

Tipo de recurso: AWS::ECS::Service

Regra AWS Config: tagged-ecs-service (regra personalizada do Security Hub)

Tipo de programação: acionado por alterações

Parâmetros:

Parâmetro Descrição Tipo Valores personalizados permitidos Valor padrão do Security Hub
requiredTagKeys Lista de chaves de tag que não são do sistema que o recurso avaliado deve conter. Chaves de tag fazem distinção entre maiúsculas e minúsculas. StringList Lista de tags que atendem aos AWS requisitos Nenhum valor padrão

Esse controle verifica se um serviço do Amazon ECS tem tags com as chaves específicas definidas no parâmetrorequiredTagKeys. O controle falhará se o serviço não tiver nenhuma chave de tag ou se não tiver todas as chaves especificadas no parâmetrorequiredTagKeys. Se o parâmetro requiredTagKeys não for fornecido, o controle só verificará a existência de uma chave de tag e falhará se o serviço não estiver marcado com nenhuma chave. As tags do sistema, que são aplicadas automaticamente e começam comaws:, são ignoradas.

Uma tag é um rótulo que você atribui a um AWS recurso e consiste em uma chave e um valor opcional. Você pode criar tags para categorizar recursos por finalidade, proprietário, ambiente ou outros critérios. As tags podem ajudar você a identificar, organizar, pesquisar e filtrar recursos. A marcação também ajuda você a rastrear os proprietários de recursos responsáveis por ações e notificações. Ao usar a marcação, você pode implementar o controle de acesso baseado em atributos (ABAC) como uma estratégia de autorização, que define permissões com base em tags. Você pode anexar tags às entidades do IAM (usuários ou funções) e aos AWS recursos. Você pode criar uma única política ABAC ou um conjunto separado de políticas para seus diretores do IAM. Você pode criar essas políticas ABAC para permitir operações quando a tag do diretor corresponder à tag do recurso. Para obter mais informações, consulte Para que serve o ABAC? AWS no Guia do usuário do IAM.

nota

Não adicione informações de identificação pessoal (PII) ou outras informações confidenciais ou sigilosas nas tags. As tags podem ser acessadas por muitos Serviços da AWS, inclusive AWS Billing. Para obter mais práticas recomendadas de marcação, consulte Como marcar seus AWS recursos no. Referência geral da AWS

Correção

Para adicionar tags a um serviço do ECS, consulte Como marcar seus recursos do Amazon ECS no Guia do desenvolvedor do Amazon Elastic Container Service.

[ECS.14] Os clusters ECS devem ser marcados

Categoria: Identificar > Inventário > Marcação

Severidade: baixa

Tipo de recurso: AWS::ECS::Cluster

Regra AWS Config: tagged-ecs-cluster (regra personalizada do Security Hub)

Tipo de programação: acionado por alterações

Parâmetros:

Parâmetro Descrição Tipo Valores personalizados permitidos Valor padrão do Security Hub
requiredTagKeys Lista de chaves de tag que não são do sistema que o recurso avaliado deve conter. Chaves de tag fazem distinção entre maiúsculas e minúsculas. StringList Lista de tags que atendem aos AWS requisitos Nenhum valor padrão

Esse controle verifica se um cluster do Amazon ECS tem tags com as chaves específicas definidas no parâmetrorequiredTagKeys. O controle falhará se o cluster não tiver nenhuma chave de tag ou se não tiver todas as chaves especificadas no parâmetrorequiredTagKeys. Se o parâmetro requiredTagKeys não for fornecido, o controle só verificará a existência de uma chave de tag e falhará se o cluster não estiver marcado com nenhuma chave. As tags do sistema, que são aplicadas automaticamente e começam comaws:, são ignoradas.

Uma tag é um rótulo que você atribui a um AWS recurso e consiste em uma chave e um valor opcional. Você pode criar tags para categorizar recursos por finalidade, proprietário, ambiente ou outros critérios. As tags podem ajudar você a identificar, organizar, pesquisar e filtrar recursos. A marcação também ajuda você a rastrear os proprietários de recursos responsáveis por ações e notificações. Ao usar a marcação, você pode implementar o controle de acesso baseado em atributos (ABAC) como uma estratégia de autorização, que define permissões com base em tags. Você pode anexar tags às entidades do IAM (usuários ou funções) e aos AWS recursos. Você pode criar uma única política ABAC ou um conjunto separado de políticas para seus diretores do IAM. Você pode criar essas políticas ABAC para permitir operações quando a tag do diretor corresponder à tag do recurso. Para obter mais informações, consulte Para que serve o ABAC? AWS no Guia do usuário do IAM.

nota

Não adicione informações de identificação pessoal (PII) ou outras informações confidenciais ou sigilosas nas tags. As tags podem ser acessadas por muitos Serviços da AWS, inclusive AWS Billing. Para obter mais práticas recomendadas de marcação, consulte Como marcar seus AWS recursos no. Referência geral da AWS

Correção

Para adicionar tags a um cluster do ECS, consulte Como marcar seus recursos do Amazon ECS no Guia do desenvolvedor do Amazon Elastic Container Service.

[ECS.15] As definições de tarefas do ECS devem ser marcadas

Categoria: Identificar > Inventário > Marcação

Severidade: baixa

Tipo de recurso: AWS::ECS::TaskDefinition

Regra AWS Config: tagged-ecs-taskdefinition (regra personalizada do Security Hub)

Tipo de programação: acionado por alterações

Parâmetros:

Parâmetro Descrição Tipo Valores personalizados permitidos Valor padrão do Security Hub
requiredTagKeys Lista de chaves de tag que não são do sistema que o recurso avaliado deve conter. Chaves de tag fazem distinção entre maiúsculas e minúsculas. StringList Lista de tags que atendem aos AWS requisitos Nenhum valor padrão

Esse controle verifica se uma definição de tarefa do Amazon ECS tem tags com as chaves específicas definidas no parâmetrorequiredTagKeys. O controle falhará se a definição da tarefa não tiver nenhuma chave de tag ou se não tiver todas as chaves especificadas no parâmetrorequiredTagKeys. Se o parâmetro requiredTagKeys não for fornecido, o controle só verificará a existência de uma chave de tag e falhará se a definição da tarefa não estiver marcada com nenhuma chave. As tags do sistema, que são aplicadas automaticamente e começam comaws:, são ignoradas.

Uma tag é um rótulo que você atribui a um AWS recurso e consiste em uma chave e um valor opcional. Você pode criar tags para categorizar recursos por finalidade, proprietário, ambiente ou outros critérios. As tags podem ajudar você a identificar, organizar, pesquisar e filtrar recursos. A marcação também ajuda você a rastrear os proprietários de recursos responsáveis por ações e notificações. Ao usar a marcação, você pode implementar o controle de acesso baseado em atributos (ABAC) como uma estratégia de autorização, que define permissões com base em tags. Você pode anexar tags às entidades do IAM (usuários ou funções) e aos AWS recursos. Você pode criar uma única política ABAC ou um conjunto separado de políticas para seus diretores do IAM. Você pode criar essas políticas ABAC para permitir operações quando a tag do diretor corresponder à tag do recurso. Para obter mais informações, consulte Para que serve o ABAC? AWS no Guia do usuário do IAM.

nota

Não adicione informações de identificação pessoal (PII) ou outras informações confidenciais ou sigilosas nas tags. As tags podem ser acessadas por muitos Serviços da AWS, inclusive AWS Billing. Para obter mais práticas recomendadas de marcação, consulte Como marcar seus AWS recursos no. Referência geral da AWS

Correção

Para adicionar tags a uma definição de tarefa do ECS, consulte Como marcar seus recursos do Amazon ECS no Amazon Elastic Container Service Developer Guide.