As 10 principais configurações incorretas da AWS e como corrigi-las: guia rápido
15 de março de 2023
0 minutos de leituraA Amazon Web Services (AWS) continua sendo a principal provedora de nuvem, com 40,8% de participação de mercado. Hoje, muitas empresas e organizações mantêm parte — ou até mesmo a maior parte — da infraestrutura na Amazon Web Services. A AWS ajuda as organizações a acelerar a transformação digital e inovar mais rapidamente, mas há configurações incorretas comuns ao migrar para a AWS.
Configurações incorretas comuns podem causar violações ou lacunas de segurança na infraestrutura, deixando você às pressas para descobrir o que agentes mal-intencionados fizeram na sua conta da AWS. Para evitar essas possíveis lacunas de segurança na infraestrutura e possíveis violações de segurança, veja as 10 principais configurações incorretas da AWS que abordaremos:
Usar o usuário raiz como usuário principal da conta da AWS.
Armazenar segredos de longa duração no código-fonte de aplicações.
Usar a permissão * nas políticas do IAM.
Usar serviços da AWS não autorizados na sua conta da AWS.
Não criptografar os dados armazenados nos serviços de armazenamento da AWS.
Não habilitar ferramentas de monitoramento para suas contas da AWS.
Grupos de segurança abertos para toda a internet.
Manter todos os serviços em uma única conta da AWS.
Configurações padrão inseguras do AWS RDS
DNS órfão associado a um bucket público excluído do AWS S3.
Baixe nosso guia rápido sobre configurações incorretas de segurança na AWS para saber como evitar as configurações incorretas a seguir.
1. Não use o usuário raiz como usuário principal da conta da AWS
O usuário raiz é fornecido pela AWS e tem privilégios administrativos. No entanto, se ele for comprometido, você poderá perder totalmente o acesso a todas as contas da AWS às quais o usuário raiz tem acesso na organização. Em vez de usar o usuário raiz, use a federação (AWS Identity Center) para usuários humanos ou AWS IAM Users.
O usuário raiz tem acesso a todos os recursos e serviços de uma conta da AWS. Se as credenciais da conta raiz forem comprometidas, agentes mal-intencionados terão acesso a aplicações e dados confidenciais e poderão usar indevidamente os dados e recursos da conta comprometida.
É fundamental proteger o usuário raiz e mantê-lo fora do alcance de agentes mal-intencionados. Além de usar a federação ou o AWS IAM Users, você pode fazer outras coisas para proteger a conta do usuário raiz:
Crie um usuário do IAM para você e conceda a ele permissões administrativas.
Nunca compartilhe as credenciais do usuário raiz.
Se possível, use um gerenciador de senhas e crie uma senha forte.
Habilite a autenticação multifator.
Configure alertas para quando o usuário raiz fizer login. Assim, você será notificado se alguém estiver usando essa conta.
2. Não armazene segredos de longa duração no código-fonte de aplicações
Para usar a AWS programaticamente, é preciso fornecer suas chaves de acesso da AWS para verificar sua identidade nas chamadas programáticas. Essas chaves incluem um ID da chave de acesso e uma chave de acesso secreta. Portanto, qualquer pessoa que tiver suas chaves terá o mesmo acesso que você aos seus recursos da AWS. Por isso, é fundamental protegê-las: se forem comprometidas, agentes mal-intencionados poderão usá-las para acessar programaticamente todos os serviços disponíveis por meio dessas chaves.
Recomendamos alternar suas chaves de acesso da AWS a cada 90 dias e excluir as que não forem usadas por mais de 90 dias. Se possível, não armazene chaves de acesso no código de aplicações, em softwares de implementação nem no armazenamento em nuvem.
3. Use permissões * nas políticas do IAM
Só somos tão seguros quanto o que realmente está implantado e em execução nos nossos ambientes de nuvem.
Por isso, para garantir que você não conceda permissão ou acesso a tudo, atribua políticas de permissões a usuários e funções do IAM, grupos e perfis de workload da AWS (perfis de instância).
Você pode usar o IAM Access Analyzer para se antecipar a esse problema ou até mesmo corrigi-lo. O IAM Access Analyzer permite:
Criar políticas de privilégio mínimo com base na atividade de acesso.
Monitorar e revisar continuamente os tipos de recursos compatíveis. O monitoramento contínuo ajuda você a identificar recursos que permitem acesso público ou entre contas. Também ajuda a encontrar recursos com permissões excessivas.
Depois de implantar suas políticas do IAM no ambiente de produção, você pode ter a tranquilidade de saber que concedeu ao seu workload apenas as permissões necessárias.
4. Não use serviços da AWS não autorizados na sua conta da AWS
Os requisitos legais, técnicos e de conformidade variam de um setor para outro. A maioria das organizações cria uma lista de serviços da AWS aprovados para o setor e das regiões geográficas em que opera. Isso permite que as organizações continuem operando e atendam aos requisitos de conformidade do setor de forma legal e ágil nos mercados em que precisam atuar.
No entanto, operar fora dessas regiões ou usar serviços da AWS que violem exigências legais ou de conformidade provavelmente resultará em multas pesadas para as organizações.
Recomendamos usar o AWS SCP no AWS Organizations para definir limites de segurança e gerenciar o acesso de todos os usuários e funções do IAM nas suas contas da AWS.
5. Criptografe os dados armazenados nos serviços de armazenamento da AWS
Um dos princípios de defesa em profundidade incorporados à segurança da AWS é que você deve criptografar todos os dados em repouso e em trânsito. Você pode fazer isso com chaves de criptografia gerenciadas pela sua organização (AWS KMS com CMK).
À medida que a adoção da nuvem cresce para a criação de infraestrutura e aplicações, cada vez mais dados serão armazenados, transmitidos ou processados na AWS. Disponibilizar esses dados em texto simples ou sem criptografia permite que agentes mal-intencionados os leiam, copiem ou modifiquem. Para evitar isso e outras violações de segurança, criptografe os dados em repouso e em trânsito.
6. Habilite ferramentas de monitoramento para suas contas da AWS
O monitoramento é essencial para manter a disponibilidade, a confiabilidade e o desempenho das suas soluções na AWS. Se um invasor mal-intencionado atacar sua infraestrutura, é importante saber quais ações ele realizou nas suas contas da AWS.
A AWS oferece várias ferramentas de monitoramento que avisam quando algo está errado e, quando apropriado, agem automaticamente. Para ficar por dentro do que acontece, habilite as seguintes ferramentas para monitorar sua conta:
AWS CloudTrail em todas as regiões da AWS
AWS CloudWatch para todos os recursos e aplicações na AWS
De acordo com o perfil de risco da sua organização, considere também habilitar AWS VPC Flow logs e AWS S3 Access Log.
7. Use grupos de segurança para controlar o tráfego da internet
Criar recursos nas suas contas da AWS que possam ser acessados pela internet deixa você vulnerável a ataques. Agentes mal-intencionados estão sempre verificando endereços IP na internet em busca de vulnerabilidades ou servidores sem autenticação que possam explorar em benefício próprio.
Você pode usar as regras dos grupos de segurança para restringir o acesso aos recursos a endereços IP, aplicações ou redes conhecidos. Também recomendamos o AWS Security Hub e o AWS GuardDuty para monitorar suas contas e workloads na AWS em busca de atividades mal-intencionadas e realizar a correção automática.
8. Não mantenha todos os serviços em uma única conta da AWS
Quando você hospeda todas as suas aplicações em uma única conta da AWS, fica mais fácil para agentes mal-intencionados acessarem a conta e identificarem todos os serviços e outras aplicações hospedados nela.
Em vez disso, separe e gerencie várias contas para proteger seus recursos.
O AWS Organization é um serviço da AWS que permite separar e gerenciar várias contas da AWS. Usar o Well-Architected Framework da AWS para separar aplicações e workloads reduz o raio de impacto caso um agente mal-intencionado consiga acessar sua conta da AWS.
9. Evite configurações incorretas no AWS RDS
Bancos de dados gerenciados, como o AWS RDS (serviço de banco de dados relacional da Amazon), podem ser configurados incorretamente e ficar acessíveis a qualquer pessoa por não exigirem autenticação ou usarem uma senha padrão de administrador do banco de dados.
Muitas aplicações usam um banco de dados de back-end para armazenar informações pessoais e dados confidenciais de clientes. Para evitar configurações incorretas que deixem os dados vulneráveis, restrinja o acesso aos grupos de segurança das instâncias do AWS RDS a endereços IP conhecidos. Além disso, você pode alterar as credenciais padrão dos bancos de dados usados pelo AWS RDS.
10. Evite registros DNS órfãos
Confira se nenhuma entrada do DNS (Sistema de Nomes de Domínio) no Route53 está desconhecida ou deixou de apontar para um bucket público do AWS S3.
Sites gerenciados e hospedados em provedores de nuvem pública, como a AWS, estão sujeitos a registros DNS órfãos. Se um invasor conseguir substituir os arquivos e servidores que hospedam o site pelos próprios, poderá assumir o controle de um subdomínio.
Para evitar isso, mantenha um inventário de todos os registros DNS ativos e audite os processos regularmente. Assim, você garante que os recursos associados a entradas DNS que não são mais necessárias também sejam excluídos.
Além disso, monitore continuamente se algum bucket do AWS S3 foi exposto acidentalmente à internet ou se um bucket com a configuração de hospedagem de site estático habilitada foi excluído. Assim, você poderá realizar as correções necessárias. Configure alertas automatizados como parte desse monitoramento contínuo.
Proteja sua infraestrutura de nuvem
Migrar para um provedor de nuvem oferece benefícios importantes — como redução de custos, escalabilidade, vantagem competitiva, mais segurança e oportunidades de colaboração —, mas a configuração precisa ser feita corretamente para evitar os problemas que abordamos hoje. Reduzir o risco de violações de segurança nas suas aplicações é uma responsabilidade contínua das equipes de desenvolvimento e segurança, mas a Snyk está aqui para ajudar. Confira nosso guia rápido sobre configurações incorretas na AWS para ver mais informações e dicas de correção. E, se ainda não tiver feito isso, crie uma conta gratuita na Snyk ou agende uma demonstração para ver como a Snyk pode ajudar você a encontrar e corrigir vulnerabilidades na infraestrutura de nuvem.
Proteja a infraestrutura desde a origem
A Snyk automatiza a segurança e a conformidade de IaC nos fluxos de trabalho e detecta recursos com configurações divergentes ou ausentes.
