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á.
Correção de exposições para serviços do Amazon ECS
AWS Security Hub pode gerar resultados de exposição para os serviços do Amazon Elastic Container Service (Amazon ECS).
O serviço do Amazon ECS envolvido em uma descoberta de exposição e suas informações de identificação estão listados na seção Recursos dos detalhes da descoberta. Você pode recuperar esses detalhes do recurso no console do Security Hub ou programaticamente com a GetFindingsV2operação da API CSPM do Security Hub.
Depois de identificar o recurso envolvido em uma descoberta de exposição, é possível excluir o recurso se não precisar dele. A exclusão de um recurso não essencial pode reduzir seu perfil de exposição e AWS seus custos. Se o recurso for essencial, siga estas etapas de correção recomendadas para ajudar a mitigar o risco. Os tópicos de correção são divididos com base no tipo de característica.
Uma única descoberta de exposição contém problemas identificados em vários tópicos de correção. Por outro lado, é possível abordar uma descoberta de exposição e reduzir seu nível de gravidade abordando apenas um tópico de correção. Sua abordagem para a correção de riscos depende de seus requisitos organizacionais e workloads.
nota
A orientação de remediação fornecida neste tópico pode exigir consultas adicionais em outros AWS recursos.
Sumário
Características de configuração incorreta de serviços do Amazon ECS
Características de vulnerabilidade de serviços do Amazon ECS
Características de configuração incorreta de serviços do Amazon ECS
Aqui estão as características de configuração incorreta para serviços do Amazon ECS e as etapas de correção sugeridas.
O serviço Amazon ECS usa uma definição de tarefa configurada com privilégios elevados
Os contêineres do Amazon ECS executados com privilégios elevados têm recursos semelhantes aos do sistema host, potencialmente permitindo o acesso aos recursos do host e a outros contêineres. Essa configuração aumenta o risco de que um contêiner comprometido possa ser usado para acessar ou modificar recursos fora do escopo pretendido, o que pode levar à fuga do contêiner, ao acesso não autorizado ao host subjacente e a violações que afetem outros contêineres no mesmo host. Seguindo os princípios de segurança padrão, a AWS sugere que você conceda privilégios mínimos, o que significa conceder somente as permissões necessárias para executar uma tarefa.
Análise e modificação de uma definição de tarefa
Na exposição, identifique o ARN da definição da tarefa. Abra a definição da tarefa no console do Amazon ECS. Na definição da tarefa, procure o sinalizador de privilegiado definido como verdadeiro nas definições do contêiner. Se o modo privilegiado não for necessário, crie uma nova revisão de definição de tarefa sem o sinalizador de privilegiado. Se o modo privilegiado for necessário, considere configurar o contêiner para usar um sistema de arquivos somente para leitura para evitar modificações não autorizadas.
O serviço do Amazon ECS usa uma definição de tarefa que permite que os contêineres acessem os sistemas de arquivos raiz.
Os contêineres do Amazon ECS com acesso ao sistema de arquivos raiz do host podem potencialmente ler, modificar ou executar arquivos essenciais no sistema host. Essa configuração aumenta o risco de que um contêiner comprometido possa ser usado para acessar ou modificar recursos fora do escopo pretendido, potencialmente expondo dados sensíveis no sistema de arquivos do host. Seguindo os princípios de segurança padrão, a AWS sugere que você conceda privilégios mínimos, o que significa conceder somente as permissões necessárias para executar uma tarefa.
Revise e modifique contêineres com acesso ao sistema de arquivos do host
Na descoberta da exposição, identifique o ARN da definição da tarefa. Abra a definição da tarefa no console do Amazon ECS. Procure a seção de volumes na definição da tarefa que define os mapeamentos do caminho do host. Analise a definição da tarefa para determinar se o acesso ao sistema de arquivos do host é necessário para a funcionalidade do contêiner. Se o acesso ao sistema de arquivos do host não for necessário, crie uma nova revisão da definição de tarefa e remova todas as definições de volume que usem caminhos de host. Se o acesso ao sistema de arquivos do host for necessário, considere configurar o contêiner para usar um sistema de arquivos somente para leitura para evitar modificações não autorizadas.
O serviço do Amazon ECS usa uma definição de tarefa configurada para compartilhar o namespace do processo de um host
Os contêineres do Amazon ECS executados com namespaces expostos podem potencialmente acessar recursos do sistema do host e outros namespaces de contêineres. Essa configuração pode permitir que um contêiner comprometido escape de seu limite de isolamento, o que pode levar ao acesso a processos, interfaces de rede ou outros recursos fora do escopo pretendido. 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 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. Esses fatores podem levar ao acesso não autorizado aos processos no próprio host, incluindo a capacidade de manipulá-los e encerrá-los. Seguindo os princípios de segurança padrão, AWS recomenda manter o isolamento adequado do namespace para contêineres.
Atualização das definições de tarefas com namespaces expostos
Abra a guia Recursos da exposição e identifique a definição da tarefa com o namespace exposto. Abra a definição da tarefa no console do Amazon ECS. Procure as configurações do pidMode com um valor de host, que poderia compartilhar os namespaces de ID do processo com o host. Remova as configurações pidMode: host de suas definições de tarefas para garantir que os contêineres sejam executados com o isolamento adequado do namespace.
O serviço do Amazon ECS usa uma definição de tarefa configurada com credenciais de texto não criptografado nas variáveis de ambiente.
Os contêineres do Amazon ECS com credenciais de texto não criptografado em variáveis de ambiente expõem informações sensíveis de autenticação que podem ser comprometidas se um invasor obtiver acesso à definição da tarefa, ao ambiente do contêiner ou aos logs do contêiner. Isso cria um risco de segurança significativo, pois as credenciais vazadas podem ser usadas para acessar outros AWS serviços ou recursos.
Substituição de credenciais em texto não criptografado
Na descoberta da exposição, identifique a definição da tarefa com credenciais em texto não criptografado. Abra a definição da tarefa no console do Amazon ECS. Procure por variáveis de ambiente na definição do contêiner que contenham valores sensíveis, como chaves de acesso da AWS , senhas de banco de dados ou tokens de APIs.
Considere as alternativas a seguir para passar as credenciais:
-
Em vez de usar chaves de AWS acesso, use funções de execução de tarefas e funções de tarefas do IAM para conceder permissões aos seus contêineres.
-
Armazene as credenciais como segredos AWS Secrets Manager e faça referência a elas na definição de sua tarefa.
Atualizar definições de tarefa
Crie uma nova revisão da definição da sua tarefa que gerencie credenciais com segurança. Em seguida, atualize seu serviço do Amazon ECS para usar a nova revisão da definição da tarefa.
O serviço do Amazon ECS tem um grupo de segurança aberto
Os grupos de segurança funcionam como firewalls virtuais para suas tarefas do Amazon ECS com a finalidade de controlar o tráfego de entrada e de saída. Grupos de segurança abertos, que permitam acesso irrestrito de qualquer endereço IP, podem expor seus contêineres a acesso não autorizado, aumentando o risco de exposição a ferramentas de verificação automatizadas e ataques direcionados. Seguindo os princípios de segurança padrão, AWS recomenda restringir o acesso do grupo de segurança a endereços IP e portas específicos.
Análise das regras do grupo de segurança e avaliação da configuração atual
Abra o recurso para o grupo de segurança do Amazon ECS. Avalie quais portas estão abertas e acessíveis a partir de amplos intervalos de IP, como (0.0.0.0/0 or ::/0).
Modificação de regras de grupos de segurança
Modifique suas regras de grupo de segurança para restringir o acesso a intervalos ou endereços IP confiáveis específicos. Ao atualizar suas regras de grupo de segurança, considere separar os requisitos de acesso para diferentes segmentos de rede criando regras para cada intervalo de IP de origem necessário ou restringindo o acesso a portas específicas.
Modificação de regras de grupos de segurança
Considere as seguintes opções para métodos alternativos de acesso:
-
O Session Manager fornece acesso seguro ao shell às suas EC2 instâncias da Amazon sem a necessidade de portas de entrada, gerenciamento de chaves SSH ou manutenção de bastion hosts.
-
NACLs fornecem uma camada adicional de segurança no nível da sub-rede. Diferentemente dos grupos de segurança, não NACLs têm estado e exigem que as regras de entrada e saída sejam definidas explicitamente.
O serviço Amazon ECS tem endereços IP públicos
Os serviços do Amazon ECS com endereços IP públicos atribuídos às suas tarefas podem ser acessados diretamente pela Internet. Embora isso possa ser necessário para serviços que precisem estar disponíveis publicamente, isso aumenta a superfície de ataque e o potencial para acessos não autorizados.
Identificação de serviços com endereços IP públicos
Na descoberta de exposição, identifique o serviço do Amazon ECS que tenha endereços IP públicos atribuídos às suas tarefas. Procure a configuração assignPublicIp com um valor de ENABLED na configuração do serviço.
Atualizar definições de tarefa
Crie uma nova revisão da sua definição da tarefa que desabilite endereços IP públicos. Em seguida, atualize seu serviço do Amazon ECS para usar a nova revisão da definição da tarefa.
Implementação de padrões de acesso da rede privada
Para instâncias que estão executando aplicativos web, considere usar um Load Balancer (LB). LBs pode ser configurado para permitir que suas instâncias sejam executadas em sub-redes privadas enquanto o LB é executado em uma sub-rede pública e gerencia o tráfego da Internet.
O serviço do Amazon ECS usa uma definição de tarefa configurada com o modo de rede do host habilitado.
Os contêineres do Amazon ECS executados com o modo de rede do host compartilham o namespace da rede com o host, permitindo acesso direto às interfaces de rede, portas e tabelas de rotas do host. Essa configuração ignora o isolamento de rede fornecido pelos contêineres, potencialmente expondo os serviços executados no contêiner diretamente às redes externas e permitindo que os contêineres modifiquem as configurações da rede do host. Seguindo os princípios de segurança padrão, AWS recomenda manter o isolamento adequado da rede para contêineres.
Desabilitação do modo de rede do host
Na descoberta da exposição, identifique s definição da tarefa com o modo de rede do host. Abra a definição da tarefa no console do Amazon ECS. Procure a configuração networkMode com um valor de host na definição da tarefa.
Considere as opções a seguir para desabilitar o modo de rede do host:
-
O modo de rede
awsvpcfornece o nível mais forte de isolamento de rede, dando a cada tarefa sua própria interface de rede elástica. -
O modo de rede
bridgefornece isolamento enquanto permite mapeamentos de portas para expor portas específicas de contêineres ao host.
Atualizar definições de tarefa
Crie uma nova revisão da definição da sua tarefa com a configuração atualizada do modo de rede. Em seguida, atualize seu serviço do Amazon ECS para usar a nova revisão da definição da tarefa.
O perfil do IAM associado ao serviço do Amazon ECS tem uma política de acesso administrativa.
OS perfis do IAM com políticas de acesso administrativas anexadas às tarefas do Amazon ECS fornecem amplas permissões que excedem o que normalmente é necessário para a operação de contêineres. Essa configuração aumenta o risco de que um contêiner comprometido possa ser usado para acessar ou modificar recursos em todo o AWS ambiente. Seguindo os princípios de segurança padrão, AWS recomenda implementar o acesso com privilégios mínimos concedendo somente as permissões necessárias para que uma tarefa funcione.
Analisar e identificar políticas administrativas
No ID do recurso, identifique o nome do perfil do IAM. Acesse o painel do IAM e selecione o perfil identificado. Analise a política da permissão anexada ao perfil do IAM. Se a política for uma política AWS gerenciada, procureAdministratorAccess. Caso contrário, no documento de política, procure declarações que tenham as declarações "Effect": "Allow", "Action": "*",
and "Resource": "*" juntas.
Implemente o acesso de privilégio mínimo
Substitua as políticas administrativas por aquelas que concedam somente as permissões específicas necessárias para que a instância funcione. Para identificar as permissões desnecessárias, é possível usar o IAM Access Analyzer para entender como modificar sua política com base no histórico de acesso. Também é possível criar um perfil do IAM para evitar o impacto de outras aplicações que estão usando o perfil existente. Nesse cenário, crie um novo perfil do IAM e associe-o à instância.
Considerações sobre configuração segura
Se forem necessárias permissões administrativas em nível de serviço para a instância, considere implementar estes controles de segurança adicionais para reduzir os riscos:
-
A MFA adiciona uma camada de segurança adicional ao exigir uma forma adicional de autenticação. Isso ajuda a impedir acesso não autorizado mesmo que as credenciais estejam comprometidas.
-
A configuração de elementos condicionais permite restringir quando e como as permissões administrativas podem ser usadas com base em fatores como IP de origem ou idade da MFA.
Atualizar definições de tarefa
Crie uma nova revisão da sua definição de tarefa que referencie os perfis do IAM novos ou atualizados. Em seguida, atualize seu serviço do Amazon ECS para usar a nova revisão da definição da tarefa.
A função do IAM associada ao serviço ECS tem uma política de administração de serviços
As políticas de administração de serviços fornecem às tarefas e serviços do Amazon ECS permissões para realizar todas as ações em AWS serviços específicos. Essas políticas normalmente incluem permissões que são necessárias para a funcionalidade de tarefas do Amazon ECS. Fornecer uma função do IAM com uma política de administração de serviços para tarefas do Amazon ECS, em vez do conjunto mínimo de permissões necessárias, pode aumentar o escopo de um ataque se um contêiner for comprometido. Seguindo os princípios de segurança padrão, AWS recomenda que você conceda o mínimo de privilégios, o que significa conceder somente as permissões necessárias para realizar uma tarefa.
Analisar e identificar políticas administrativas
No ID do recurso, identifique a função da tarefa e os nomes da função de execução do Amazon ECS. Acesse o painel do IAM"s3": "*", "ecr": "*"). Para obter instruções sobre como editar políticas do IAM, consulte Editar políticas do IAM no Guia do usuário do IAM.
Implemente o acesso de privilégio mínimo
Substitua as políticas de administração do serviço por aquelas que concedem somente as permissões específicas necessárias para que as tarefas do Amazon ECS funcionem. Para identificar as permissões desnecessárias, é possível usar o IAM Access Analyzer para entender como modificar sua política com base no histórico de acesso. Também é possível criar um perfil do IAM para evitar o impacto de outras aplicações que estão usando o perfil existente. Nesse cenário, crie um novo perfil do IAM e associe-o à instância.
Considerações sobre configuração segura
Se forem necessárias permissões administrativas em nível de serviço para tarefas do Amazon ECS, considere implementar estes controles de segurança adicionais:
-
Condições do IAM — Configure elementos condicionais para restringir quando e como as permissões administrativas podem ser usadas com base em fatores como endpoints de VPC ou clusters específicos do Amazon ECS. Para obter mais informações, consulte Uso de condições nas políticas do IAM para restrição de acesso adicional no Guia do usuário do IAM.
-
Limites de permissão — Estabeleça o máximo de permissões que uma função pode ter, fornecendo proteções para funções com acesso administrativo. Para obter mais informações, consulte Usar limites de permissões para delegar o gerenciamento de permissões em uma conta no Guia do usuário do IAM.
Atualizar definições de tarefa
Crie uma nova revisão da sua definição de tarefa que referencie os perfis do IAM novos ou atualizados. Em seguida, atualize seu serviço do Amazon ECS para usar a nova revisão da definição da tarefa.
Características de vulnerabilidade de serviços do Amazon ECS
Aqui estão as características de vulnerabilidade para o Amazon ECS e as etapas de correção sugeridas.
O serviço do Amazon ECS tem um contêiner com vulnerabilidades de software que podem ser exploradas pela rede com uma alta probabilidade de exploração
-
Compreenda a exposição
As descobertas de vulnerabilidade de pacotes identificam pacotes de software em seu AWS ambiente que estão expostos a vulnerabilidades e exposições comuns (). CVEs Os invasores podem explorar essas vulnerabilidades sem correção e comprometer a confidencialidade, a integridade ou a disponibilidade dos dados, ou para acessar outros sistemas. As imagens do contêiner de ECR podem conter descobertas de vulnerabilidade de pacotes.
-
Corrija a exposição
-
Atualizar a versão do pacote
Analise a descoberta da vulnerabilidade do pacote para sua imagem de contêiner do ECR. Atualize a versão do pacote conforme sugerido pelo Amazon Inspector. Para obter mais informações, consulte Visualização de detalhes das duas descobertas do Amazon Inspector no Guia do usuário do Amazon Inspector. A seção Correção dos detalhes da descoberta no console do Amazon Inspector informa quais comandos podem ser executados para atualizar o pacote.
-
Atualizar imagens básicas do contêiner
Reconstrua e atualize imagens básicas de contêineres regularmente para mantê-los atualizados. Ao reconstruir uma imagem, não inclua componentes desnecessários para reduzir a superfície de ataque. Para obter instruções sobre como reconstruir uma imagem de contêiner, consulte Reconstrua suas imagens com frequência
.
-
O serviço do Amazon ECS tem um contêiner com vulnerabilidades de software
Pacotes de software instalados nos contêineres do Amazon ECS podem ser expostos a vulnerabilidades e exposições comuns (). CVEs Vulnerabilidades de baixa prioridade representam pontos fracos de segurança com menor gravidade ou capacidade de exploração em comparação com vulnerabilidades de alta prioridade. Embora essas vulnerabilidades apresentem risco menos imediato, os invasores ainda podem explorar essas vulnerabilidades sem correção e comprometer a confidencialidade, a integridade ou a disponibilidade dos dados, ou acessar outros sistemas.
Atualização de imagens de contêineres afetados
Analise a seção Referências na guia Vulnerabilidade da característica. A documentação do fornecedor pode incluir orientações específicas de correção.
Aplique a correção apropriada seguindo estas diretrizes gerais:
-
Atualize suas imagens de contêiner para usar versões corrigidas dos pacotes afetados.
-
Atualize as dependências afetadas na sua aplicação para as versões seguras mais recentes.
Depois de atualizar a imagem do contêiner, envie-a para o registro do contêiner e atualize a definição da tarefa do Amazon ECS para usar a nova imagem.
Considerações futuras
Para fortalecer ainda mais a postura de segurança de suas imagens de contêiner, considere seguir as práticas recomendadas de segurança de tarefas e contêineres no Amazon ECS. O Amazon Inspector pode ser configurado para digitalizar automaticamente CVEs em seus contêineres. O Amazon Inspector também pode ser integrado ao Security Hub para correções automáticas. Considere implementar um cronograma regular de patches usando as Janelas de Manutenção do Systems Manager para minimizar a interrupção em seus contêineres.
O serviço Amazon ECS tem um contêiner com um End-Of-Life sistema operacional
O contêiner Amazon ECS depende de um sistema end-of-life operacional que não é mais suportado ou mantido pelo desenvolvedor original. Isso expõe o contêiner a vulnerabilidades de segurança e possíveis ataques. Quando os sistemas operacionais chegam end-of-life, os fornecedores geralmente param de lançar novos avisos de segurança. Os alertas de segurança existentes também podem ser removidos dos feeds do fornecedor. Como resultado, o Amazon Inspector poderia potencialmente parar de gerar descobertas conhecidas CVEs, criando mais lacunas na cobertura de segurança.
Consulte Sistemas operacionais descontinuados no Guia do Usuário do Amazon Inspector para obter informações sobre sistemas operacionais que chegaram ao fim da vida útil e que podem ser detectados pelo Amazon Inspector.
Atualização para uma versão compatível do sistema operacional
Recomendamos atualizar para uma versão compatível do sistema operacional. Na descoberta de exposição, abra o recurso para acessar o recurso afetado. Antes de atualizar a versão do sistema operacional na imagem do seu contêiner, revise as versões disponíveis em Sistemas operacionais compatíveis no Guia do usuário do Amazon Inspector para obter uma lista das versões do sistema operacional atualmente suportadas. Depois de atualizar a imagem do contêiner, envie-a para o registro do contêiner e atualize a definição da tarefa do Amazon ECS para usar a nova imagem.
O serviço Amazon ECS tem um contêiner com pacotes de software malicioso
Pacotes maliciosos são componentes de software que contêm códigos nocivos projetados para comprometer a confidencialidade, a integridade e a disponibilidade de seus sistemas e dados. Pacotes maliciosos representam uma ameaça ativa e crítica às imagens de contêineres do Amazon ECS, pois os invasores podem executar códigos maliciosos automaticamente sem explorar uma vulnerabilidade. Seguindo as melhores práticas de segurança, AWS recomenda a remoção de pacotes maliciosos para proteger seus contêineres de possíveis ataques.
Remover pacotes maliciosos
Examine os detalhes do pacote malicioso na seção Referências da guia Vulnerabilidade da característica para entender a ameaça. Remova os pacotes maliciosos identificados das imagens do contêiner e reconstrua-os. Para obter mais informações, consulte ContainerDependency na AWS Amazon ECS API Reference (Referência de API do Amazon ECS). Depois de atualizar a imagem do contêiner, envie-a para o registro do contêiner e atualize a definição da tarefa do Amazon ECS para usar a nova imagem. Para obter mais informações, consulte Atualização de uma definição de tarefa do Amazon ECS usando o console no AWS Amazon ECS Developer Guide.