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 O Security Hub pode gerar resultados de exposição para os serviços do Amazon Elastic Container Service (Amazon ECS).
O serviço 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 do Security Hub.
Depois de identificar o recurso envolvido em uma descoberta de exposição, você pode 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 remediação recomendadas para ajudar a mitigar o risco. Os tópicos de remediaçã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 remediação. Por outro lado, você pode abordar uma descoberta de exposição e reduzir seu nível de gravidade abordando apenas um tópico de remediação. Sua abordagem para remediação de riscos depende de seus requisitos organizacionais e cargas de trabalho.
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 dos serviços do Amazon ECS
Características de configuração incorreta dos serviços do Amazon ECS
Aqui estão as características de configuração incorreta dos 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 afetam outros contêineres no mesmo host. Seguindo os princípios de segurança padrão, AWS recomenda que você conceda o mínimo de privilégios, o que significa que você concede somente as permissões necessárias para realizar uma tarefa.
Revise e modifique a definição da 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 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 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 Amazon ECS tem um contêiner que pode assumir uma função do IAM
As funções do IAM permitem que as tarefas do Amazon ECS acessem com segurança outros AWS serviços usando credenciais temporárias. As funções de execução de tarefas podem ser necessárias para tarefas do Amazon ECS em que o contêiner precisa interagir com outros AWS recursos. Embora isso às vezes seja necessário para a funcionalidade do contêiner, funções configuradas incorretamente podem conceder privilégios excessivos que podem ser explorados por invasores se um contêiner for comprometido, potencialmente permitindo acesso não autorizado a AWS recursos, roubo de dados ou modificação não autorizada de sua infraestrutura. Seguindo os princípios de segurança padrão, AWS recomenda implementar o acesso com privilégios mínimos e revisar as funções do IAM associadas às suas tarefas do Amazon ECS.
Revise as funções anexadas
Acesse o painel do IAM e selecione a função identificada. Analise a política de permissões anexada à função do IAM. Se a tarefa exigir interação com outros AWS serviços, mantenha a função de execução da tarefa e considere aplicar permissões de privilégios mínimos. Caso contrário, crie uma nova revisão de definição de tarefa sem a função de execução.
O serviço 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 confidenciais no sistema de arquivos do host. Seguindo os princípios de segurança padrão, AWS recomenda que você conceda o mínimo de privilégios, o que significa que você concede somente as permissões necessárias para realizar uma tarefa.
Revise e modifique contêineres com acesso ao sistema de arquivos do host
Na descoberta de 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. s Se o acesso ao sistema de arquivos do host não for necessário, crie uma nova revisão da definição da tarefa e remova todas as definições de volume que usem caminhos do host. Se for necessário acessar o sistema de arquivos do host, considere configurar o contêiner para usar um sistema de arquivos somente para leitura para evitar modificações não autorizadas.
O serviço Amazon ECS usa uma definição de tarefa configurada para compartilhar o namespace de 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.
Atualize as definições de tarefas com namespaces expostos
Abra a guia Recursos da exposição, 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 compartilharia 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 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 confidenciais de autenticação que podem ser comprometidas se um invasor obtiver acesso à definição da tarefa, ao ambiente do contêiner ou aos registros 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.
Substitua as credenciais de texto não criptografado
Na descoberta de exposição, identifique a definição da tarefa com credenciais de texto não criptografado. Abra a definição da tarefa no console do Amazon ECS. Procure variáveis de ambiente na definição do contêiner que contenham valores confidenciais, como chaves de AWS acesso, senhas de banco de dados ou tokens de API.
Considere as seguintes alternativas 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 AWS segredos no 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 de sua tarefa que gerencie com segurança as credenciais. Em seguida, atualize seu serviço Amazon ECS para usar a nova revisão da definição de tarefas.
O serviço Amazon ECS tem um grupo de segurança aberto
Grupos de segurança atuam como firewalls virtuais para suas tarefas do Amazon ECS para controlar o tráfego de entrada e saída. Grupos de segurança abertos, que permitem acesso irrestrito de qualquer endereço IP, podem expor seus contêineres ao 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.
Revise as regras do grupo de segurança e avalie a configuração atual
Abra o recurso para o Amazon ECS Security Group. Avalie quais portas estão abertas e acessíveis a partir de amplos intervalos de IP, como(0.0.0.0/0 or ::/0)
.
Modificar as regras do grupo 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.
Modificar as regras do grupo 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 precisam estar disponíveis publicamente, aumenta a superfície de ataque e o potencial de acesso não autorizado.
Identifique serviços com endereços IP públicos
Na descoberta de exposição, identifique o serviço Amazon ECS que tem endereços IP públicos atribuídos às suas tarefas. Procure a assignPublicIp
configuração com um valor de ENABLED
na configuração do serviço.
Atualizar definições de tarefa
Crie uma nova revisão da definição de sua tarefa que desabilite endereços IP públicos. Em seguida, atualize seu serviço Amazon ECS para usar a nova revisão da definição de tarefas.
Implemente padrões de acesso à 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 Amazon ECS usa uma definição de tarefa que é configurada com o modo de rede do host ativado.
Os contêineres do Amazon ECS executados no modo de rede do host compartilham o namespace da rede com o host, permitindo acesso direto às interfaces de rede, portas e tabelas de roteamento 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.
Desativar o modo de rede do host
Na descoberta de exposição, identifique a 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 seguintes opções para desativar o modo de rede do host:
-
O modo
awsvpc
de rede fornece o nível mais forte de isolamento de rede, dando a cada tarefa sua própria interface de rede elástica. -
O modo
bridge
de rede fornece 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 de sua tarefa com a configuração atualizada do modo de rede. Em seguida, atualize seu serviço Amazon ECS para usar a nova revisão da definição de tarefas.
A função do IAM associada ao serviço Amazon ECS tem uma política de acesso administrativo
As funções do IAM com políticas de acesso administrativo 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.
Revise e identifique políticas administrativas
Na ID do recurso, identifique o nome da função do IAM. Acesse o painel do IAM e selecione a função identificada. Analise a política de permissões anexada à função 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 concedem somente as permissões específicas necessárias para o funcionamento da instância. Para identificar permissões desnecessárias, você pode usar o IAM Access Analyzer para entender como modificar sua política com base no histórico de acesso. Como alternativa, você pode criar uma nova função do IAM para evitar o impacto de outros aplicativos que estão usando a função existente. Nesse cenário, crie uma nova função do IAM e associe a nova função do IAM à 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 esses controles de segurança adicionais para reduzir os riscos:
-
O MFA adiciona uma camada de segurança adicional ao exigir uma forma adicional de autenticação. Isso ajuda a evitar o 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 definição de sua tarefa que faça referência às funções novas ou atualizadas do IAM. Em seguida, atualize seu serviço Amazon ECS para usar a nova revisão da definição de tarefas.
Traços de vulnerabilidade para os serviços do Amazon ECS
Aqui estão as características de acessibilidade do Amazon ECS e as etapas de remediação sugeridas.
O serviço Amazon ECS tem um contêiner com vulnerabilidades de software que podem ser exploradas pela rede e com alta probabilidade de exploração
-
Entenda 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 de contêiner ECR podem conter descobertas de vulnerabilidade de pacotes.
-
Remedie a exposição
-
Atualizar a versão do pacote
Analise a descoberta da vulnerabilidade do pacote para sua função Lambda. Atualize a versão do pacote conforme sugerido pelo Amazon Inspector. Para obter informações, consulte Visualização dos detalhes de suas descobertas do Amazon Inspector no Guia do Usuário do Amazon Inspector. A seção Remediação dos detalhes da descoberta no console do Amazon Inspector informa quais comandos você pode executar para atualizar o pacote.
-
Atualizar imagens básicas do contêiner
Reconstrua e atualize as imagens básicas do contêiner regularmente para manter seus contêineres atualizados. Ao reconstruir a 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 Reconstruir suas imagens com frequência
.
-
O serviço 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 representem menos riscos imediatos, os invasores ainda podem explorar essas vulnerabilidades não corrigidas para comprometer a confidencialidade, a integridade ou a disponibilidade dos dados ou acessar outros sistemas.
Atualizar imagens de contêiner afetadas
Revise a seção Referências na guia Vulnerabilidade da característica. A documentação do fornecedor pode incluir orientações específicas de remediação.
Aplique a remediaçã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 em seu aplicativo 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 melhores práticas de segurança de tarefas e contêineres do 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 remediações automáticas. Considere implementar um cronograma regular de patches usando o Systems Manager Maintenance Windows para minimizar a interrupção em seus contêineres.