Recomendações de segurança para recursos da Amazon Web Services (AWS)

Este artigo lista todas as recomendações que você pode ver no Microsoft Defender for Cloud se você conectar uma conta da Amazon Web Services (AWS) usando a página Configurações de ambiente. As recomendações que aparecem em seu ambiente são baseadas nos recursos que você está protegendo e em sua configuração personalizada.

Para saber mais sobre as ações que você pode tomar em resposta a essas recomendações, consulte Corrigir recomendações no Defender for Cloud.

Sua pontuação segura é baseada no número de recomendações de segurança que você concluiu. Para decidir quais recomendações resolver primeiro, observe a gravidade de cada recomendação e seu efeito potencial na sua pontuação segura.

Recomendações de computação da AWS

As instâncias do Amazon EC2 gerenciadas pelo Systems Manager devem ter um status de conformidade de patch de COMPLIANT após a instalação de um patch

Descrição: esse controle verifica se o status de conformidade da conformidade do patch do Amazon EC2 Systems Manager é COMPATÍVEL ou NON_COMPLIANT após a instalação do patch na instância. Ele verifica apenas instâncias gerenciadas pelo AWS Systems Manager Patch Manager. Ele não verifica se o patch foi aplicado dentro do limite de 30 dias prescrito pelo requisito '6.2' do PCI DSS. Também não valida se os patches aplicados foram classificados como patches de segurança. Você deve criar grupos de patches com as configurações de linha de base apropriadas e garantir que os sistemas no escopo sejam gerenciados por esses grupos de patches no Systems Manager. Para obter mais informações sobre grupos de patches, consulte Guia do usuário do AWS Systems Manager.

Gravidade: Média

O Amazon EFS deve ser configurado para criptografar dados de arquivos em repouso usando o AWS KMS

Descrição: esse controle verifica se o Amazon Elastic File System está configurado para criptografar os dados do arquivo usando o AWS KMS. A verificação falha nos seguintes casos: *"Encrypted" é definido como "false" na resposta DescribeFileSystems. A chave "KmsKeyId" na resposta DescribeFileSystems não corresponde ao parâmetro KmsKeyId para efs-encrypted-check. Observe que esse controle não usa o parâmetro "KmsKeyId" para efs-encrypted-check. Verifica apenas o valor de "Encrypted". Para obter uma camada adicional de segurança para seus dados confidenciais no Amazon EFS, você deve criar sistemas de arquivos criptografados. O Amazon EFS oferece suporte à criptografia para sistemas de arquivos em repouso. Você pode habilitar a criptografia de dados em repouso ao criar um sistema de arquivos do Amazon EFS. Para saber mais sobre a criptografia do Amazon EFS, consulte Criptografia de dados no Amazon EFS no Guia do usuário do Amazon Elastic File System.

Gravidade: Média

Os volumes do Amazon EFS devem estar em planos de backup

Descrição: esse controle verifica se os sistemas de arquivos do Amazon Elastic File System (Amazon EFS) foram adicionados aos planos de backup no AWS Backup. O controle falhará se os sistemas de arquivos do Amazon EFS não estiverem incluídos nos planos de backup. A inclusão de sistemas de arquivos EFS nos planos de backup ajuda você a proteger seus dados contra exclusão e perda de dados.

Gravidade: Média

A proteção contra exclusão do Application Load Balancer deve ser ativada

Descrição: esse controle verifica se um Application Load Balancer tem a proteção contra exclusão habilitada. O controle falhará se a proteção contra exclusão não estiver configurada. Habilite a proteção contra exclusão para proteger seu Application Load Balancer contra exclusão.

Gravidade: Média

Os grupos de Auto Scaling associados a um balanceador de carga devem usar verificações de integridade

Descrição: os grupos de Auto Scaling associados a um balanceador de carga estão usando verificações de integridade do Elastic Load Balancing. O PCI DSS não requer balanceamento de carga ou configurações altamente disponíveis. Isso é recomendado pelas melhores práticas da AWS.

Gravidade: Baixa

As contas da AWS devem ter o provisionamento automático do Azure Arc habilitado

Descrição: Para visibilidade total do conteúdo de segurança do Microsoft Defender para servidores, as instâncias do EC2 devem ser conectadas ao Azure Arc. Para garantir que todas as instâncias EC2 qualificadas recebam automaticamente o Azure Arc, habilite o provisionamento automático do Defender for Cloud no nível da conta da AWS. Saiba mais sobre o Azure Arc e o Microsoft Defender for Servers.

Gravidade: Alta

As distribuições do CloudFront devem ter failover de origem configurado

Descrição: esse controle verifica se uma distribuição do Amazon CloudFront está configurada com um grupo de origem que tenha duas ou mais origens. O failover de origem do CloudFront pode aumentar a disponibilidade. O failover de origem redireciona automaticamente o tráfego para uma origem secundária se a origem primária não estiver disponível ou se retornar códigos de status de resposta HTTP específicos.

Gravidade: Média

As URLs do repositório de origem do CodeBuild GitHub ou Bitbucket devem usar OAuth

Descrição: Este controle verifica se a URL do repositório de origem do GitHub ou Bitbucket contém tokens de acesso pessoal ou um nome de usuário e senha. As credenciais de autenticação nunca devem ser armazenadas ou transmitidas em texto não criptografado ou aparecer na URL do repositório. Em vez de tokens de acesso pessoal ou nome de usuário e senha, você deve usar o OAuth para conceder autorização para acessar repositórios GitHub ou Bitbucket. O uso de tokens de acesso pessoal ou um nome de usuário e senha pode expor suas credenciais à exposição não intencional de dados e acesso não autorizado.

Gravidade: Alta

As variáveis de ambiente do projeto CodeBuild não devem conter credenciais

Descrição: Este controle verifica se o projeto contém as variáveis AWS_ACCESS_KEY_ID de ambiente e AWS_SECRET_ACCESS_KEY. Credenciais AWS_ACCESS_KEY_ID de autenticação e AWS_SECRET_ACCESS_KEY nunca devem ser armazenadas em texto não criptografado, pois isso pode levar à exposição não intencional de dados e acesso não autorizado.

Gravidade: Alta

Os clusters do DynamoDB Accelerator (DAX) devem ser criptografados em repouso

Descrição: esse controle verifica se um cluster DAX está criptografado em repouso. A criptografia de dados em repouso reduz o risco de os dados armazenados no disco serem acessados por um usuário não autenticado na AWS. A criptografia adiciona outro conjunto de controles de acesso para limitar a capacidade de usuários não autorizados de acessar os dados. Por exemplo, as permissões de API são necessárias para descriptografar os dados antes que eles possam ser lidos.

Gravidade: Média

As tabelas do DynamoDB devem dimensionar automaticamente a capacidade de acordo com a demanda

Descrição: esse controle verifica se uma tabela do Amazon DynamoDB pode dimensionar sua capacidade de leitura e gravação conforme necessário. Esse controle passa se a tabela usar o modo de capacidade sob demanda ou o modo provisionado com dimensionamento automático configurado. Dimensionar a capacidade com a demanda evita exceções de limitação, o que ajuda a manter a disponibilidade de seus aplicativos.

Gravidade: Média

As instâncias do EC2 devem ser conectadas ao Azure Arc

Descrição: conecte suas instâncias do EC2 ao Azure Arc para ter visibilidade total do conteúdo de segurança do Microsoft Defender for Servers. Saiba mais sobre o Azure Arc e sobre o Microsoft Defender for Servers em ambiente de nuvem híbrida.

Gravidade: Alta

As instâncias do EC2 devem ser gerenciadas pelo AWS Systems Manager

Descrição: o status da conformidade do patch do Amazon EC2 Systems Manager é 'COMPATÍVEL' ou 'NON_COMPLIANT' após a instalação do patch na instância. Somente as instâncias gerenciadas pelo AWS Systems Manager Patch Manager são verificadas. Os patches que foram aplicados dentro do limite de 30 dias prescrito pelo requisito '6' do PCI DSS não são verificados.

Gravidade: Média

Os problemas de configuração do EDR devem ser resolvidos no EC2s

Descrição: Para proteger as máquinas virtuais contra as ameaças e vulnerabilidades mais recentes, resolva todos os problemas de configuração identificados com a solução EDR (Endpoint Detection and Response) instalada.
Nota: Atualmente, esta recomendação só se aplica a recursos com o Microsoft Defender for Endpoint (MDE) ativado.

Gravidade: Alta

A solução EDR deve ser instalada no EC2s

Descrição: para proteger os EC2s, instale uma solução EDR (Endpoint Detection and Response). Os EDRs ajudam a prevenir, detetar, investigar e responder a ameaças avançadas. Use o Microsoft Defender for Servers para implantar o Microsoft Defender for Endpoint. Se o recurso for classificado como "Não íntegro", ele não terá uma solução EDR suportada instalada. Se você tiver uma solução EDR instalada que não seja detetável por esta recomendação, você pode isentá-la.

Gravidade: Alta

As instâncias gerenciadas pelo Systems Manager devem ter um status de conformidade de associação de COMPLIANT

Descrição: esse controle verifica se o status da conformidade da associação do AWS Systems Manager é COMPATÍVEL ou NON_COMPLIANT depois que a associação é executada em uma instância. O controle passa se o status de conformidade da associação for COMPATÍVEL. Uma associação do State Manager é uma configuração atribuída às suas instâncias gerenciadas. A configuração define o estado que você deseja manter em suas instâncias. Por exemplo, uma associação pode especificar que o software antivírus deve ser instalado e executado em suas instâncias ou que determinadas portas devem ser fechadas. Depois de criar uma ou mais associações do State Manager, as informações de status de conformidade ficam imediatamente disponíveis para você no console ou em resposta aos comandos da AWS CLI ou às operações correspondentes da API do Systems Manager. Para associações, a Conformidade de "Configuração" mostra os status de Compatível ou Não Compatível e o nível de gravidade atribuído à associação, como Crítico ou Médio. Para saber mais sobre a conformidade da associação do State Manager, consulte Sobre a conformidade da associação do State Manager no Guia do usuário do AWS Systems Manager. Você deve configurar suas instâncias EC2 no escopo para associação do Systems Manager. Você também deve configurar a linha de base do patch para a classificação de segurança do fornecedor de patches e definir a data de aprovação automática para atender ao requisito 6.2 do PCI DSS 3.2.1. Para obter mais orientações sobre como criar uma associação, consulte Criar uma associação no Guia do usuário do AWS Systems Manager. Para obter mais informações sobre como trabalhar com patches no Systems Manager, consulte AWS Systems Manager Patch Manager no Guia do usuário do AWS Systems Manager.

Gravidade: Baixa

As funções do Lambda devem ter uma fila de mensagens mortas configurada

Descrição: esse controle verifica se uma função do Lambda está configurada com uma fila de mensagens mortas. O controle falhará se a função do Lambda não estiver configurada com uma fila de mensagens mortas. Como alternativa a um destino em caso de falha, você pode configurar sua função com uma fila de mensagens mortas para salvar eventos descartados para processamento posterior. Uma fila de mensagens mortas age da mesma forma que um destino em caso de falha. É usado quando um evento falha em todas as tentativas de processamento ou expira sem ser processado. Uma fila de mensagens mortas permite que você analise erros ou solicitações com falha para sua função do Lambda para depurar ou identificar um comportamento incomum. Do ponto de vista da segurança, é importante entender por que sua função falhou e garantir que sua função não perca dados ou comprometa a segurança dos dados como resultado. Por exemplo, se sua função não puder se comunicar com um recurso subjacente, isso pode ser um sintoma de um ataque de negação de serviço (DoS) em outro lugar da rede.

Gravidade: Média

As funções do Lambda devem usar tempos de execução suportados

Descrição: esse controle verifica se as configurações de função do Lambda para tempos de execução correspondem aos valores esperados definidos para os tempos de execução suportados para cada idioma. Esse controle verifica os seguintes tempos de execução: nodejs14.x, nodejs12.x, nodejs10.x, python3.8, python3.7, python3.6, ruby2.7, ruby2.5, java11, java8, java8.al2, go1.x, dotnetcore3.1, dotnetcore2.1Runtimes do Lambda são construídos em torno de uma combinação de sistema operacional, linguagem de programação e bibliotecas de software que estão sujeitas a atualizações de manutenção e segurança. Quando um componente de tempo de execução não é mais suportado para atualizações de segurança, o Lambda substitui o tempo de execução. Mesmo que você não possa criar funções que usam o tempo de execução preterido, a função ainda está disponível para processar eventos de invocação. Certifique-se de que suas funções do Lambda estejam atualizadas e não usem ambientes de tempo de execução desatualizados. Para saber mais sobre os tempos de execução suportados que esse controle verifica para os idiomas suportados, consulte Tempos de execução do AWS Lambda no Guia do desenvolvedor do AWS Lambda.

Gravidade: Média

As portas de gerenciamento de instâncias do EC2 devem ser protegidas com controle de acesso à rede just-in-time

Descrição: O Microsoft Defender for Cloud identificou algumas regras de entrada excessivamente permissivas para portas de gerenciamento em sua rede. Habilite o controle de acesso just-in-time para proteger suas instâncias contra ataques de força bruta baseados na Internet. Mais informações.

Gravidade: Alta

Os security groups do EC2 não utilizados devem ser removidos

Descrição: os grupos de segurança devem ser anexados a instâncias do Amazon EC2 ou a uma ENI. A localização íntegra pode indicar que há grupos de segurança do Amazon EC2 não utilizados.

Gravidade: Baixa

Recomendações de contêiner da AWS

[Pré-visualização] As imagens de contêiner no registro da AWS devem ter as descobertas de vulnerabilidade resolvidas

Descrição: o Defender for Cloud verifica as imagens do Registro em busca de vulnerabilidades conhecidas (CVEs) e fornece descobertas detalhadas para cada imagem digitalizada. A verificação e correção de vulnerabilidades para imagens de contêiner no registro ajuda a manter uma cadeia de suprimentos de software segura e confiável, reduz o risco de incidentes de segurança e garante a conformidade com os padrões do setor.

Gravidade: Alta

Tipo: Avaliação de vulnerabilidade

[Pré-visualização] Os contêineres executados na AWS devem ter as descobertas de vulnerabilidade resolvidas

Descrição: o Defender for Cloud cria um inventário de todas as cargas de trabalho de contêiner atualmente em execução em seus clusters Kubernetes e fornece relatórios de vulnerabilidade para essas cargas de trabalho combinando as imagens que estão sendo usadas e os relatórios de vulnerabilidade criados para as imagens do Registro. A verificação e correção de vulnerabilidades de cargas de trabalho de contêineres é fundamental para garantir uma cadeia de suprimentos de software robusta e segura, reduzir o risco de incidentes de segurança e garantir a conformidade com os padrões do setor.

Gravidade: Alta

Tipo: Avaliação de vulnerabilidade

Os clusters EKS devem conceder as permissões necessárias da AWS ao Microsoft Defender for Cloud

Descrição: O Microsoft Defender for Containers fornece proteções para seus clusters EKS. Para monitorar seu cluster em busca de vulnerabilidades e ameaças de segurança, o Defender for Containers precisa de permissões para sua conta da AWS. Essas permissões são usadas para habilitar o log do plano de controle do Kubernetes em seu cluster e estabelecer um pipeline confiável entre seu cluster e o back-end do Defender for Cloud na nuvem. Saiba mais sobre os recursos de segurança do Microsoft Defender for Cloud para ambientes em contêineres.

Gravidade: Alta

Os clusters EKS devem ter a extensão do Microsoft Defender para Azure Arc instalada

Descrição: A extensão de cluster do Microsoft Defender fornece recursos de segurança para seus clusters EKS. A extensão coleta dados de um cluster e seus nós para identificar vulnerabilidades e ameaças de segurança. A extensão funciona com o Kubernetes habilitado para Azure Arc. Saiba mais sobre os recursos de segurança do Microsoft Defender for Cloud para ambientes em contêineres.

Gravidade: Alta

O Microsoft Defender for Containers deve ser habilitado em conectores da AWS

Descrição: O Microsoft Defender for Containers fornece proteção contra ameaças em tempo real para ambientes em contêineres e gera alertas sobre atividades suspeitas. Use essas informações para fortalecer a segurança de clusters Kubernetes e corrigir problemas de segurança.

Importante: Quando você habilitou o Microsoft Defender for Containers e implantou o Azure Arc em seus clusters EKS, as proteções - e cobranças - começarão. Se você não implantar o Azure Arc em um cluster, o Defender for Containers não o protegerá e não serão cobrados encargos por esse plano do Microsoft Defender para esse cluster.

Gravidade: Alta

Recomendações do plano de dados

Todas as recomendações de segurança do plano de dados do Kubernetes são suportadas para a AWS depois que você habilita a Política do Azure para Kubernetes.

Recomendações de dados da AWS

Clusters do Amazon Aurora devem ter backtracking habilitado

Descrição: esse controle verifica se os clusters do Amazon Aurora têm backtracking habilitado. Os backups ajudam você a se recuperar mais rapidamente de um incidente de segurança. Eles também fortalecem a resiliência de seus sistemas. O backtracking do Aurora reduz o tempo de recuperação de um banco de dados para um point-in-time. Ele não requer uma restauração de banco de dados para fazer isso. Para obter mais informações sobre backtracking no Aurora, consulte Backtracking de um cluster de banco de dados do Aurora no Guia do usuário do Amazon Aurora.

Gravidade: Média

Os snapshots do Amazon EBS não devem ser restauráveis publicamente

Descrição: os snapshots do Amazon EBS não devem ser restauráveis publicamente por todos, a menos que explicitamente permitidos, para evitar a exposição acidental de dados. Além disso, a permissão para alterar configurações do Amazon EBS deve ser restrita apenas a contas autorizadas da AWS.

Gravidade: Alta

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

Descrição: esse controle verifica se uma definição de tarefa ativa do Amazon ECS com modo de rede de host também tem definições de contêiner privilegiado ou de usuário. O controle falha para definições de tarefa que têm modo de rede host e definições de contêiner onde privileged=false ou está vazio e user=root ou está vazio. Se uma definição de tarefa tem privilégios elevados, é porque o cliente optou especificamente por essa configuração. Esse controle verifica se há escalonamento de privilégios inesperado quando uma definição de tarefa tem a rede de host habilitada, mas o cliente não optou por privilégios elevados.

Gravidade: Alta

Os domínios do Amazon Elasticsearch Service devem criptografar dados enviados entre nós

Descrição: esse controle verifica se os domínios do Amazon ES têm a criptografia nó a nó habilitada. O HTTPS (TLS) pode ser usado para ajudar a impedir que invasores em potencial espionem ou manipulem o tráfego da rede usando ataques de pessoa no meio ou semelhantes. Somente conexões criptografadas por HTTPS (TLS) devem ser permitidas. A ativação da criptografia nó a nó para domínios do Amazon ES garante que as comunicações dentro do cluster sejam criptografadas em trânsito. Pode haver uma penalidade de desempenho associada a essa configuração. Você deve estar ciente e testar a compensação de desempenho antes de ativar essa opção.

Gravidade: Média

Os domínios do Amazon Elasticsearch Service devem ter a criptografia em repouso habilitada

Descrição: é importante habilitar as criptografias restantes de domínios do Amazon ES para proteger dados confidenciais

Gravidade: Média

O banco de dados do Amazon RDS deve ser criptografado usando a chave gerenciada pelo cliente

Descrição: essa verificação identifica bancos de dados RDS criptografados com chaves KMS padrão e não com chaves gerenciadas pelo cliente. Como prática líder, use chaves gerenciadas pelo cliente para criptografar os dados em seus bancos de dados RDS e manter o controle de suas chaves e dados em cargas de trabalho confidenciais.

Gravidade: Média

A instância do Amazon RDS deve ser configurada com configurações automáticas de backup

Descrição: essa verificação identifica instâncias do RDS que não estão definidas com a configuração de backup automático. Se o Backup automático estiver definido, o RDS criará um instantâneo do volume de armazenamento da sua instância de banco de dados, fazendo backup de toda a instância de banco de dados e não apenas de bancos de dados individuais, que fornecem recuperação point-in-time. O backup automático acontece durante o tempo da janela de backup especificada e mantém os backups por um período limitado de tempo, conforme definido no período de retenção. É recomendável definir backups automáticos para seus servidores RDS críticos que ajudem no processo de restauração de dados.

Gravidade: Média

Os clusters do Amazon Redshift devem ter o registro em log de auditoria habilitado

Descrição: esse controle verifica se um cluster do Amazon Redshift tem o log de auditoria habilitado. O registro em log de auditoria do Amazon Redshift fornece informações adicionais sobre conexões e atividades do usuário em seu cluster. Esses dados podem ser armazenados e protegidos no Amazon S3 e podem ser úteis em auditorias e investigações de segurança. Para obter mais informações, consulte Registro em log de auditoria de banco de dados no Guia de gerenciamento de cluster do Amazon Redshift.

Gravidade: Média

Os clusters do Amazon Redshift devem ter snapshots automáticos habilitados

Descrição: esse controle verifica se os clusters do Amazon Redshift têm snapshots automatizados habilitados. Ele também verifica se o período de retenção de snapshot é maior ou igual a sete. Os backups ajudam você a se recuperar mais rapidamente de um incidente de segurança. Eles fortalecem a resiliência dos seus sistemas. O Amazon Redshift tira snapshots periódicos por padrão. Esse controle verifica se os instantâneos automáticos estão habilitados e retidos por pelo menos sete dias. Para obter mais informações sobre snapshots automatizados do Amazon Redshift, consulte Snapshots automatizados no Guia de gerenciamento de clusters do Amazon Redshift.

Gravidade: Média

Clusters do Amazon Redshift devem proibir acesso público

Descrição: recomendamos que os clusters do Amazon Redshift evitem a acessibilidade pública avaliando o campo 'publiclyAccessible' no item de configuração do cluster.

Gravidade: Alta

Amazon Redshift deve ter atualizações automáticas para versões principais habilitadas

Descrição: esse controle verifica se as atualizações automáticas de versões principais estão habilitadas para o cluster do Amazon Redshift. A ativação de atualizações automáticas de versões principais garante que as atualizações de versão principal mais recentes para clusters do Amazon Redshift sejam instaladas durante a janela de manutenção. Essas atualizações podem incluir patches de segurança e correções de bugs. Manter-se atualizado com a instalação de patches é um passo importante para proteger os sistemas.

Gravidade: Média

As filas do Amazon SQS devem ser criptografadas em repouso

Descrição: esse controle verifica se as filas do Amazon SQS estão criptografadas em repouso. A criptografia do lado do servidor (SSE) permite transmitir dados confidenciais em filas criptografadas. Para proteger o conteúdo de mensagens em filas, o SSE usa chaves gerenciadas no AWS KMS. Para obter mais informações, consulte Criptografia em repouso no Guia do desenvolvedor do Amazon Simple Queue Service.

Gravidade: Média

Uma assinatura de notificações de eventos RDS deve ser configurada para eventos críticos de cluster

Descrição: esse controle verifica se existe uma assinatura de evento do Amazon RDS com notificações habilitadas para o seguinte tipo de origem, pares chave-valor de categoria de evento. DBCluster: ["manutenção" e "falha"]. As notificações de eventos do RDS usam o Amazon SNS para informar sobre alterações na disponibilidade ou configuração dos recursos do RDS. Estas notificações permitem uma resposta rápida. Para obter mais informações sobre notificações de eventos do RDS, consulte Usar notificação de eventos do Amazon RDS no Guia do usuário do Amazon RDS.

Gravidade: Baixa

Uma assinatura de notificações de eventos RDS deve ser configurada para eventos críticos de instância de banco de dados

Descrição: esse controle verifica se existe uma assinatura de evento do Amazon RDS com notificações habilitadas para o seguinte tipo de origem. Pares chave-valor de categoria de evento. DBInstance: ["manutenção", "alteração de configuração" e "falha"]. As notificações de eventos do RDS usam o Amazon SNS para informar sobre alterações na disponibilidade ou configuração dos recursos do RDS. Estas notificações permitem uma resposta rápida. Para obter mais informações sobre notificações de eventos do RDS, consulte Usar notificação de eventos do Amazon RDS no Guia do usuário do Amazon RDS.

Gravidade: Baixa

Uma assinatura de notificações de eventos RDS deve ser configurada para eventos críticos do parameter group do banco de dados

Descrição: esse controle verifica se existe uma assinatura de evento do Amazon RDS com notificações habilitadas para o seguinte tipo de origem. Pares chave-valor de categoria de evento. DBParameterGroup: ["configuração","alterar"]. As notificações de eventos do RDS usam o Amazon SNS para informar sobre alterações na disponibilidade ou configuração dos recursos do RDS. Estas notificações permitem uma resposta rápida. Para obter mais informações sobre notificações de eventos do RDS, consulte Usar notificação de eventos do Amazon RDS no Guia do usuário do Amazon RDS.

Gravidade: Baixa

Uma assinatura de notificações de eventos RDS deve ser configurada para eventos críticos do grupo de segurança do banco de dados

Descrição: esse controle verifica se existe uma assinatura de evento do Amazon RDS com notificações habilitadas para o seguinte tipo de origem, pares chave-valor de categoria de evento. DBSecurityGroup: ["configuração","alteração","falha"]. As notificações de eventos do RDS usam o Amazon SNS para informar sobre alterações na disponibilidade ou configuração dos recursos do RDS. Estas notificações permitem uma resposta rápida. Para obter mais informações sobre notificações de eventos do RDS, consulte Usar notificação de eventos do Amazon RDS no Guia do usuário do Amazon RDS.

Gravidade: Baixa

O log da API Gateway REST e da API WebSocket deve ser habilitado

Descrição: esse controle verifica se todos os estágios de uma API REST ou WebSocket do Amazon API Gateway têm o registro em log habilitado. O controle falhará se o registro em log não estiver habilitado para todos os métodos de um estágio ou se o nível de log não for ERROR nem INFO. Os estágios da API Gateway REST ou WebSocket API devem ter logs relevantes habilitados. O log de execução da API Gateway REST e WebSocket API fornece registros detalhados das solicitações feitas aos estágios REST e WebSocket API do API Gateway. Os estágios incluem respostas de back-end de integração de API, respostas do autorizador do Lambda e o requestId para endpoints de integração da AWS.

Gravidade: Média

Os dados de cache da API REST do API Gateway devem ser criptografados em repouso

Descrição: esse controle verifica se todos os métodos nos estágios da API REST do API Gateway que têm cache habilitado estão criptografados. O controle falhará se qualquer método em um estágio de API REST do API Gateway estiver configurado para cache e o cache não estiver criptografado. A criptografia de dados em repouso reduz o risco de os dados armazenados no disco serem acessados por um usuário não autenticado na AWS. Ele adiciona outro conjunto de controles de acesso para limitar a capacidade de usuários não autorizados acessarem os dados. Por exemplo, as permissões de API são necessárias para descriptografar os dados antes que eles possam ser lidos. Os caches de API REST do API Gateway devem ser criptografados em repouso para uma camada adicional de segurança.

Gravidade: Média

Os estágios da API REST do API Gateway devem ser configurados para usar certificados SSL para autenticação de back-end

Descrição: esse controle verifica se os estágios da API REST do Amazon API Gateway têm certificados SSL configurados. Os sistemas de back-end usam esses certificados para autenticar que as solicitações de entrada são do API Gateway. Os estágios da API REST do API Gateway devem ser configurados com certificados SSL para permitir que os sistemas de back-end autentiquem que as solicitações são originadas do API Gateway.

Gravidade: Média

Os estágios da API REST do API Gateway devem ter o AWS X-Ray Tracing habilitado

Descrição: esse controle verifica se o rastreamento ativo do AWS X-Ray está habilitado para os estágios da API REST do Amazon API Gateway. O rastreamento ativo de raios-X permite uma resposta mais rápida às mudanças de desempenho na infraestrutura subjacente. Alterações no desempenho podem resultar em falta de disponibilidade da API. O rastreamento ativo do X-Ray fornece métricas em tempo real das solicitações do usuário que fluem através de suas operações de API REST do API Gateway e serviços conectados.

Gravidade: Baixa

O API Gateway deve ser associado a uma ACL da web do AWS WAF

Descrição: esse controle verifica se um estágio do API Gateway usa uma lista de controle de acesso à web (ACL) do AWS WAF. Esse controle falhará se uma ACL da web do AWS WAF não estiver conectada a um estágio do REST API Gateway. O AWS WAF é um firewall de aplicativos da web que ajuda a proteger aplicativos da web e APIs contra ataques. Ele permite que você configure uma ACL, que é um conjunto de regras que permitem, bloqueiam ou contam solicitações da Web com base em regras e condições de segurança da Web personalizáveis que você define. Certifique-se de que o estágio do API Gateway esteja associado a uma ACL da web do AWS WAF para ajudar a protegê-lo de ataques mal-intencionados.

Gravidade: Média

O registro em log de aplicativos e Classic Load Balancers deve ser habilitado

Descrição: esse controle verifica se o Application Load Balancer e o Classic Load Balancer têm o registro em log habilitado. O controle falhará se access_logs.s3.enabled for false. O Elastic Load Balancing fornece logs de acesso que capturam informações detalhadas sobre solicitações enviadas ao seu load balancer. Cada log contém informações como a hora em que a solicitação foi recebida, o endereço IP do cliente, latências, caminhos de solicitação e respostas do servidor. Você pode usar esses logs de acesso para analisar padrões de tráfego e solucionar problemas. Para saber mais, consulte Logs de acesso para seu Classic Load Balancer no Guia do Usuário para Classic Load Balancers.

Gravidade: Média

Os volumes do EBS anexados devem ser criptografados em repouso

Descrição: esse controle verifica se os volumes do EBS que estão em um estado anexado estão criptografados. Para passar nessa verificação, os volumes do EBS devem estar em uso e criptografados. Se o volume do EBS não estiver anexado, ele não estará sujeito a essa verificação. Para obter uma camada adicional de segurança de seus dados confidenciais em volumes do EBS, você deve habilitar a criptografia do EBS em repouso. A criptografia do Amazon EBS oferece uma solução de criptografia direta para seus recursos do EBS que não exige que você crie, mantenha e proteja sua própria infraestrutura de gerenciamento de chaves. Ele usa chaves mestras do cliente (CMK) do AWS KMS ao criar volumes e snapshots criptografados. Para saber mais sobre a criptografia do Amazon EBS, consulte Criptografia do Amazon EBS no Guia do usuário do Amazon EC2 para instâncias do Linux.

Gravidade: Média

As instâncias de replicação do AWS Database Migration Service não devem ser públicas

Descrição: para proteger as instâncias replicadas contra ameaças. Uma instância de replicação privada deve ter um endereço IP privado que você não pode acessar fora da rede de replicação. Uma instância de replicação deve ter um endereço IP privado quando os bancos de dados de origem e de destino estiverem na mesma rede e a rede estiver conectada à VPC da instância de replicação usando uma VPN, AWS Direct Connect ou emparelhamento de VPC. Você também deve garantir que o acesso à configuração da instância do AWS DMS seja limitado apenas a usuários autorizados. Para fazer isso, restrinja as permissões do IAM dos usuários para modificar as configurações e os recursos do AWS DMS.

Gravidade: Alta

Os ouvintes do Classic Load Balancer devem ser configurados com terminação HTTPS ou TLS

Descrição: esse controle verifica se os ouvintes do Classic Load Balancer estão configurados com o protocolo HTTPS ou TLS para conexões front-end (cliente para balanceador de carga). O controle é aplicável se um Classic Load Balancer tiver ouvintes. Se o seu Classic Load Balancer não tiver um ouvinte configurado, o controle não relatará nenhuma descoberta. O controle passa se os ouvintes do Classic Load Balancer estiverem configurados com TLS ou HTTPS para conexões front-end. O controle falhará se o ouvinte não estiver configurado com TLS ou HTTPS para conexões front-end. Antes de começar a usar um balanceador de carga, você deve adicionar um ou mais ouvintes. Um ouvinte é um processo que usa o protocolo e a porta configurados para verificar solicitações de conexão. Os ouvintes podem suportar os protocolos HTTP e HTTPS/TLS. Você deve sempre usar um ouvinte HTTPS ou TLS, para que o balanceador de carga faça o trabalho de criptografia e descriptografia em trânsito.

Gravidade: Média

Os Classic Load Balancers devem ter a drenagem de conexões habilitada

Descrição: Este controle verifica se os Classic Load Balancers têm a drenagem de conexão habilitada. Habilitar a drenagem de conexão em Classic Load Balancers garante que o load balancer pare de enviar solicitações para instâncias que estão cancelando o registro ou não íntegros. Ele mantém as conexões existentes abertas. Isso é útil para instâncias em grupos de Auto Scaling, para garantir que as conexões não sejam cortadas abruptamente.

Gravidade: Média

As distribuições do CloudFront devem ter o AWS WAF habilitado

Descrição: esse controle verifica se as distribuições do CloudFront estão associadas às ACLs da web do AWS WAF ou do AWS WAFv2. O controle falhará se a distribuição não estiver associada a uma ACL da Web. O AWS WAF é um firewall de aplicativos da web que ajuda a proteger aplicativos da web e APIs contra ataques. Ele permite que você configure um conjunto de regras, chamado de lista de controle de acesso à Web (ACL da Web), que permitem, bloqueiam ou contam solicitações da Web com base em regras e condições de segurança da Web personalizáveis que você define. Certifique-se de que sua distribuição do CloudFront esteja associada a uma ACL da web do AWS WAF para ajudar a protegê-la de ataques mal-intencionados.

Gravidade: Média

As distribuições do CloudFront devem ter o registro em log habilitado

Descrição: esse controle verifica se o log de acesso ao servidor está habilitado nas distribuições do CloudFront. O controle falhará se o log de acesso não estiver habilitado para uma distribuição. Os logs de acesso do CloudFront fornecem informações detalhadas sobre cada solicitação de usuário que o CloudFront recebe. Cada log contém informações como a data e a hora em que a solicitação foi recebida, o endereço IP do visualizador que fez a solicitação, a origem da solicitação e o número da porta da solicitação do visualizador. Esses logs são úteis para aplicativos como auditorias de segurança e acesso e investigação forense. Para obter mais informações sobre como analisar logs de acesso, consulte Consultar logs do Amazon CloudFront no Guia do usuário do Amazon Athena.

Gravidade: Média

As distribuições do CloudFront devem exigir criptografia em trânsito

Descrição: esse controle verifica se uma distribuição do Amazon CloudFront exige que os visualizadores usem HTTPS diretamente ou se usa redirecionamento. O controle falhará se ViewerProtocolPolicy estiver definido como allow-all para defaultCacheBehavior ou para cacheBehaviors. O HTTPS (TLS) pode ser usado para ajudar a impedir que invasores em potencial usem ataques de pessoa no meio ou semelhantes para espionar ou manipular o tráfego da rede. Somente conexões criptografadas por HTTPS (TLS) devem ser permitidas. A criptografia de dados em trânsito pode afetar o desempenho. Você deve testar seu aplicativo com esse recurso para entender o perfil de desempenho e o impacto do TLS.

Gravidade: Média

Os logs do CloudTrail devem ser criptografados em repouso usando CMKs KMS

Descrição: recomendamos configurar o CloudTrail para usar o SSE-KMS. Configurar o CloudTrail para usar o SSE-KMS fornece mais controles de confidencialidade nos dados de log, pois um determinado usuário deve ter permissão de leitura do S3 no bucket de log correspondente e deve receber permissão de descriptografia pela política CMK.

Gravidade: Média

As conexões com clusters do Amazon Redshift devem ser criptografadas em trânsito

Descrição: esse controle verifica se as conexões com clusters do Amazon Redshift são necessárias para usar criptografia em trânsito. A verificação falhará se o parâmetro de cluster do Amazon Redshift require_SSL não estiver definido como 1. O TLS pode ser usado para ajudar a impedir que invasores em potencial usem ataques de pessoa no meio ou semelhantes para espionar ou manipular o tráfego da rede. Somente conexões criptografadas por TLS devem ser permitidas. A criptografia de dados em trânsito pode afetar o desempenho. Você deve testar seu aplicativo com esse recurso para entender o perfil de desempenho e o impacto do TLS.

Gravidade: Média

As conexões com domínios do Elasticsearch devem ser criptografadas usando TLS 1.2

Descrição: esse controle verifica se as conexões com domínios do Elasticsearch são necessárias para usar o TLS 1.2. A verificação falhará se o domínio do Elasticsearch TLSSecurityPolicy não for Policy-Min-TLS-1-2-2019-07. O HTTPS (TLS) pode ser usado para ajudar a impedir que invasores em potencial usem ataques de pessoa no meio ou semelhantes para espionar ou manipular o tráfego da rede. Somente conexões criptografadas por HTTPS (TLS) devem ser permitidas. A criptografia de dados em trânsito pode afetar o desempenho. Você deve testar seu aplicativo com esse recurso para entender o perfil de desempenho e o impacto do TLS. O TLS 1.2 fornece vários aprimoramentos de segurança em relação às versões anteriores do TLS.

Gravidade: Média

As tabelas do DynamoDB devem ter a recuperação point-in-time habilitada

Descrição: esse controle verifica se a recuperação point-in-time (PITR) está habilitada para uma tabela do Amazon DynamoDB. Os backups ajudam você a se recuperar mais rapidamente de um incidente de segurança. Eles também fortalecem a resiliência de seus sistemas. A recuperação point-in-time do DynamoDB automatiza backups para tabelas do DynamoDB. Ele reduz o tempo de recuperação de operações acidentais de exclusão ou gravação. As tabelas do DynamoDB com o PITR ativado podem ser restauradas para qualquer point-in-time nos últimos 35 dias.

Gravidade: Média

A criptografia padrão do EBS deve ser habilitada

Descrição: esse controle verifica se a criptografia no nível da conta está habilitada por padrão para o Amazon Elastic Block Store (Amazon EBS). O controle falhará se a criptografia no nível da conta não estiver habilitada. Quando a criptografia está habilitada para sua conta, os volumes e as cópias de snapshot do Amazon EBS são criptografados em repouso. Isso adiciona outra camada de proteção para seus dados. Para obter mais informações, consulte Criptografia por padrão no Guia do usuário do Amazon EC2 para instâncias do Linux. Observe que os seguintes tipos de instância não oferecem suporte à criptografia: R1, C1 e M1.

Gravidade: Média

Os ambientes do Elastic Beanstalk devem ter relatórios de integridade aprimorados habilitados

Descrição: esse controle verifica se os relatórios de integridade aprimorados estão habilitados para seus ambientes do AWS Elastic Beanstalk. Os relatórios de integridade aprimorados do Elastic Beanstalk permitem uma resposta mais rápida a alterações na integridade da infraestrutura subjacente. Essas alterações podem resultar na falta de disponibilidade do aplicativo. Os relatórios de integridade aprimorados do Elastic Beanstalk fornecem um descritor de status para avaliar a gravidade dos problemas identificados e identificar possíveis causas a serem investigadas. O agente de integridade do Elastic Beanstalk, incluído nas AMIs (Amazon Machine Images) suportadas, avalia logs e métricas de instâncias EC2 do ambiente.

Gravidade: Baixa

As atualizações da plataforma gerenciada do Elastic Beanstalk devem ser habilitadas

Descrição: esse controle verifica se as atualizações de plataforma gerenciada estão habilitadas para o ambiente do Elastic Beanstalk. Habilitar atualizações de plataforma gerenciada garante que as mais recentes correções de plataforma, atualizações e recursos disponíveis para o ambiente sejam instalados. Manter-se atualizado com a instalação de patches é um passo importante para proteger os sistemas.

Gravidade: Alta

O Elastic Load Balancer não deve ter o certificado do ACM expirado ou expirando em 90 dias.

Descrição: essa verificação identifica os Elastic Load Balancers (ELB) que estão usando certificados ACM expirados ou expirando em 90 dias. O AWS Certificate Manager (ACM) é a ferramenta preferida para provisionar, gerenciar e implantar seus certificados de servidor. Com o ACM, você pode solicitar um certificado ou implantar um ACM existente ou um certificado externo nos recursos da AWS. Como prática recomendada, recomenda-se reimportar certificados expirados/expirados, preservando as associações ELB do certificado original.

Gravidade: Alta

O registro de erros de domínio do Elasticsearch no CloudWatch Logs deve ser habilitado

Descrição: esse controle verifica se os domínios do Elasticsearch estão configurados para enviar logs de erro para o CloudWatch Logs. Você deve habilitar os logs de erro para domínios do Elasticsearch e enviá-los para o CloudWatch Logs para retenção e resposta. Os logs de erros de domínio podem ajudar com auditorias de segurança e acesso e podem ajudar a diagnosticar problemas de disponibilidade.

Gravidade: Média

Os domínios do Elasticsearch devem ser configurados com pelo menos três nós mestres dedicados

Descrição: esse controle verifica se os domínios do Elasticsearch estão configurados com pelo menos três nós mestres dedicados. Esse controle falhará se o domínio não usar nós mestres dedicados. Esse controle passa se os domínios do Elasticsearch tiverem cinco nós mestres dedicados. No entanto, o uso de mais de três nós mestres pode ser desnecessário para reduzir o risco de disponibilidade e resultará em mais custos. Um domínio do Elasticsearch requer pelo menos três nós mestres dedicados para alta disponibilidade e tolerância a falhas. Os recursos do nó mestre dedicado podem ser sobrecarregados durante implantações azuis/verdes do nó de dados porque há mais nós para gerenciar. A implantação de um domínio do Elasticsearch com pelo menos três nós mestres dedicados garante capacidade suficiente de recursos do nó mestre e operações de cluster se um nó falhar.

Gravidade: Média

Os domínios do Elasticsearch devem ter pelo menos três nós de dados

Descrição: esse controle verifica se os domínios do Elasticsearch estão configurados com pelo menos três nós de dados e se zoneAwarenessEnabled é true. Um domínio do Elasticsearch requer pelo menos três nós de dados para alta disponibilidade e tolerância a falhas. A implantação de um domínio do Elasticsearch com pelo menos três nós de dados garante operações de cluster se um nó falhar.

Gravidade: Média

Os domínios do Elasticsearch devem ter o log de auditoria habilitado

Descrição: esse controle verifica se os domínios do Elasticsearch têm o log de auditoria habilitado. Esse controle falhará se um domínio do Elasticsearch não tiver o log de auditoria habilitado. Os logs de auditoria são altamente personalizáveis. Eles permitem que você acompanhe a atividade do usuário em seus clusters do Elasticsearch, incluindo sucessos e falhas de autenticação, solicitações ao OpenSearch, alterações de índice e consultas de pesquisa de entrada.

Gravidade: Média

O monitoramento aprimorado deve ser configurado para instâncias de banco de dados RDS e clusters

Descrição: esse controle verifica se o monitoramento avançado está habilitado para suas instâncias de banco de dados RDS. No Amazon RDS, o monitoramento aprimorado permite uma resposta mais rápida a alterações de desempenho na infraestrutura subjacente. Essas alterações de desempenho podem resultar em falta de disponibilidade dos dados. O Monitoramento Avançado fornece métricas em tempo real do sistema operacional em que sua instância de banco de dados RDS é executada. Um agente é instalado na instância. O agente pode obter métricas com mais precisão do que é possível a partir da camada do hipervisor. As métricas de monitoramento aprimorado são úteis quando você deseja ver como diferentes processos ou threads em uma instância de banco de dados usam a CPU. Para obter mais informações, consulte Monitoramento aprimorado no Guia do usuário do Amazon RDS.

Gravidade: Baixa

Garantir que a rotação das CMKs criadas pelo cliente esteja ativada

Descrição: o AWS Key Management Service (KMS) permite que os clientes alternem a chave de suporte, que é o material de chave armazenado no KMS vinculado ao ID de chave da chave mestra do cliente (CMK) criada pelo cliente. É a chave de suporte que é usada para executar operações criptográficas, como criptografia e descriptografia. Atualmente, a rotação automatizada de chaves retém todas as chaves de suporte anteriores para que a descriptografia de dados criptografados possa ocorrer de forma transparente. Recomenda-se que a rotação de chaves CMK seja ativada. A rotação de chaves de encriptação ajuda a reduzir o impacto potencial de uma chave comprometida, uma vez que os dados encriptados com uma nova chave não podem ser acedidos com uma chave anterior que possa ter sido exposta.

Gravidade: Média

Verifique se o log de acesso ao bucket do S3 está ativado no bucket do CloudTrail S3

Descrição: O log de acesso ao bucket do S3 gera um log que contém registros de acesso Verifique se o log de acesso do bucket do S3 está ativado no bucket do CloudTrail S3 para cada solicitação feita ao bucket do S3. Um registro de log de acesso contém detalhes sobre a solicitação, como o tipo de solicitação, os recursos especificados na solicitação trabalhada e a hora e a data em que a solicitação foi processada. É recomendável que o log de acesso ao bucket seja ativado no bucket do CloudTrail S3. Ao habilitar o registro de bucket do S3 em buckets do S3 de destino, é possível capturar todos os eventos que podem afetar objetos dentro dos buckets de destino. A configuração de logs para serem colocados em um bucket separado permite o acesso às informações de log, o que pode ser útil em fluxos de trabalho de segurança e resposta a incidentes.

Gravidade: Baixa

Verifique se o bucket do S3 usado para armazenar logs do CloudTrail não está acessível publicamente

Descrição: o CloudTrail registra um registro de cada chamada de API feita em sua conta da AWS. Esses arquivos de log são armazenados em um bucket do S3. É recomendável que a política de bucket, ou lista de controle de acesso (ACL), seja aplicada ao bucket do S3 que o CloudTrail registra para impedir o acesso público aos logs do CloudTrail. Permitir o acesso público ao conteúdo de log do CloudTrail pode ajudar um adversário a identificar pontos fracos no uso ou na configuração da conta afetada.

Gravidade: Alta

O IAM não deveria ter expirado certificados SSL/TLS

Descrição: Esta verificação identifica certificados SSL/TLS expirados. Para habilitar conexões HTTPS com seu site ou aplicativo na AWS, você precisa de um certificado de servidor SSL/TLS. Você pode usar o ACM ou o IAM para armazenar e implantar certificados de servidor. A remoção de certificados SSL/TLS expirados elimina o risco de que um certificado inválido seja implantado acidentalmente em um recurso como o AWS Elastic Load Balancer (ELB), o que pode prejudicar a credibilidade do aplicativo/site por trás do ELB. Essa verificação gera alertas se houver certificados SSL/TLS expirados armazenados no AWS IAM. Como prática recomendada, recomenda-se excluir certificados expirados.

Gravidade: Alta

Os certificados ACM importados devem ser renovados após um período de tempo especificado

Descrição: esse controle verifica se os certificados ACM em sua conta estão marcados para expiração dentro de 30 dias. Ele verifica os certificados importados e os certificados fornecidos pelo AWS Certificate Manager. O ACM pode renovar automaticamente certificados que usam validação de DNS. Para certificados que usam validação de email, você deve responder a um email de validação de domínio. O ACM também não renova automaticamente os certificados importados. Você deve renovar os certificados importados manualmente. Para obter mais informações sobre a renovação gerenciada para certificados ACM, consulte Renovação gerenciada para certificados ACM no Guia do usuário do AWS Certificate Manager.

Gravidade: Média

Identidades provisionadas em excesso em contas devem ser investigadas para reduzir o PCI (Permission Creep Index)

Descrição: identidades provisionadas em excesso em contas devem ser investigadas para reduzir o PCI (Permission Creep Index) e proteger sua infraestrutura. Reduza o PCI removendo as atribuições de permissão de alto risco não utilizadas. PCI alto reflete o risco associado às identidades com permissões que excedem seu uso normal ou necessário.

Gravidade: Média

As atualizações automáticas de versões secundárias do RDS devem ser ativadas

Descrição: esse controle verifica se as atualizações automáticas de versões secundárias estão habilitadas para a instância do banco de dados RDS. A habilitação de atualizações automáticas de versões secundárias garante que as atualizações de versão secundária mais recentes para o sistema de gerenciamento de banco de dados relacional (RDBMS) sejam instaladas. Essas atualizações podem incluir patches de segurança e correções de bugs. Manter-se atualizado com a instalação de patches é um passo importante para proteger os sistemas.

Gravidade: Alta

Os instantâneos de cluster RDS e os instantâneos de banco de dados devem ser criptografados em repouso

Descrição: esse controle verifica se os instantâneos de banco de dados RDS estão criptografados. Esse controle é destinado a instâncias de banco de dados RDS. No entanto, ele também pode gerar descobertas para snapshots de instâncias de banco de dados do Aurora, instâncias de banco de dados do Neptune e clusters do Amazon DocumentDB. Se essas descobertas não forem úteis, você pode suprimi-las. A criptografia de dados em repouso reduz o risco de que um usuário não autenticado obtenha acesso aos dados armazenados no disco. Os dados em instantâneos RDS devem ser criptografados em repouso para uma camada adicional de segurança.

Gravidade: Média

Os clusters RDS devem ter a proteção contra exclusão habilitada

Descrição: esse controle verifica se os clusters RDS têm a proteção contra exclusão habilitada. Esse controle é destinado a instâncias de banco de dados RDS. No entanto, ele também pode gerar descobertas para instâncias de banco de dados do Aurora, instâncias de banco de dados do Neptune e clusters do Amazon DocumentDB. Se essas descobertas não forem úteis, você pode suprimi-las. Habilitar a proteção contra exclusão de cluster é outra camada de proteção contra exclusão acidental de banco de dados ou exclusão por uma entidade não autorizada. Quando a proteção contra exclusão está habilitada, um cluster RDS não pode ser excluído. Antes que uma solicitação de exclusão seja bem-sucedida, a proteção contra exclusão deve ser desativada.

Gravidade: Baixa

Os clusters de banco de dados RDS devem ser configurados para várias zonas de disponibilidade

Descrição: Os clusters de banco de dados RDS devem ser configurados para vários dados armazenados. A implantação em várias Zonas de Disponibilidade permite automatizar as Zonas de Disponibilidade para garantir a disponibilidade do failover ed no caso de um problema de disponibilidade da Zona de Disponibilidade e durante eventos regulares de manutenção do RDS.

Gravidade: Média

Os clusters de banco de dados RDS devem ser configurados para copiar marcas para snapshots

Descrição: A identificação e o inventário de seus ativos de TI são um aspeto crucial da governança e da segurança. Você precisa ter visibilidade de todos os seus clusters de banco de dados RDS para que possa avaliar sua postura de segurança e agir em possíveis áreas de fraqueza. Os instantâneos devem ser marcados da mesma forma que os clusters de banco de dados RDS pai. Habilitar essa configuração garante que os instantâneos herdem as marcas de seus clusters de banco de dados pai.

Gravidade: Baixa

As instâncias de banco de dados RDS devem ser configuradas para copiar marcas para snapshots

Descrição: esse controle verifica se as instâncias de banco de dados RDS estão configuradas para copiar todas as marcas para snapshots quando os snapshots são criados. A identificação e o inventário de seus ativos de TI são um aspeto crucial da governança e da segurança. Você precisa ter visibilidade de todas as suas instâncias de banco de dados RDS para que possa avaliar sua postura de segurança e tomar medidas em possíveis áreas de fraqueza. Os instantâneos devem ser marcados da mesma forma que as instâncias de banco de dados RDS pai. Habilitar essa configuração garante que os instantâneos herdem as tags de suas instâncias de banco de dados pai.

Gravidade: Baixa

As instâncias de banco de dados RDS devem ser configuradas com várias zonas de disponibilidade

Descrição: esse controle verifica se a alta disponibilidade está habilitada para suas instâncias de banco de dados RDS. As instâncias de banco de dados RDS devem ser configuradas para várias zonas de disponibilidade (AZs). Isso garante a disponibilidade dos dados armazenados. As implantações Multi-AZ permitem failover automatizado se houver um problema com a disponibilidade da zona de disponibilidade e durante a manutenção regular do RDS.

Gravidade: Média

As instâncias de banco de dados RDS devem ter a proteção contra exclusão habilitada

Descrição: esse controle verifica se as instâncias de banco de dados RDS que usam um dos mecanismos de banco de dados listados têm a proteção contra exclusão habilitada. Habilitar a proteção contra exclusão de instância é outra camada de proteção contra exclusão acidental de banco de dados ou exclusão por uma entidade não autorizada. Embora a proteção contra exclusão esteja habilitada, uma instância de banco de dados RDS não pode ser excluída. Antes que uma solicitação de exclusão seja bem-sucedida, a proteção contra exclusão deve ser desativada.

Gravidade: Baixa

As instâncias de banco de dados RDS devem ter a criptografia em repouso habilitada

Descrição: esse controle verifica se a criptografia de armazenamento está habilitada para suas instâncias de banco de dados do Amazon RDS. Esse controle é destinado a instâncias de banco de dados RDS. No entanto, ele também pode gerar descobertas para instâncias de banco de dados do Aurora, instâncias de banco de dados do Neptune e clusters do Amazon DocumentDB. Se essas descobertas não forem úteis, você pode suprimi-las. Para obter uma camada adicional de segurança para seus dados confidenciais em instâncias de banco de dados RDS, você deve configurar suas instâncias de banco de dados RDS para serem criptografadas em repouso. Para criptografar suas instâncias de banco de dados RDS e snapshots em repouso, habilite a opção de criptografia para suas instâncias de banco de dados RDS. Os dados criptografados em repouso incluem o armazenamento subjacente para instâncias de banco de dados, seus backups automatizados, réplicas de leitura e snapshots. As instâncias de banco de dados criptografadas RDS usam o algoritmo de criptografia AES-256 padrão aberto para criptografar seus dados no servidor que hospeda suas instâncias de banco de dados RDS. Depois que seus dados são criptografados, o Amazon RDS lida com a autenticação de acesso e a descriptografia de seus dados de forma transparente, com um impacto mínimo no desempenho. Você não precisa modificar seus aplicativos cliente de banco de dados para usar criptografia. Atualmente, a criptografia do Amazon RDS está disponível para todos os mecanismos de banco de dados e tipos de armazenamento. A criptografia do Amazon RDS está disponível para a maioria das classes de instância de banco de dados. Para saber mais sobre classes de instância de banco de dados que não oferecem suporte à criptografia do Amazon RDS, consulte Criptografar recursos do Amazon RDS no Guia do usuário do Amazon RDS.

Gravidade: Média

As instâncias de banco de dados RDS devem proibir o acesso público

Descrição: recomendamos que você também garanta que o acesso à configuração da instância do RDS seja limitado apenas a usuários autorizados, restringindo as permissões do IAM dos usuários para modificar as configurações e os recursos das instâncias do RDS.

Gravidade: Alta

Os instantâneos RDS devem proibir o acesso público

Descrição: recomendamos permitir que apenas entidades autorizadas acessem o snapshot e alterem a configuração do Amazon RDS.

Gravidade: Alta

Remover segredos não utilizados do Gestor de Segredos

Descrição: este controlo verifica se os seus segredos foram acedidos dentro de um número especificado de dias. O valor predefinido é 90 dias. Se um segredo não foi acessado dentro do número definido de dias, esse controle falhará. Eliminar segredos não utilizados é tão importante como alternar segredos. Segredos não utilizados podem ser abusados por seus antigos usuários, que não precisam mais ter acesso a esses segredos. Além disso, à medida que mais usuários têm acesso a um segredo, alguém pode tê-lo manipulado incorretamente e vazado para uma entidade não autorizada, o que aumenta o risco de abuso. A exclusão de segredos não utilizados ajuda a revogar o acesso secreto de usuários que não precisam mais dele. Também ajuda a reduzir o custo de utilização do Gestor de Segredos. Portanto, é essencial excluir rotineiramente segredos não utilizados.

Gravidade: Média

Os buckets do S3 devem ter a replicação entre regiões habilitada

Descrição: habilitar a replicação entre regiões do S3 garante que várias versões dos dados estejam disponíveis em diferentes regiões distintas. Isso permite que você proteja seu bucket do S3 contra ataques DDoS e eventos de corrupção de dados.

Gravidade: Baixa

Os buckets do S3 devem ter a criptografia do lado do servidor habilitada

Descrição: habilite a criptografia do lado do servidor para proteger os dados em seus buckets do S3. A encriptação dos dados pode impedir o acesso a dados sensíveis em caso de violação de dados.

Gravidade: Média

Os segredos do Secrets Manager configurados com rotação automática devem girar com êxito

Descrição: esse controle verifica se um segredo do AWS Secrets Manager foi girado com êxito com base na programação de rotação. O controle falhará se RotationOccurringAsScheduled for false. O controle não avalia segredos que não têm rotação configurada. O Secrets Manager ajuda-o a melhorar a postura de segurança da sua organização. Os segredos incluem credenciais de banco de dados, senhas e chaves de API de terceiros. Você pode usar o Gerenciador de Segredos para armazenar segredos centralmente, criptografar segredos automaticamente, controlar o acesso a segredos e girar segredos de forma segura e automática. O Gestor de Segredos pode rodar segredos. Você pode usar a rotação para substituir segredos de longo prazo por segredos de curto prazo. Girar seus segredos limita por quanto tempo um usuário não autorizado pode usar um segredo comprometido. Por esta razão, deve rodar os seus segredos com frequência. Além de configurar segredos para girar automaticamente, você deve garantir que esses segredos girem com êxito com base na programação de rotação. Para saber mais sobre rotação, consulte Rotação dos segredos do AWS Secrets Manager no Guia do usuário do AWS Secrets Manager.

Gravidade: Média

Os segredos do Secrets Manager devem ser alternados dentro de um número especificado de dias

Descrição: Este controlo verifica se os seus segredos foram alternados pelo menos uma vez no prazo de 90 dias. A rotação de segredos pode ajudá-lo a reduzir o risco de um uso não autorizado de seus segredos em sua conta da AWS. Os exemplos incluem credenciais de banco de dados, senhas, chaves de API de terceiros e até texto arbitrário. Se você não mudar seus segredos por um longo período de tempo, os segredos são mais propensos a serem comprometidos. À medida que mais usuários obtêm acesso a um segredo, pode se tornar mais provável que alguém o manipulou incorretamente e vazou para uma entidade não autorizada. Os segredos podem ser vazados através de logs e dados de cache. Eles podem ser compartilhados para fins de depuração e não alterados ou revogados quando a depuração for concluída. Por todas estas razões, os segredos devem ser alternados com frequência. Você pode configurar seus segredos para rotação automática no AWS Secrets Manager. Com a rotação automática, você pode substituir segredos de longo prazo por segredos de curto prazo, reduzindo significativamente o risco de comprometimento. O Security Hub recomenda que você habilite a rotação para seus segredos do Gerenciador de Segredos. Para saber mais sobre rotação, consulte Rotação dos segredos do AWS Secrets Manager no Guia do usuário do AWS Secrets Manager.

Gravidade: Média

Os tópicos do SNS devem ser criptografados em repouso usando o AWS KMS

Descrição: esse controle verifica se um tópico do SNS está criptografado em repouso usando o AWS KMS. A criptografia de dados em repouso reduz o risco de os dados armazenados no disco serem acessados por um usuário não autenticado na AWS. Ele também adiciona outro conjunto de controles de acesso para limitar a capacidade de usuários não autorizados de acessar os dados. Por exemplo, as permissões de API são necessárias para descriptografar os dados antes que eles possam ser lidos. Os tópicos do SNS devem ser criptografados em repouso para uma camada adicional de segurança. Para obter mais informações, consulte Criptografia em repouso no Guia do desenvolvedor do Amazon Simple Notification Service.

Gravidade: Média

O log de fluxo da VPC deve ser habilitado em todas as VPCs

Descrição: Os VPC Flow Logs fornecem visibilidade do tráfego de rede que passa pela VPC e podem ser usados para detetar tráfego anômalo ou insights durante eventos de segurança.

Gravidade: Média

Recomendações do AWS IdentityAndAccess

Os domínios do Amazon Elasticsearch Service devem estar em uma VPC

Descrição: A VPC não pode conter domínios com um ponto de extremidade público. Nota: isso não avalia a configuração de roteamento de sub-rede da VPC para determinar a acessibilidade pública.

Gravidade: Alta

As permissões do Amazon S3 concedidas a outras contas da AWS em políticas de bucket devem ser restritas

Descrição: A implementação do acesso com privilégios mínimos é fundamental para reduzir o risco de segurança e o impacto de erros ou intenções maliciosas. Se uma política de bucket do S3 permitir o acesso de contas externas, isso poderá resultar na exfiltração de dados por uma ameaça interna ou um invasor. O parâmetro 'blacklistedactionpatterns' permite uma avaliação bem-sucedida da regra para buckets do S3. O parâmetro concede acesso a contas externas para padrões de ação que não estão incluídos na lista 'blacklistedactionpatterns'.

Gravidade: Alta

Evite o uso da conta "root"

Descrição: a conta "root" tem acesso irrestrito a todos os recursos da conta da AWS. É altamente recomendável que o uso desta conta seja evitado. A conta "raiz" é a conta mais privilegiada da AWS. Minimizar o uso dessa conta e adotar o princípio de menor privilégio para o gerenciamento de acesso reduzirá o risco de alterações acidentais e divulgação não intencional de credenciais altamente privilegiadas.

Gravidade: Alta

As chaves do AWS KMS não devem ser excluídas involuntariamente

Descrição: esse controle verifica se as chaves KMS estão agendadas para exclusão. O controle falhará se uma chave KMS estiver agendada para exclusão. As chaves KMS não podem ser recuperadas depois de excluídas. Os dados criptografados sob uma chave KMS também serão irrecuperáveis permanentemente se a chave KMS for excluída. Se dados significativos tiverem sido criptografados sob uma chave KMS agendada para exclusão, considere descriptografar os dados ou criptografar novamente os dados sob uma nova chave KMS, a menos que você esteja intencionalmente executando uma eliminação criptográfica. Quando uma chave KMS é agendada para exclusão, um período de espera obrigatório é imposto para permitir tempo para reverter a exclusão, se ela foi agendada por erro. O período de espera padrão é de 30 dias, mas pode ser reduzido para apenas sete dias quando a chave KMS estiver agendada para exclusão. Durante o período de espera, a exclusão agendada pode ser cancelada e a chave KMS não será excluída. Para obter mais informações sobre como excluir chaves KMS, consulte Excluir chaves KMS no AWS Key Management Service Developer Guide.

Gravidade: Alta

O registro global da ACL da web do AWS WAF Classic deve ser habilitado

Descrição: esse controle verifica se o registro em log está habilitado para uma ACL da Web global do AWS WAF. Esse controle falhará se o registro em log não estiver habilitado para a ACL da Web. O registro em log é uma parte importante da manutenção da confiabilidade, disponibilidade e desempenho do AWS WAF globalmente. É um requisito de negócios e conformidade em muitas organizações e permite solucionar problemas de comportamento do aplicativo. Ele também fornece informações detalhadas sobre o tráfego analisado pela ACL da web anexada ao AWS WAF.

Gravidade: Média

As distribuições do CloudFront devem ter um objeto raiz padrão configurado

Descrição: esse controle verifica se uma distribuição do Amazon CloudFront está configurada para retornar um objeto específico que é o objeto raiz padrão. O controle falhará se a distribuição do CloudFront não tiver um objeto raiz padrão configurado. Às vezes, um usuário pode solicitar a URL raiz das distribuições em vez de um objeto na distribuição. Quando isso acontece, especificar um objeto raiz padrão pode ajudá-lo a evitar a exposição do conteúdo da sua distribuição na Web.

Gravidade: Alta

As distribuições do CloudFront devem ter a identidade de acesso de origem habilitada

Descrição: esse controle verifica se uma distribuição do Amazon CloudFront com o tipo Amazon S3 Origin tem o Origin Access Identity (OAI) configurado. O controle falhará se o OAI não estiver configurado. O OAI do CloudFront impede que os usuários acessem o conteúdo do bucket do S3 diretamente. Quando os usuários acessam um bucket do S3 diretamente, eles efetivamente ignoram a distribuição do CloudFront e quaisquer permissões aplicadas ao conteúdo subjacente do bucket do S3.

Gravidade: Média

A validação do arquivo de log do CloudTrail deve ser ativada

Descrição: para garantir a verificação adicional da integridade dos logs do CloudTrail, recomendamos ativar a validação de arquivos em todos os CloudTrails.

Gravidade: Baixa

CloudTrail deve ser ativado

Descrição: o AWS CloudTrail é um serviço da web que registra chamadas de API da AWS para sua conta e entrega arquivos de log para você. Nem todos os serviços habilitam o registro em log por padrão para todas as APIs e eventos. Você deve implementar quaisquer trilhas de auditoria adicionais além do CloudTrail e revisar a documentação de cada serviço em Serviços e integrações suportados pelo CloudTrail.

Gravidade: Alta

As trilhas do CloudTrail devem ser integradas ao CloudWatch Logs

Descrição: além de capturar logs do CloudTrail dentro de um bucket especificado do S3 para análise de longo prazo, a análise em tempo real pode ser executada configurando o CloudTrail para enviar logs para o CloudWatch Logs. Para uma trilha habilitada em todas as regiões de uma conta, o CloudTrail envia arquivos de log de todas essas regiões para um grupo de logs do CloudWatch Logs. Recomendamos que os logs do CloudTrail sejam enviados para o CloudWatch Logs para garantir que a atividade da conta da AWS esteja sendo capturada, monitorada e devidamente alarmada. O envio de logs do CloudTrail para o CloudWatch Logs facilita o registro de atividades históricas e em tempo real com base no usuário, API, recurso e endereço IP, além de oferecer a oportunidade de estabelecer alarmes e notificações para atividades anômalas ou confidenciais da conta.

Gravidade: Baixa

O log do banco de dados deve ser habilitado

Descrição: esse controle verifica se os seguintes logs do Amazon RDS estão habilitados e são enviados para o CloudWatch Logs:

  • Oracle: (Alerta, Auditoria, Rastreamento, Ouvinte)
  • PostgreSQL: (Postgresql, Atualização)
  • MySQL: (Auditoria, Erro, Geral, SlowQuery)
  • MariaDB: (Auditoria, Erro, Geral, SlowQuery)
  • SQL Server: (Erro, Agente)
  • Aurora: (Auditoria, Erro, Geral, SlowQuery)
  • Aurora-MySQL: (Auditoria, Erro, Geral, SlowQuery)
  • Aurora-PostgreSQL: (Postgresql, Upgrade). Os bancos de dados RDS devem ter logs relevantes habilitados. O log do banco de dados fornece registros detalhados das solicitações feitas ao RDS. Os logs de banco de dados podem ajudar com auditorias de segurança e acesso e podem ajudar a diagnosticar problemas de disponibilidade.

Gravidade: Média

Desative o acesso direto à Internet para instâncias de notebook do Amazon SageMaker

Descrição: O acesso direto à Internet deve ser desativado para uma instância de notebook SageMaker. Isso verifica se o campo 'DirectInternetAccess' está desabilitado para a instância do bloco de anotações. Sua instância deve ser configurada com uma VPC e a configuração padrão deve ser Desativar - Acessar a Internet por meio de uma VPC. Para habilitar o acesso à Internet para treinar ou hospedar modelos a partir de um notebook, verifique se a VPC tem um gateway NAT e se o security group permite conexões de saída. Certifique-se de que o acesso à sua configuração do SageMaker seja limitado apenas a usuários autorizados e restrinja as permissões do IAM dos usuários para modificar as configurações e os recursos do SageMaker.

Gravidade: Alta

Não configure chaves de acesso durante a configuração inicial do usuário para todos os usuários do IAM que tenham uma senha de console

Descrição: o console da AWS padroniza a caixa de seleção para criar chaves de acesso para habilitado. Isso resulta em muitas chaves de acesso sendo geradas desnecessariamente. Além de credenciais desnecessárias, também gera um trabalho de gerenciamento desnecessário na auditoria e rotação dessas chaves. Exigir que etapas adicionais sejam tomadas pelo usuário após sua criação de perfil dará uma indicação mais forte de intenção de que as chaves de acesso são [a] necessárias para seu trabalho e [b] uma vez que a chave de acesso é estabelecida em uma conta que as chaves podem estar em uso em algum lugar da organização.

Gravidade: Média

Garantir que uma função de suporte tenha sido criada para gerenciar incidentes com o AWS Support

Descrição: a AWS fornece um centro de suporte que pode ser usado para notificação e resposta a incidentes, bem como suporte técnico e serviços ao cliente. Crie uma função do IAM para permitir que usuários autorizados gerenciem incidentes com o AWS Support. Ao implementar privilégios mínimos para controle de acesso, uma função do IAM requer uma política apropriada do IAM para permitir o acesso ao centro de suporte para gerenciar incidentes com o AWS Support.

Gravidade: Baixa

Certifique-se de que as chaves de acesso são alternadas a cada 90 dias ou menos

Descrição: as chaves de acesso consistem em um ID de chave de acesso e uma chave de acesso secreta, que são usadas para assinar solicitações programáticas feitas à AWS. Os usuários da AWS precisam de suas próprias chaves de acesso para fazer chamadas programáticas para a AWS a partir da AWS Command Line Interface (AWS CLI), Tools for Windows PowerShell, AWS SDKs ou chamadas HTTP diretas usando as APIs para serviços individuais da AWS. Recomenda-se que todas as teclas de acesso sejam alternadas regularmente. A rotação de chaves de acesso reduz a janela de oportunidade para a utilização de uma chave de acesso associada a uma conta comprometida ou encerrada. As chaves de acesso devem ser alternadas para garantir que os dados não possam ser acessados com uma chave antiga, que pode ter sido perdida, quebrada ou roubada.

Gravidade: Média

Verifique se o AWS Config está habilitado em todas as regiões

Descrição: o AWS Config é um serviço da web que executa o gerenciamento de configuração de recursos da AWS suportados em sua conta e entrega arquivos de log para você. As informações registradas incluem o item de configuração (recurso da AWS), relações entre itens de configuração (recursos da AWS), quaisquer alterações de configuração entre recursos. É recomendável habilitar o AWS Config em todas as regiões.

O histórico de itens de configuração da AWS capturado pelo AWS Config permite análise de segurança, rastreamento de alterações de recursos e auditoria de conformidade.

Gravidade: Média

Verifique se o CloudTrail está ativado em todas as regiões

Descrição: o AWS CloudTrail é um serviço da web que registra chamadas de API da AWS para sua conta e entrega arquivos de log para você. As informações registradas incluem a identidade do chamador da API, a hora da chamada da API, o endereço IP de origem do chamador da API, os parâmetros da solicitação e os elementos de resposta retornados pelo serviço da AWS. O CloudTrail fornece um histórico de chamadas de API da AWS para uma conta, incluindo chamadas de API feitas por meio do Console de Gerenciamento, SDKs, ferramentas de linha de comando e serviços de nível superior da AWS (como o CloudFormation). O histórico de chamadas da API da AWS produzido pelo CloudTrail permite análise de segurança, rastreamento de alterações de recursos e auditoria de conformidade. Além disso:

  • Garantir a existência de uma trilha de várias regiões garantirá que atividades inesperadas que ocorram em regiões não utilizadas sejam detetadas
  • garantir a existência de uma trilha em várias regiões garantirá que o "Global Service Logging" esteja habilitado para uma trilha por padrão para capturar a gravação de eventos gerados nos serviços globais da AWS
  • para uma trilha de várias regiões, garantir que os eventos de gerenciamento configurados para todos os tipos de leitura/gravação garantam o registro das operações de gerenciamento executadas em todos os recursos de uma conta da AWS

Gravidade: Alta

Verifique se as credenciais não usadas por 90 dias ou mais estão desativadas

Descrição: os usuários do AWS IAM podem acessar os recursos da AWS usando diferentes tipos de credenciais, como senhas ou chaves de acesso. É recomendável que todas as credenciais que não foram usadas em 90 dias ou mais sejam removidas ou desativadas. A desativação ou remoção de credenciais desnecessárias reduz a janela de oportunidade para que as credenciais associadas a uma conta comprometida ou abandonada sejam usadas.

Gravidade: Média

Verifique se a política de senhas do IAM expira as senhas dentro de 90 dias ou menos

Descrição: as políticas de senha do IAM podem exigir que as senhas sejam alternadas ou expiradas após um determinado número de dias. É recomendável que a política de senha expire as senhas após 90 dias ou menos. Reduzir o tempo de vida da senha aumenta a resiliência da conta contra tentativas de login de força bruta. Além disso, exigir alterações regulares de senha ajuda nos seguintes cenários:

  • As palavras-passe podem ser roubadas ou comprometidas por vezes sem o seu conhecimento. Isso pode acontecer por meio de um comprometimento do sistema, vulnerabilidade de software ou ameaça interna.
  • Certos filtros da Web corporativos e governamentais ou servidores proxy têm a capacidade de intercetar e registrar o tráfego, mesmo que ele esteja criptografado.
  • Muitas pessoas usam a mesma senha para muitos sistemas, como trabalho, e-mail e pessoal.
  • Estações de trabalho de usuário final comprometidas podem ter um registrador de pressionamento de teclas.

Gravidade: Baixa

Verifique se a política de senha do IAM impede a reutilização da senha

Descrição: as políticas de senha do IAM podem impedir a reutilização de uma determinada senha pelo mesmo usuário. Recomenda-se que a política de senhas impeça a reutilização de senhas. Impedir a reutilização de senhas aumenta a resiliência da conta contra tentativas de login de força bruta.

Gravidade: Baixa

Verifique se a política de senha do IAM requer pelo menos uma letra minúscula

Descrição: As políticas de senha são, em parte, usadas para impor requisitos de complexidade de senha. As políticas de senha do IAM podem ser usadas para garantir que a senha seja composta por diferentes conjuntos de caracteres. É recomendável que a política de senha exija pelo menos uma letra minúscula. Definir uma política de complexidade de senha aumenta a resiliência da conta contra tentativas de login de força bruta.

Gravidade: Média

Verifique se a política de senha do IAM requer pelo menos um número

Descrição: As políticas de senha são, em parte, usadas para impor requisitos de complexidade de senha. As políticas de senha do IAM podem ser usadas para garantir que a senha seja composta por diferentes conjuntos de caracteres. É recomendável que a política de senha exija pelo menos um número. Definir uma política de complexidade de senha aumenta a resiliência da conta contra tentativas de login de força bruta.

Gravidade: Média

Verifique se a política de senha do IAM requer pelo menos um símbolo

Descrição: As políticas de senha são, em parte, usadas para impor requisitos de complexidade de senha. As políticas de senha do IAM podem ser usadas para garantir que a senha seja composta por diferentes conjuntos de caracteres. É recomendável que a política de senha exija pelo menos um símbolo. Definir uma política de complexidade de senha aumenta a resiliência da conta contra tentativas de login de força bruta.

Gravidade: Média

Verifique se a política de senha do IAM requer pelo menos uma letra maiúscula

Descrição: As políticas de senha são, em parte, usadas para impor requisitos de complexidade de senha. As políticas de senha do IAM podem ser usadas para garantir que a senha seja composta por diferentes conjuntos de caracteres. É recomendável que a política de senha exija pelo menos uma letra maiúscula. Definir uma política de complexidade de senha aumenta a resiliência da conta contra tentativas de login de força bruta.

Gravidade: Média

Verifique se a política de senha do IAM requer um comprimento mínimo igual ou superior a 14

Descrição: As políticas de senha são, em parte, usadas para impor requisitos de complexidade de senha. As políticas de senha do IAM podem ser usadas para garantir que a senha tenha pelo menos um determinado comprimento. Recomenda-se que a política de senha exija um comprimento mínimo de senha '14'. Definir uma política de complexidade de senha aumenta a resiliência da conta contra tentativas de login de força bruta.

Gravidade: Média

Verifique se a autenticação multifator (MFA) está habilitada para todos os usuários do IAM que têm uma senha de console

Descrição: A autenticação multifator (MFA) adiciona uma camada extra de proteção sobre um nome de usuário e senha. Com a MFA habilitada, quando um usuário faz login em um site da AWS, ele será solicitado a fornecer seu nome de usuário e senha, bem como um código de autenticação de seu dispositivo AWS MFA. É recomendável que o MFA seja habilitado para todas as contas que tenham uma senha de console. A habilitação do MFA oferece maior segurança para o acesso ao console, pois exige que a entidade de autenticação possua um dispositivo que emita uma chave sensível ao tempo e tenha conhecimento de uma credencial.

Gravidade: Média

O GuardDuty deve ser ativado

Descrição: para fornecer proteção adicional contra invasões, o GuardDuty deve ser ativado em sua conta e região da AWS. Nota: O GuardDuty pode não ser uma solução completa para todos os ambientes.

Gravidade: Média

O MFA de hardware deve ser ativado para a conta "raiz"

Descrição: A conta root é o usuário mais privilegiado em uma conta. MFA adiciona uma camada extra de proteção em cima de um nome de usuário e senha. Com a MFA habilitada, quando um usuário faz login em um site da AWS, ele é solicitado a fornecer seu nome de usuário e senha e um código de autenticação de seu dispositivo AWS MFA. Para o Nível 2, é recomendável que você proteja a conta raiz com um MFA de hardware. Uma MFA de hardware tem uma superfície de ataque menor do que uma MFA virtual. Por exemplo, um MFA de hardware não sofre a superfície de ataque introduzida pelo smartphone móvel em que reside um MFA virtual. Usar MFA de hardware para muitas contas pode criar um problema de gerenciamento de dispositivos logísticos. Se isso ocorrer, considere implementar essa recomendação de Nível 2 seletivamente para as contas de segurança mais altas. Em seguida, você pode aplicar a recomendação de Nível 1 às contas restantes.

Gravidade: Baixa

A autenticação do IAM deve ser configurada para clusters RDS

Descrição: esse controle verifica se um cluster de banco de dados RDS tem a autenticação de banco de dados do IAM habilitada. A autenticação de banco de dados do IAM permite a autenticação sem senha para instâncias de banco de dados. A autenticação usa um token de autenticação. O tráfego de rede de e para o banco de dados é criptografado usando SSL. Para obter mais informações, consulte Autenticação de banco de dados do IAM no Guia do usuário do Amazon Aurora.

Gravidade: Média

A autenticação do IAM deve ser configurada para instâncias RDS

Descrição: esse controle verifica se uma instância de banco de dados RDS tem a autenticação de banco de dados do IAM habilitada. A autenticação de banco de dados do IAM permite a autenticação em instâncias de banco de dados com um token de autenticação em vez de uma senha. O tráfego de rede de e para o banco de dados é criptografado usando SSL. Para obter mais informações, consulte Autenticação de banco de dados do IAM no Guia do usuário do Amazon Aurora.

Gravidade: Média

As políticas gerenciadas pelo cliente do IAM não devem permitir ações de descriptografia em todas as chaves KMS

Descrição: verifica se a versão padrão das políticas gerenciadas pelo cliente do IAM permite que as entidades usem as ações de descriptografia do AWS KMS em todos os recursos. Esse controle usa o Zelkova, um mecanismo de raciocínio automatizado, para validar e avisar sobre políticas que podem conceder amplo acesso aos seus segredos nas contas da AWS. Esse controle falhará se as ações "kms:Decrypt" ou "kms:ReEncryptFrom" forem permitidas em todas as chaves KMS. O controle avalia as políticas gerenciadas pelo cliente anexadas e não anexadas. Ele não verifica políticas inline ou políticas gerenciadas pela AWS. Com o AWS KMS, você controla quem pode usar suas chaves KMS e obter acesso aos seus dados criptografados. As políticas do IAM definem quais ações uma identidade (usuário, grupo ou função) pode executar em quais recursos. Seguindo as práticas recomendadas de segurança, a AWS recomenda que você permita privilégios mínimos. Em outras palavras, você deve conceder às identidades apenas as permissões "kms:Decrypt" ou "kms:ReEncryptFrom" e apenas para as chaves necessárias para executar uma tarefa. Caso contrário, o usuário pode usar chaves que não são apropriadas para seus dados. Em vez de conceder permissões para todas as chaves, determine o conjunto mínimo de chaves de que os usuários precisam para acessar dados criptografados. Em seguida, crie políticas que permitam que os usuários usem apenas essas chaves. Por exemplo, não permita a permissão "kms:Decrypt" em todas as chaves KMS. Em vez disso, permita "kms:Decrypt" apenas nas chaves de uma região específica para a sua conta. Ao adotar o princípio do menor privilégio, pode reduzir o risco de divulgação não intencional dos seus dados.

Gravidade: Média

As políticas gerenciadas pelo cliente do IAM que você cria não devem permitir ações curinga para serviços

Descrição: esse controle verifica se as políticas baseadas em identidade do IAM que você cria têm instruções Allow que usam o curinga * para conceder permissões para todas as ações em qualquer serviço. O controle falhará se qualquer instrução de política incluir 'Efeito': 'Permitir' com 'Ação': 'Serviço:*'. Por exemplo, a instrução a seguir em uma política resulta em uma descoberta com falha.

'Statement': [
{
  'Sid': 'EC2-Wildcard',
  'Effect': 'Allow',
  'Action': 'ec2:*',
  'Resource': '*'
}

O controle também falhará se você usar 'Effect': 'Allow' com 'NotAction': 'service:'. Nesse caso, o elemento NotAction fornece acesso a todas as ações em um serviço da AWS, exceto as ações especificadas em NotAction. Esse controle só se aplica às políticas do IAM gerenciadas pelo cliente. Ele não se aplica a políticas do IAM gerenciadas pela AWS. Ao atribuir permissões aos serviços da AWS, é importante definir o escopo das ações permitidas do IAM em suas políticas do IAM. Você deve restringir as ações do IAM apenas às ações necessárias. Isso ajuda você a provisionar permissões de privilégios mínimos. Políticas excessivamente permissivas podem levar ao escalonamento de privilégios se as políticas forem anexadas a uma entidade do IAM que pode não exigir a permissão. Em alguns casos, talvez você queira permitir ações do IAM que tenham um prefixo semelhante, como DescribeFlowLogs e DescribeAvailabilityZones. Nesses casos autorizados, você pode adicionar um curinga sufixo ao prefixo comum. Por exemplo, ec2:Describe.

Esse controle passa se você usar uma ação prefixada do IAM com um curinga sufixo. Por exemplo, a seguinte instrução em uma política resulta em uma descoberta aprovada.

 'Statement': [
{
  'Sid': 'EC2-Wildcard',
  'Effect': 'Allow',
  'Action': 'ec2:Describe*',
  'Resource': '*'
}

Ao agrupar ações relacionadas do IAM dessa maneira, você também pode evitar exceder os limites de tamanho da política do IAM.

Gravidade: Baixa

As políticas do IAM devem ser anexadas apenas a grupos ou funções

Descrição: por padrão, usuários, grupos e funções do IAM não têm acesso aos recursos da AWS. As políticas do IAM são o meio pelo qual os privilégios são concedidos a usuários, grupos ou funções. É recomendável que as políticas do IAM sejam aplicadas diretamente a grupos e funções, mas não a usuários. A atribuição de privilégios no nível de grupo ou função reduz a complexidade do gerenciamento de acesso à medida que o número de usuários cresce. A redução da complexidade do gerenciamento de acesso pode, por sua vez, reduzir a oportunidade de uma entidade de segurança receber ou reter privilégios excessivos inadvertidamente.

Gravidade: Baixa

As políticas do IAM que permitem privilégios administrativos completos ":" não devem ser criadas

Descrição: as políticas do IAM são o meio pelo qual os privilégios são concedidos a usuários, grupos ou funções. É recomendado e considerado um conselho de segurança padrão conceder privilégios mínimos, ou seja, conceder apenas as permissões necessárias para executar uma tarefa. Determine o que os usuários precisam fazer e, em seguida, crie políticas para eles que permitam que os usuários executem apenas essas tarefas, em vez de permitir privilégios administrativos completos. É mais seguro começar com um conjunto mínimo de permissões e conceder permissões adicionais conforme necessário, em vez de começar com permissões muito brandas e depois tentar apertá-las mais tarde. Fornecer privilégios administrativos completos em vez de restringir ao conjunto mínimo de permissões que o usuário é obrigado a fazer expõe os recursos a ações potencialmente indesejadas. As políticas do IAM que têm uma instrução com "Efeito": "Permitir" com "Ação": "" sobre "Recurso": "" devem ser removidas.

Gravidade: Alta

Os principais do IAM não devem ter políticas inline do IAM que permitam ações de descriptografia em todas as chaves KMS

Descrição: verifica se as políticas embutidas em suas identidades do IAM (função, usuário ou grupo) permitem as ações de descriptografia do AWS KMS em todas as chaves KMS. Esse controle usa o Zelkova, um mecanismo de raciocínio automatizado, para validar e avisar sobre políticas que podem conceder amplo acesso aos seus segredos nas contas da AWS. Esse controle falhará se as ações "kms:Decrypt" ou "kms:ReEncryptFrom" forem permitidas em todas as chaves KMS em uma política embutida. Com o AWS KMS, você controla quem pode usar suas chaves KMS e obter acesso aos seus dados criptografados. As políticas do IAM definem quais ações uma identidade (usuário, grupo ou função) pode executar em quais recursos. Seguindo as práticas recomendadas de segurança, a AWS recomenda que você permita privilégios mínimos. Em outras palavras, você deve conceder às identidades apenas as permissões de que elas precisam e apenas para as chaves necessárias para executar uma tarefa. Caso contrário, o usuário pode usar chaves que não são apropriadas para seus dados. Em vez de conceder permissão para todas as chaves, determine o conjunto mínimo de chaves de que os usuários precisam para acessar dados criptografados. Em seguida, crie políticas que permitam que os usuários usem apenas essas chaves. Por exemplo, não permita a permissão "kms:Decrypt" em todas as chaves KMS. Em vez disso, permita-os apenas nas chaves de uma região específica para a sua conta. Ao adotar o princípio do menor privilégio, pode reduzir o risco de divulgação não intencional dos seus dados.

Gravidade: Média

As funções do Lambda devem restringir o acesso do público

Descrição: a política baseada em recursos da função Lambda deve restringir o acesso público. Esta recomendação não verifica o acesso por entidades internas. Certifique-se de que o acesso à função seja restrito apenas a entidades autorizadas usando políticas baseadas em recursos de privilégios mínimos.

Gravidade: Alta

MFA deve ser habilitado para todos os usuários do IAM

Descrição: Todos os usuários do IAM devem ter a autenticação multifator (MFA) habilitada.

Gravidade: Média

MFA deve ser habilitado para a conta "root"

Descrição: A conta root é o usuário mais privilegiado em uma conta. MFA adiciona uma camada extra de proteção em cima de um nome de usuário e senha. Com a MFA habilitada, quando um usuário faz login em um site da AWS, ele é solicitado a fornecer seu nome de usuário e senha e um código de autenticação de seu dispositivo AWS MFA. Quando você usa MFA virtual para contas raiz, é recomendável que o dispositivo usado não seja um dispositivo pessoal. Em vez disso, use um dispositivo móvel dedicado (tablet ou telefone) que você consegue manter carregado e seguro independentemente de quaisquer dispositivos pessoais individuais. Isso diminui os riscos de perder o acesso ao MFA devido à perda do dispositivo, troca de dispositivo ou se o indivíduo que possui o dispositivo não estiver mais empregado na empresa.

Gravidade: Baixa

As políticas de senha para usuários do IAM devem ter configurações fortes

Descrição: verifica se a política de senha de conta para usuários do IAM usa as seguintes configurações mínimas.

  • RequireUppercaseCharacters- Requer pelo menos um caractere maiúsculo na senha. (Padrão = true)
  • RequireLowercaseCharacters- Requer pelo menos um caractere minúsculo na senha. (Padrão = true)
  • RequireNumbers- Exija pelo menos um número na senha. (Padrão = true)
  • MinimumPasswordLength- Comprimento mínimo da senha. (Padrão = 7 ou mais)
  • PasswordReusePrevention- Número de palavras-passe antes de permitir a reutilização. (Padrão = 4)
  • MaxPasswordAge- Número de dias antes da expiração da senha. (Padrão = 90)

Gravidade: Média

A chave de acesso da conta root não deve existir

Descrição: a conta root é o usuário mais privilegiado em uma conta da AWS. As chaves de acesso da AWS fornecem acesso programático a uma determinada conta da AWS. Recomenda-se que todas as chaves de acesso associadas à conta root sejam removidas. A remoção das chaves de acesso associadas à conta root limita os vetores pelos quais a conta pode ser comprometida. Além disso, a remoção das chaves de acesso raiz incentiva a criação e o uso de contas baseadas em função que são menos privilegiadas.

Gravidade: Alta

A configuração de Bloquear Acesso Público do S3 deve ser ativada

Descrição: Ativar a configuração Bloquear acesso público para o bucket do S3 pode ajudar a evitar vazamentos de dados confidenciais e proteger o bucket de ações maliciosas.

Gravidade: Média

A configuração de Acesso Público de Bloco do S3 deve ser habilitada no nível do bucket

Descrição: esse controle verifica se os buckets do S3 têm blocos de acesso público no nível do bucket aplicados. Esse controle falhará se qualquer uma das seguintes configurações estiver definida como false:

  • ignorarPublicAcls
  • blockPublicPolicy
  • blockPublicAcls
  • restrictPublicBuckets Bloquear o acesso público no nível do bucket do S3 fornece controles para garantir que os objetos nunca tenham acesso público. O acesso público é concedido a buckets e objetos por meio de listas de controle de acesso (ACLs), políticas de bucket ou ambos. A menos que você pretenda ter seus buckets do S3 acessíveis publicamente, configure o recurso de acesso público de bloco do Amazon S3 no nível do bucket.

Gravidade: Alta

O acesso público de leitura dos buckets do S3 deve ser removido

Descrição: remover o acesso público de leitura ao bucket do S3 pode ajudar a proteger seus dados e evitar uma violação de dados.

Gravidade: Alta

O acesso público de gravação dos buckets do S3 deve ser removido

Descrição: Permitir o acesso público de gravação ao seu bucket do S3 pode deixá-lo vulnerável a ações maliciosas, como armazenar dados às suas custas, criptografar seus arquivos para resgate ou usar seu bucket para operar malware.

Gravidade: Alta

Os segredos do Gestor de Segredos devem ter a rotação automática ativada

Descrição: esse controle verifica se um segredo armazenado no AWS Secrets Manager está configurado com rotação automática. O Secrets Manager ajuda-o a melhorar a postura de segurança da sua organização. Os segredos incluem credenciais de banco de dados, senhas e chaves de API de terceiros. Você pode usar o Gerenciador de Segredos para armazenar segredos centralmente, criptografar segredos automaticamente, controlar o acesso a segredos e girar segredos de forma segura e automática. O Gestor de Segredos pode rodar segredos. Você pode usar a rotação para substituir segredos de longo prazo por segredos de curto prazo. Girar seus segredos limita por quanto tempo um usuário não autorizado pode usar um segredo comprometido. Por esta razão, deve rodar os seus segredos com frequência. Para saber mais sobre rotação, consulte Rotação dos segredos do AWS Secrets Manager no Guia do usuário do AWS Secrets Manager.

Gravidade: Média

As instâncias do EC2 interrompidas devem ser removidas após um período de tempo especificado

Descrição: esse controle verifica se alguma instância do EC2 foi interrompida por mais do que o número permitido de dias. Uma instância do EC2 falhará nessa verificação se for interrompida por mais tempo do que o período de tempo máximo permitido, que por padrão é de 30 dias. Uma descoberta com falha indica que uma instância do EC2 não foi executada por um período de tempo significativo. Isso cria um risco de segurança porque a instância do EC2 não está sendo mantida ativamente (analisada, corrigida, atualizada). Se for lançado posteriormente, a falta de manutenção adequada pode resultar em problemas inesperados em seu ambiente da AWS. Para manter com segurança uma instância do EC2 ao longo do tempo em um estado não em execução, inicie-a periodicamente para manutenção e, em seguida, interrompa-a após a manutenção. O ideal é que este seja um processo automatizado.

Gravidade: Média

As identidades superprovisionadas da AWS devem ter apenas as permissões necessárias (Visualização)

Descrição: uma identidade ativa provisionada em excesso é uma identidade que tem acesso a privilégios que não foram usados. Identidades ativas provisionadas em excesso, especialmente para contas não humanas que têm ações e responsabilidades definidas, podem aumentar o raio de explosão no caso de comprometimento de um usuário, chave ou recurso. Remova permissões desnecessárias e estabeleça processos de revisão para obter as permissões menos privilegiadas.

Gravidade: Média

As identidades não utilizadas em seu ambiente da AWS devem ser removidas (Visualização)

Descrição: As identidades inativas são entidades humanas e não humanas que não realizaram nenhuma ação em nenhum recurso nos últimos 90 dias. Identidades inativas do IAM com permissões de alto risco em sua conta da AWS podem ser propensas a ataques se deixadas como estão e deixar as organizações abertas ao uso indevido ou à exploração de credenciais. A deteção e a resposta proativas a identidades não utilizadas ajudam a impedir que entidades não autorizadas tenham acesso aos recursos da AWS.

Gravidade: Média

Recomendações de rede da AWS

O Amazon EC2 deve ser configurado para usar VPC endpoints

Descrição: esse controle verifica se um endpoint de serviço para o Amazon EC2 foi criado para cada VPC. O controle falhará se uma VPC não tiver um VPC endpoint criado para o serviço Amazon EC2. Para melhorar a postura de segurança da VPC, você pode configurar o Amazon EC2 para usar um VPC endpoint de interface. Os endpoints de interface são alimentados pelo AWS PrivateLink, uma tecnologia que permite acessar operações de API do Amazon EC2 de forma privada. Ele restringe todo o tráfego de rede entre sua VPC e o Amazon EC2 para a rede da Amazon. Como os endpoints são suportados apenas na mesma região, não é possível criar um ponto de extremidade entre uma VPC e um serviço em uma região diferente. Isso evita chamadas não intencionais à API do Amazon EC2 para outras regiões. Para saber mais sobre como criar VPC endpoints para Amazon EC2, consulte Amazon EC2 e interface VPC endpoints no Guia do usuário do Amazon EC2 para instâncias do Linux.

Gravidade: Média

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

Descrição: Um endereço IP público é um endereço IP acessível a partir da Internet. Se você executar 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 publicamente, pois isso pode permitir acesso não intencional aos servidores de aplicativos de contêiner.

Gravidade: Alta

Os nós mestres de cluster do Amazon EMR não devem ter endereços IP públicos

Descrição: esse controle verifica se os nós mestres em clusters do Amazon EMR têm endereços IP públicos. O controle falhará se o nó principal tiver endereços IP públicos associados a qualquer uma de suas instâncias. Os endereços IP públicos são designados no campo PublicIp da configuração NetworkInterfaces para a instância. Esse controle verifica apenas os clusters do Amazon EMR que estão em um estado RUNNING ou WAIT.

Gravidade: Alta

Os clusters do Amazon Redshift devem usar roteamento de VPC aprimorado

Descrição: esse controle verifica se um cluster do Amazon Redshift tem EnhancedVpcRouting habilitado. O roteamento aprimorado de VPC força todo o tráfego COPY e UNLOAD entre o cluster e os repositórios de dados a passar pela VPC. Em seguida, você pode usar recursos da VPC, como grupos de segurança e listas de controle de acesso à rede, para proteger o tráfego da rede. Você também pode usar os logs de fluxo da VPC para monitorar o tráfego da rede.

Gravidade: Alta

O Application Load Balancer deve ser configurado para redirecionar todas as solicitações HTTP para HTTPS

Descrição: Para impor a criptografia em trânsito, você deve usar ações de redirecionamento com Application Load Balancers para redirecionar solicitações HTTP do cliente para uma solicitação HTTPS na porta 443.

Gravidade: Média

Os balanceadores de carga do aplicativo devem ser configurados para descartar cabeçalhos HTTP

Descrição: esse controle avalia os AWS Application Load Balancers (ALB) para garantir que eles estejam configurados para descartar cabeçalhos HTTP inválidos. O controle falhará se o valor de routing.http.drop_invalid_header_fields.enabled estiver definido como false. Por padrão, os ALBs não são configurados para descartar valores de cabeçalho HTTP inválidos. A remoção desses valores de cabeçalho evita ataques de dessincronização HTTP.

Gravidade: Média

Configurar funções do Lambda para uma VPC

Descrição: esse controle verifica se uma função do Lambda está em uma VPC. Ele não avalia a configuração de roteamento de sub-rede da VPC para determinar a acessibilidade pública. Observe que, se Lambda@Edge for encontrado na conta, esse controle gerará descobertas com falha. Para evitar essas descobertas, você pode desabilitar esse controle.

Gravidade: Baixa

As instâncias do EC2 não devem ter um endereço IP público

Descrição: esse controle verifica se as instâncias do EC2 têm um endereço IP público. O controle falhará se o campo "publicIp" estiver presente no item de configuração da instância do EC2. Este controlo aplica-se apenas a endereços IPv4. Um endereço IPv4 público é um endereço IP acessível a partir da Internet. Se você executar sua instância com um endereço IP público, sua instância do EC2 poderá ser acessada pela Internet. Um endereço IPv4 privado é um endereço IP que não pode ser acessado pela Internet. Você pode usar endereços IPv4 privados para comunicação entre instâncias do EC2 na mesma VPC ou em sua rede privada conectada. Os endereços IPv6 são globalmente únicos e, portanto, podem ser acessados a partir da Internet. No entanto, por padrão, todas as sub-redes têm o atributo de endereçamento IPv6 definido como false. Para obter mais informações sobre IPv6, consulte Endereçamento IP em sua VPC no Guia do usuário da Amazon VPC. Se você tiver um caso de uso legítimo para manter instâncias do EC2 com endereços IP públicos, poderá suprimir as descobertas desse controle. Para obter mais informações sobre opções de arquitetura de front-end, consulte o blog de arquitetura da AWS ou a série This Is My Architecture.

Gravidade: Alta

As instâncias do EC2 não devem usar vários ENIs

Descrição: esse controle verifica se uma instância do EC2 usa várias Interfaces de Rede Elástica (ENIs) ou Adaptadores de Malha Elástica (EFAs). Esse controle passa se um único adaptador de rede for usado. O controlo inclui uma lista de parâmetros opcional para identificar os ENI autorizados. Várias ENIs podem causar instâncias de hospedagem dupla, ou seja, instâncias que têm várias sub-redes. Isso pode adicionar complexidade de segurança de rede e introduzir caminhos de rede e acesso não intencionais.

Gravidade: Baixa

As instâncias do EC2 devem usar o IMDSv2

Descrição: esse controle verifica se a versão de metadados da instância do EC2 está configurada com o IMDSv2 (Instance Metadata Service Versão 2). O controle passa se "HttpTokens" estiver definido como "required" para IMDSv2. O controle falhará se "HttpTokens" estiver definido como "opcional". Você usa metadados de instância para configurar ou gerenciar a instância em execução. O IMDS fornece acesso a credenciais temporárias e frequentemente rotativas. Essas credenciais eliminam a necessidade de codificar ou distribuir credenciais confidenciais para instâncias manualmente ou programaticamente. O IMDS é anexado localmente a cada instância do EC2. Ele é executado em um endereço IP especial 'link local' de 169.254.169.254. Esse endereço IP só é acessível por software executado na instância. A versão 2 do IMDS adiciona novas proteções para os seguintes tipos de vulnerabilidades. Essas vulnerabilidades podem ser usadas para tentar acessar o IMDS.

  • Abrir firewalls de aplicativos de sites
  • Proxies reversos abertos
  • Vulnerabilidades de falsificação de solicitação do lado do servidor (SSRF)
  • O Security Hub de Camada 3 aberta e NAT (conversão de endereços de rede) recomenda que você configure suas instâncias do EC2 com o IMDSv2.

Gravidade: Alta

As sub-redes do EC2 não devem atribuir automaticamente endereços IP públicos

Descrição: esse controle verifica se a atribuição de IPs públicos em sub-redes da Amazon Virtual Private Cloud (Amazon VPC) tem "MapPublicIpOnLaunch" definido como "FALSE". O controle passa se o sinalizador estiver definido como "FALSE". Todas as sub-redes têm um atributo que determina se uma interface de rede criada na sub-rede recebe automaticamente um endereço IPv4 público. As instâncias que são iniciadas em sub-redes que têm esse atributo habilitado têm um endereço IP público atribuído à interface de rede primária.

Gravidade: Média

Verifique se existem um filtro de métrica de log e um alarme para alterações na configuração do AWS Config

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. É recomendável que um filtro métrico e um alarme sejam estabelecidos para detetar alterações nas configurações do CloudTrail. O monitoramento de alterações na configuração do AWS Config ajuda a garantir a visibilidade sustentada dos itens de configuração na conta da AWS.

Gravidade: Baixa

Verifique se existe um filtro de métrica de log e um alarme para falhas de autenticação do Console de Gerenciamento da AWS

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. É recomendável que um filtro métrico e um alarme sejam estabelecidos para tentativas de autenticação de console com falha. O monitoramento de logins de console com falha pode diminuir o tempo de espera para detetar uma tentativa de força bruta de uma credencial, o que pode fornecer um indicador, como IP de origem, que pode ser usado em outra correlação de eventos.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para alterações nas Listas de Controle de Acesso à Rede (NACL)

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. As NACLs são usadas como um filtro de pacotes sem estado para controlar o tráfego de entrada e saída de sub-redes dentro de uma VPC. Recomenda-se que seja estabelecido um filtro métrico e um alarme para as alterações feitas nas NACLs. O monitoramento de alterações em NACLs ajuda a garantir que os recursos e serviços da AWS não sejam expostos involuntariamente.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para alterações em gateways de rede

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. Os gateways de rede são necessários para enviar/receber tráfego para um destino fora de uma VPC. Recomenda-se que um filtro métrico e um alarme sejam estabelecidos para alterações nos gateways de rede. O monitoramento de alterações em gateways de rede ajuda a garantir que todo o tráfego de entrada/saída atravesse a borda da VPC por meio de um caminho controlado.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para alterações de configuração do CloudTrail

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. É recomendável que um filtro métrico e um alarme sejam estabelecidos para detetar alterações nas configurações do CloudTrail.

O monitoramento de alterações na configuração do CloudTrail ajuda a garantir visibilidade sustentada das atividades realizadas na conta da AWS.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para desabilitar ou excluir programadamente CMKs criadas pelo cliente

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. Recomenda-se que um filtro métrico e um alarme sejam estabelecidos para CMKs criadas pelo cliente, que mudaram de estado para exclusão desabilitada ou programada. Os dados encriptados com chaves desativadas ou eliminadas deixarão de estar acessíveis.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para alterações na política do IAM

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. Recomenda-se que um filtro métrico e um alarme sejam estabelecidos nas alterações feitas nas políticas de Gerenciamento de Identidade e Acesso (IAM). O monitoramento de alterações nas políticas do IAM ajuda a garantir que os controles de autenticação e autorização permaneçam intactos.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para entrar no Console de Gerenciamento sem MFA

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. Recomenda-se que um filtro métrico e um alarme sejam estabelecidos para logins de console que não estejam protegidos pela autenticação multifator (MFA). O monitoramento de logins de console de fator único aumenta a visibilidade em contas que não são protegidas por MFA.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para alterações na tabela de rotas

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. As tabelas de roteamento são usadas para rotear o tráfego de rede entre sub-redes e gateways de rede. Recomenda-se que um filtro métrico e um alarme sejam estabelecidos para alterações nas tabelas de rotas. O monitoramento de alterações nas tabelas de rotas ajuda a garantir que todo o tráfego da VPC flua através de um caminho esperado.

Gravidade: Baixa

Verifique se existe um filtro de métrica de log e um alarme para alterações na política de bucket do S3

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. Recomenda-se que um filtro métrico e um alarme sejam estabelecidos para alterações nas políticas de bucket do S3. O monitoramento de alterações nas políticas de bucket do S3 pode reduzir o tempo para detetar e corrigir políticas permissivas em buckets confidenciais do S3.

Gravidade: Baixa

Verifique se existe um filtro de métrica de log e um alarme para alterações no grupo de segurança

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. Os Security Groups são um filtro de pacotes com monitoração de estado que controla o tráfego de entrada e saída dentro de uma VPC. Recomenda-se que seja estabelecido um filtro métrico e um alarme para alterações nos Grupos de Segurança. O monitoramento de alterações no grupo de segurança ajuda a garantir que os recursos e serviços não sejam expostos involuntariamente.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para chamadas de API não autorizadas

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. Recomenda-se que um filtro métrico e um alarme sejam estabelecidos para chamadas de API não autorizadas. O monitoramento de chamadas de API não autorizadas ajuda a revelar erros de aplicativos e pode reduzir o tempo para detetar atividades maliciosas.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para uso da conta 'root'

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. Recomenda-se que um filtro métrico e alarme sejam estabelecidos para tentativas de login root.

O monitoramento de logins de contas root fornece visibilidade sobre o uso de uma conta totalmente privilegiada e uma oportunidade de reduzir o uso dela.

Gravidade: Baixa

Verifique se existe uma métrica de log, filtro e alarme para alterações na VPC

Descrição: O monitoramento em tempo real das chamadas de API pode ser alcançado direcionando o CloudTrail Logs para o CloudWatch Logs e estabelecendo filtros métricos e alarmes correspondentes. É possível ter mais de uma VPC em uma conta, além disso, também é possível criar uma conexão de mesmo nível entre 2 VPCs, permitindo que o tráfego de rede seja roteizado entre VPCs. Recomenda-se que um filtro métrico e um alarme sejam estabelecidos para alterações feitas em VPCs. O monitoramento de alterações nas políticas do IAM ajuda a garantir que os controles de autenticação e autorização permaneçam intactos.

Gravidade: Baixa

Certifique-se de que nenhum grupo de segurança permita a entrada de 0.0.0.0/0 para a porta 3389

Descrição: os grupos de segurança fornecem filtragem com monitoração de estado do tráfego de rede de entrada/saída para recursos da AWS. Recomenda-se que nenhum grupo de segurança permita acesso irrestrito à porta 3389. A remoção da conectividade irrestrita com serviços de console remotos, como RDP, reduz a exposição de um servidor ao risco.

Gravidade: Alta

Os bancos de dados e clusters RDS não devem usar uma porta padrão do mecanismo de banco de dados

Descrição: esse controle verifica se o cluster RDS ou a instância usa uma porta diferente da porta padrão do mecanismo de banco de dados. Se você usar uma porta conhecida para implantar um cluster ou instância RDS, um invasor poderá adivinhar informações sobre o cluster ou instância. O invasor pode usar essas informações em conjunto com outras informações para se conectar a um cluster ou instância RDS ou obter informações adicionais sobre seu aplicativo. Ao alterar a porta, você também deve atualizar as cadeias de conexão existentes que foram usadas para se conectar à porta antiga. Você também deve verificar o security group da instância de banco de dados para garantir que ele inclua uma regra de entrada que permita a conectividade na nova porta.

Gravidade: Baixa

As instâncias RDS devem ser implantadas em uma VPC

Descrição: As VPCs fornecem vários controles de rede para proteger o acesso aos recursos do RDS. Esses controles incluem VPC Endpoints, ACLs de rede e grupos de segurança. Para aproveitar esses controles, recomendamos que você mova instâncias do EC2-Classic RDS para o EC2-VPC.

Gravidade: Baixa

Os buckets do S3 devem exigir solicitações para usar o Secure Socket Layer

Descrição: recomendamos exigir solicitações para usar SSL (Secure Socket Layer) em todos os buckets do Amazon S3. Os buckets do S3 devem ter políticas que exijam que todas as solicitações ('Ação: S3:*') aceitem apenas a transmissão de dados por HTTPS na política de recursos do S3, indicada pela chave de condição 'aws:SecureTransport'.

Gravidade: Média

Os grupos de segurança não devem permitir a entrada de 0.0.0.0/0 para a porta 22

Descrição: Para reduzir a exposição do servidor, recomenda-se não permitir o acesso irrestrito à porta '22'.

Gravidade: Alta

Os grupos de segurança não devem permitir o acesso ilimitado a portos de alto risco

Descrição: esse controle verifica se o tráfego de entrada irrestrito para os grupos de segurança está acessível às portas especificadas que têm o maior risco. Esse controle passa quando nenhuma das regras em um grupo de segurança permite tráfego de entrada de 0.0.0.0/0 para essas portas. O acesso irrestrito (0.0.0.0/0) aumenta as oportunidades de atividades maliciosas, como hacking, ataques de negação de serviço e perda de dados. Os grupos de segurança fornecem filtragem com monitoração de estado do tráfego de rede de entrada e saída para recursos da AWS. Nenhum grupo de segurança deve permitir o acesso irrestrito às seguintes portas:

  • 3389 (RDP)
  • 20, 21 (FTP)
  • 22 (SSH)
  • 23 (Telnet)
  • 110 (POP3)
  • 143 (IMAP)
  • 3306 (MySQL)
  • 8080 (procuração)
  • 1433, 1434 (MSSQL)
  • 9200 ou 9300 (Elasticsearch)
  • 5601 (Kibana)
  • 25 (SMTP)
  • 445 (CIFS)
  • 135 (RPC)
  • 4333 (AHSP)
  • 5432 (PostgreSQL)
  • 5500 (FCP-ADDR-SRVR1)

Gravidade: Média

Os grupos de segurança só devem permitir tráfego de entrada irrestrito para portas autorizadas

Descrição: esse controle verifica se os grupos de segurança que estão em uso permitem tráfego de entrada irrestrito. Opcionalmente, a regra verifica se os números de porta estão listados no parâmetro "authorizedTcpPorts".

  • Se o número da porta da regra do grupo de segurança permitir tráfego de entrada irrestrito, mas o número da porta for especificado em "authorizedTcpPorts", o controle passará. O valor padrão para "authorizedTcpPorts" é 80, 443.
  • Se o número da porta da regra do grupo de segurança permitir tráfego de entrada irrestrito, mas o número da porta não estiver especificado no parâmetro de entrada authorizedTcpPorts, o controle falhará.
  • Se o parâmetro não for usado, o controle falhará para qualquer grupo de segurança que tenha uma regra de entrada irrestrita. Os grupos de segurança fornecem filtragem com monitoração de estado do tráfego de rede de entrada e saída para a AWS. As regras dos grupos de segurança devem seguir o princípio do acesso menos privilegiado. O acesso irrestrito (endereço IP com um sufixo /0) aumenta a oportunidade de atividades maliciosas, como hacking, ataques de negação de serviço e perda de dados. A menos que uma porta seja especificamente permitida, a porta deve negar acesso irrestrito.

Gravidade: Alta

As EIPs EC2 não utilizadas devem ser removidas

Descrição: os endereços IP elásticos alocados a uma VPC devem ser anexados a instâncias do Amazon EC2 ou interfaces de rede elástica (ENIs) em uso.

Gravidade: Baixa

As listas de controle de acesso à rede não utilizadas devem ser removidas

Descrição: Este controlo verifica se existem listas de controlo de acesso à rede (ACLs) não utilizadas. O controle verifica a configuração do item do recurso "AWS::EC2::NetworkAcl" e determina as relações da ACL de rede. Se a única relação for a VPC da ACL de rede, o controle falhará. Se outros relacionamentos forem listados, o controle passará.

Gravidade: Baixa

O security group padrão da VPC deve restringir todo o tráfego

Descrição: O grupo de segurança deve restringir todo o tráfego para reduzir a exposição aos recursos.

Gravidade: Baixa