Controles do Security Hub para 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 Security Hub para Amazon ECS

Esses controles do Security Hub avaliam o serviço e os recursos do Amazon Elastic Container Service (AmazonECS).

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

[ECS.1] As definições de ECS tarefas da Amazon 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

AWS Config regra: 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 ECS tarefa ativa da Amazon com o modo de rede do host tem privileged ou não definições de user contêiner. 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 última revisão ativa de uma definição de ECS tarefa da Amazon.

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] ECS os serviços não devem ter endereços IP públicos atribuídos a eles automaticamente

Requisitos relacionados: NIST.800-53.r5 AC-2 1 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

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

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

Parâmetros: nenhum

Esse controle verifica se ECS os serviços da Amazon 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 ECS instâncias da Amazon com um endereço IP público, suas ECS instâncias da Amazon poderão ser acessadas pela Internet. ECSOs serviços da Amazon 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

Primeiro, você deve criar uma definição de tarefa para seu cluster que use o modo de awsvpc rede e especifique FARGATEpararequiresCompatibilities. Em seguida, para Configuração de computação, escolha Tipo de inicialização e. FARGATE Por fim, no campo Rede, desative o IP público para desativar a atribuição automática de IP público para seu serviço.

[ECS.3] as definições de ECS tarefas 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 ECS tarefas da Amazon 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 última revisão ativa de uma definição de ECS tarefa da Amazon.

Um namespace ID de processo (PID) fornece separação entre processos. Impede que os processos do sistema sejam visíveis e PIDs permite que sejam reutilizados, incluindo PID 1. Se o PID namespace 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 ECS contêineres 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

AWS Config regra: ecs-containers-nonprivileged

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

Parâmetros: nenhum

Esse controle verifica se o privileged parâmetro na definição do contêiner da Amazon ECS Task Definitions está definido comotrue. O controle falhará se esse parâmetro for igual a true. Esse controle avalia somente a última revisão ativa de uma definição de ECS tarefa da Amazon.

Recomendamos que você remova privilégios elevados de suas definições de ECS tarefas. 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 ECS contêineres devem ser limitados ao acesso somente de 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

AWS Config regra: ecs-containers-readonly-access

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

Parâmetros: nenhum

Esse controle verifica se os ECS contêineres da Amazon 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 última revisão ativa de uma definição de ECS tarefa da Amazon.

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 ECS clássico da Amazon 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

AWS Config regra: 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 última revisão ativa de uma definição de ECS tarefa da Amazon.

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 usandoSSM, consulte Criação de parâmetros do Systems Manager no AWS Systems Manager Guia do usuário. 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 ECS tarefas devem ter uma configuração de registro

Requisitos relacionados: NIST.800-53.r5 AC-4 (26), NIST.800-53.r5 SC-7 (9) 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 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 ECS tarefa ativa da Amazon tem uma configuração de registro 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 ajuda você a manter a confiabilidade, a disponibilidade e o desempenho da AmazonECS. 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 que não precisa ser definida na definição da ECS tarefa (como uma solução de registro de terceiros), você pode desativar esse controle depois de garantir que seus registros sejam capturados e entregues adequadamente.

Correção

Para definir uma configuração de log para suas definições de ECS tarefas da Amazon, consulte Especificação de uma configuração de log em sua definição de tarefa no Amazon Elastic Container Service Developer Guide.

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

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

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

Severidade: média

Tipo de recurso: AWS::ECS::Service

AWS Config regra: 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 mais recente da plataforma Fargate. 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 corrige 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 ECS clusters devem usar o 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

AWS Config regra: ecs-container-insights-enabled

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

Parâmetros: nenhum

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

O monitoramento é uma parte importante da manutenção da confiabilidade, disponibilidade e desempenho dos ECS clusters da Amazon. 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 memóriaCPU, 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] ECS os serviços devem ser marcados

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

Severidade: baixa

Tipo de recurso: AWS::ECS::Service

AWS Config regra: 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 AWS requisitos Nenhum valor padrão

Esse controle verifica se um ECS serviço da Amazon 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 as permissões com base nas tags. Você pode anexar tags a IAM entidades (usuários ou funções) e a AWS recursos. Você pode criar uma única ABAC política ou um conjunto separado de políticas para seus IAM diretores. Você pode criar essas ABAC políticas para permitir operações quando a tag do diretor corresponder à tag do recurso. Para obter mais informações, consulte ABAC Para que serve AWS? no Guia do IAM usuário.

nota

Não adicione informações de identificação pessoal (PII) ou outras informações confidenciais ou sigilosas nas tags. As tags são acessíveis a muitos Serviços da AWS, incluindo AWS Billing. Para obter mais práticas recomendadas de marcação, consulte Como marcar seu AWS recursos no Referência geral da AWS.

Correção

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

[ECS.14] os ECS clusters devem ser marcados

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

Severidade: baixa

Tipo de recurso: AWS::ECS::Cluster

AWS Config regra: 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 AWS requisitos Nenhum valor padrão

Esse controle verifica se um ECS cluster da Amazon 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 as permissões com base nas tags. Você pode anexar tags a IAM entidades (usuários ou funções) e a AWS recursos. Você pode criar uma única ABAC política ou um conjunto separado de políticas para seus IAM diretores. Você pode criar essas ABAC políticas para permitir operações quando a tag do diretor corresponder à tag do recurso. Para obter mais informações, consulte ABAC Para que serve AWS? no Guia do IAM usuário.

nota

Não adicione informações de identificação pessoal (PII) ou outras informações confidenciais ou sigilosas nas tags. As tags são acessíveis a muitos Serviços da AWS, incluindo AWS Billing. Para obter mais práticas recomendadas de marcação, consulte Como marcar seu AWS recursos no Referência geral da AWS.

Correção

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

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

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

Severidade: baixa

Tipo de recurso: AWS::ECS::TaskDefinition

AWS Config regra: 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 AWS requisitos Nenhum valor padrão

Esse controle verifica se uma definição de ECS tarefa da Amazon 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 as permissões com base nas tags. Você pode anexar tags a IAM entidades (usuários ou funções) e a AWS recursos. Você pode criar uma única ABAC política ou um conjunto separado de políticas para seus IAM diretores. Você pode criar essas ABAC políticas para permitir operações quando a tag do diretor corresponder à tag do recurso. Para obter mais informações, consulte ABAC Para que serve AWS? no Guia do IAM usuário.

nota

Não adicione informações de identificação pessoal (PII) ou outras informações confidenciais ou sigilosas nas tags. As tags são acessíveis a muitos Serviços da AWS, incluindo AWS Billing. Para obter mais práticas recomendadas de marcação, consulte Como marcar seu AWS recursos no Referência geral da AWS.

Correção

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