O blog da AWS

Protegendo suas Credenciais na AWS

Por Felipe Bortoletto, Arquiteto de Soluções na AWS
Flavio de Moraes, Arquiteto de Soluções na AWS

Introdução

No mesmo passo que as empresas crescem os investimentos em tecnologias de segurança sofisticadas e avançadas crescem junto, levando à criação de impérios tecnológicos com grandes muralhas e fechaduras cada vez mais complexas.

Porém, muitas vezes, o mesmo cuidado utilizado para criar as muralhas e fechaduras não é tomado em guardar as chaves, deixando o império vulnerável a qualquer um que tenha a chave correta para abri-lo.

Nesse blogpost vamos falar sobre como proteger as chaves dos impérios, também conhecidas como credenciais. Aqui mostraremos as melhores práticas, como melhor protegê-las e refiná-las, provendo um maior nível de segurança para sua conta AWS e suas aplicações.

 

Recapitulando

Vamos começar por recapitular algumas terminologias e informações necessárias para melhor entender esse blog.

Terminologia geral

  • Agente: Usuário ou serviço sendo referenciado.
  • Credencial: Identidade atribuída a um agente, utilizada para verificações de segurança.

Tipos de usuários na AWS

  • Usuário Root: Credencial proprietária da conta que possui acesso total a todos os recursos nela disponíveis. Único usuário que pode encerrar a conta.
  • Usuário IAM: Credencial Individual de cada usuário que precisa acessar a conta, recebe permissões da Role anexada a ele ou a um grupo que ele pertence.

Tipos de acesso na AWS

Tipos de permissões na AWS

  • Role: Função que pode ser atribuída a uma ou várias credenciais ou serviços AWS.
  • Policy: Permissões que são atreladas a um agente ou a uma role.

Clique sobre os termos para mais informações.

 

Melhores práticas com as credenciais

Nessa parte falaremos das melhores práticas a aplicar nos seus usuários Root e IAM.

Não utilizar o Root para tarefas do dia-a-dia

Se você usa o Root para as suas tarefas diárias, veja este vídeo para as melhores práticas do seu uso.

 

 

Nele é mostrado como:

  1. Criar um usuário administrador
  2. Excluir a chave de acesso programático do usuário Root
  3. Resetar o Password do Root
  4. Habilitar o MFA para a conta Root

Com essas orientações, você estará seguindo as melhores práticas de segurança para o seu usuário Root, aumentando o nível de segurança de sua conta.

Nunca compartilhe suas credenciais

Credenciais devem ser de uso pessoal e não devem ser compartilhadas, evitando que alguém faça ações com o seu usuário sem sua autorização.

Política de senhas complexas

Habilitar essa política obriga que as senhas tenham requisitos como tamanho mínimo, letras minúsculas e maiúsculas, números e caracteres especiais. Isso protege contra ataques de força bruta, que tentam adivinhar a senha.

Rotacionar periodicamente as chaves e senhas

Essa rotação mitiga o uso de qualquer credencial que tenha sido comprometida. Recomenda-se fazer essa rotação a cada trimestre ou até com uma frequência maior, se possível.

Apagar credenciais e permissões sem uso

Verifique mensalmente a utilização das credenciais em seu ambiente e apague as que não estiverem em uso ou remova as permissões que não estão sendo utilizadas, seguindo o princípio de menor privilégio.

Utilizar credenciais temporárias sempre que possível

As credenciais temporárias expiram após um tempo definido e evitam sua utilização futura para ações indevidas.

Utilizar Federação de acesso sempre que possível

O acesso federado utiliza credenciais temporárias, facilitando a rotação das mesmas, e permitindo a centralização da gestão das credenciais.

Implante políticas no AWS Organizations restringindo o acesso

Ao implementar políticas para suas contas no AWS Organizations que proíbam o acesso, como de geolocalização ou IP, você irá prevenir que sua estrutura seja acessada de algum lugar não autorizado.

 

Credenciais temporárias e como elas ajudam na segurança

Credenciais temporárias ajudam com a melhor prática de rotação de credenciais que mencionamos acima.

Elas são fornecidas pela função AWS Secure Token Service (STS) do AWS IAM. O STS fornece os tokens temporários para os agentes quando uma sessão é iniciada, permitindo que eles acessem outros recursos e serviços na AWS pelo período que o token for válido. Por padrão a validade do token é de 1 hora, porém pode ser alterada para um intervalo entre 15 minutos até que a sessão seja encerrada.

Um novo token é fornecido quando o atual expirar, assim rotacionando automaticamente a credencial, reduzindo o risco de sua utilização indevida e o trabalho operacional de rotação manual.

Federação de acessos

A Federação é uma solução que facilita o acesso dos seus usuários, ao mesmo tempo que aumenta o nível de segurança e melhora a gestão de credenciais do seu ambiente. O acesso federado normalmente funciona por sessões que proveem credenciais temporárias, trazendo as mesmas vantagens citadas anteriormente.

Para utilizar federação, é necessário possuir um Provedor de Identidade, Identity Provider (IdP) em inglês, que centraliza todas as credenciais e permissões em um ponto único, o que facilita a gestão de acessos e credenciais para seus administradores de segurança, melhorando seu nível de segurança.

A AWS possui o AWS Single Sign-On (SSO) que pode ajudar a federar o acesso aos seus ambientes na AWS. Ele se utiliza do protocolo SAMLv2 para se conectar aos principais Provedores de Identidade do mercado e do protocolo SCIM para trocar informações e sincronizar com o seu IdP.

Com ele você pode fornecer acesso a todas as contas que estiverem cadastradas no seu AWS Organizations e múltiplos perfis de acesso para que os usuários utilizem em cada ambiente, fornecendo somente as permissões necessárias para cada um deles, assim seguindo o princípio de mínimo acesso e prevenindo a utilização indevida de recursos.

O AWS SSO se utiliza dos Tokens do STS, que citamos anteriormente, para prover o acesso e rotacionar as credenciais periodicamente de forma automatizada.

 

Refinando suas as credenciais

Para seguir o princípio de privilégio mínimo é necessário analisar as credenciais e padrões de acesso para poder refinar de maneira correta os acessos.

Para ajudar nessa tarefa, a AWS desenvolveu o AWS IAM Access Analyser, uma ferramenta que analisa e monitora as políticas do IAM gerando descobertas que informam “Quem tem acesso a quê” e indica se a politica é muito permissiva.

No console do Access Analyser, é possível corrigir facilmente políticas que são muito permissivas ou arquivar a descoberta em que a política está correta.

Veja uma demonstração do IAM Access Analyser no vídeo abaixo.

 

 

O Access Analyser tem uma segunda funcionalidade que analisa a política durante a sua criação, fornecendo alertas de segurança e sugestões de como é possível melhorá-la.

O vídeo abaixo exibe uma demonstração dessa função durante a criação de uma política

 

Conclusão

Neste blog post recapitulamos conceitos importantes na área de identidade, abordamos algumas das melhores práticas com usuários root e demais usuários IAM. Também mergulhamos mais a fundo em duas das melhores práticas: Credenciais Temporárias e Federação de Acesso. Ambas retiram carga operacional de times de gestão e aumentam a segurança de ambientes com a rotação automatizada das credenciais utilizadas. Apresentamos o IAM Access Analyser, que ajuda no refinamento e construção das políticas dos seus ambientes, facilitando a detecção pelos times de segurança de permissões incorretas ou com acessos desnecessários. Finalmente, demonstramos como é simples utilizar as funções do serviço em dois vídeos.

Esperamos que as orientações desse blog tenham sido úteis e ajudem vocês a terem ambientes mais seguros na nuvem.

 


Sobre os autores

Felipe Bortoletto é um arquiteto de soluções na AWS. Ele tem trabalhado na Amazon desde 2017, começando como Engenheiro de TI, em 2019 ele participou do programa Tech U que proveu o conhecimento e pratica necessário para ser promovido para arquiteto de soluções em 2020. Atualmente está trabalhando com o mercado financeiro e se aprofundando na área de segurança.

 

 

 

 

Flavio de Moraes é Arquiteto de Soluções na AWS e atua no segmento de Enterprise.