Deep dive: Melhores Práticas de Segurança na AWS

Os serviços de segurança oferecidos pela AWS permitem que empresas de diversos setores e tamanhos adotem as melhores práticas de segurança a fim de cumprir obrigações legais, como proteção e privacidade de dados, e seguir as melhores práticas de mercado.

Porém, como a maioria dos provedores de nuvem, a AWS funciona sob o Modelo de Responsabilidade Compartilhada (Shared Responsibility Model, em inglês). 

Isso significa que a segurança da nuvem é uma tarefa compartilhada entre a AWS, que cuida da segurança da nuvem – toda a camada de infraestrutura, hardware e regiões / zonas de disponibilidade – e os usuários são responsáveis ​​pela segurança na nuvem – implementar as configurações e políticas nos serviços utilizados, como portas, acessos e gestão de usuários.

E para ajudar nesse processo de responsabilidade do usuário separamos abaixo uma lista com algumas das melhores práticas de segurança.

 

1. Evitar o uso da conta root 

A conta root permite o acesso completo a todos os recursos e informações da nuvem AWS, incluindo dados de faturamento.

É recomendado evitar o uso da conta root para tarefas diárias, até mesmo para tarefas administrativas. Ao invés disso, crie usuários IAM individuais com as permissões necessárias para realizar atividades específicas.

Utilizar a conta root da AWS aumenta os riscos de atividades maliciosas na conta AWS.

 

2. Evitar o uso de chaves de acesso

Para proteger a conta da AWS e aderir às práticas recomendadas do IAM, é recomendado evitar  que a conta root utilize chaves de acesso para realizar solicitações de API e acessar recursos.

Remover essas credenciais da conta root irá reduzir o risco de acesso não autorizado aos recursos da AWS.

 

3. Utilizar Multi-factor Authentication

Para aumentar a segurança no login da AWS é recomendado habilitar o uso do multi-factor authentication (MFA) para todos os usuários da conta.

Para usuários do IAM com privilégios de acesso a recursos confidenciais ou operações de API é recomendado o uso de dispositivos MFA de hardware.

Manter o MFA desativado aumenta os riscos de acesso indevido à plataforma especialmente em caso de extravio das credenciais originais (login e senha).

 

4. Utilizar o CloudTrail em todas as regiões

O CloudTrail é um serviço de log, com o qual é possível registrar e monitorar continuamente as ações executadas na infraestrutura da AWS.

Para melhorar a visibilidade da conta AWS é recomendado habilitar o CloudTrail em todas as regiões da AWS.

 

5. Utilizar políticas de mínimo acesso do IAM 

Na AWS é possível gerenciar permissões e acessos através de políticas anexadas a identidades do IAM como usuários, grupos, roles ou a recursos da AWS.

Ao criar políticas da IAM é recomendado seguir o padrão de conceder somente o acesso necessário de acordo com o princípio do privilégio mínimo para mitigar os riscos de uma ação indesejada na conta.

 

6. Utilizar o Security Token Service

O AWS Security Token Service (STS) é o serviço da web que permite solicitar credenciais temporárias com privilégios limitados para usuários do IAM ou para usuários federados, aqueles que acessam a conta temporariamente e para uma finalidade específica.

As credenciais temporárias são úteis em cenários que envolvem federação de identidades, acesso entre contas e roles do IAM.

 

7. Criptografar recursos do EBS

Os recursos do EBS, como volumes e snapshots, normalmente contém informações sensíveis para a organização, incluindo dados pessoais.

Por isso é recomendado habilitar a criptografia gerenciada pelo AWS Key Management Service (KMS) para mitigar o risco de acesso a esses dados por terceiros não autorizados ou agentes maliciosos.

 

8. Utilizar o VPC Flow Logs

O VPC Flow Logs é um recurso que possibilita capturar informações sobre o tráfego de IP proveniente de interfaces de rede da VPC.

Ativar o VPC Flow Logs irá ajudar a detectar problemas de segurança como grupos de segurança muito permissivos e ACLs de rede, e alertar sobre atividades anormais na rede VPC.

 

9. Utilizar roles do IAM para instâncias do EC2

É recomendado usar roles do IAM para acessar os recursos da AWS a partir de instâncias do EC2 pois como as credenciais de role são temporárias e alteradas automaticamente, não é necessário realizar o gerenciamento das credenciais e nem se preocupar com riscos de segurança de longo prazo.

Além disso, ao utilizar uma única role para várias instâncias é possível realizar uma alteração na role e essa alteração é propagada automaticamente para todas as outras instâncias.

 

10. Utilizar grupos de segurança restritos

Um grupo de segurança atua como um firewall virtual para as instâncias e visa restringir o tráfego de entrada e saída.

Como o grupo de segurança padrão possui acesso irrestrito, é recomendado configurar grupos de segurança personalizados de acordo com o princípio do privilégio mínimo para restringir o tráfego de entrada e saída das instâncias EC2.

 

11. Proteger os buckets S3

O S3 fornece uma série de recursos de segurança como políticas de acesso para proteger as informações armazenadas.

É recomendado conceder apenas o acesso necessário para uma atividade específica de acordo com o princípio do privilégio de acesso mínimo para reduzir o risco e o impacto que pode resultar de erros ou usuários mal-intencionados.

 

12. Criptografar buckets S3

Os buckets S3 normalmente contém informações sensíveis para a organização, incluindo dados pessoais.

Por isso é recomendado proteger os dados dos buckets S3 em repouso com a criptografia padrão do lado do servidor (Server-Side Encryption (SSE)).

 

13. Criptografar buckets S3 com SSL

Para proteger os dados dos buckets S3 em trânsito é recomendado aplicar a criptografia de dados pela rede com o Secure Sockets Layer (SSL).

É recomendado permitir apenas acesso SSL e negar todas as solicitações HTTP não criptografadas para os buckets S3.

 

14. Utilizar o versionamento do S3

Para adicionar uma camada extra de proteção e retenção de dados é recomendado habilitar o controle de versão aos buckets do S3.

O versionamento do S3 pode ser usado em cenários de proteção e retenção de dados, como a recuperação de objetos que foram excluídos ou sobrescritos por acidente ou de forma intencional e para arquivamento de versões anteriores de objetos.

 

15. Utilizar e analisar logs do S3

Para registrar solicitações de acesso úteis para auditorias de segurança é recomendado habilitar o registro de log para os buckets S3 e analisá-los regularmente.

Com isso é possível rastrear as solicitações para acessar os buckets e usar os dados de log para tomar medidas a fim de protegê-los contra o acesso de usuários não autorizados.

 

16. Use soluções de parceiros AWS

Com produtos parceiros AWS, como o CleanCloud Score, tenha de forma automática e periódica um assessment que verifica estas e dezenas de outras vulnerabilidades em nuvem AWS para evitar vazamento de dados e ficar em conformidade com as principais regulações do mercado, incluindo Bacen e LGPD.