Well-Architected Framework – Security Pillar – Parte 2

Olá, pessoal. Tudo bem?

Hoje vamos finalizar o assunto sobre o pilar de segurança do Well-Architected Framework. Para ler a primeira parte deste post, basta clicar aqui.

Proteção da infraestrutura

Evitar acesso não autorizado aos recursos do nosso workload é aspecto chave quando falamos em segurança. Aqui devemos considerar a segurança destes recursos em todas as camadas possíveis, atendendo práticas regulatórios ou políticas da própria organização, e deixando expostos somente os recursos necessários, como load balancers públicos, para acesso HTTP/HTTPS, ou buckets S3 hospedando websites.

A AWS fornece alguns recursos básicos que devemos considerar sempre que formos configurar a nossa infraestrutura, como:

  • Grupos de segurança: Permite configurarmos acessos de entrada e saída em determinada porta ou intervalo de portas de um grupo de recursos, como instâncias EC2 ou tarefas no ECS. É importante salientar que o grupo de segurança é statefull, se uma porta for aberta para entrada, ela também permitirá a saída;
  • Listas de controle de acesso (ACL – Access Control Lists): as listas de controle de acesso, são semelhantes aos grupos de segurança, salvo que elas são vinculadas a sub-redes e que elas são stateless, abrindo uma porta para acesso de entrada, não abre para a saída;
  • Sub-redes: Podemos segregar o acesso a recursos utilizando sub-redes, combinadas a tabelas de roteamento (abaixo), definindo o que são recursos públicos e privados;
  • Tabelas de roteamento: Permitem configurarmos como as sub-redes se comunicam entre si e como elas se comunicam com o mundo exterior.

Outros serviços mais avançados que podemos citar, e que tratam diferentes aspectos de segurança, são:

  • AWS WAF: O Web Application Firewall protege contra exploits que podem afetar a segurança e disponibilidade da aplicação;
  • AWS Shield: O AWS Shield é um serviço que protege contra DDoS (Distributed Denial of Service). A versão básica do AWS Shield é inclusa por padrão em todas as contas da AWS, mas é possível contratar um nível de serviço avançado;
  • AWS Firewall Manager: Permite o gerenciamento conjunto de regras de diversos Web Application Firewalls, inclusive em contas diferentes;
  • Direct Connect: Permite uma conexão privada e direta entre uma VPC e um data center local.

Outro ponto que vale ser citados, é que devemos aplicar o mínimo de privilégio na comunicação com serviços gerenciados da AWS, como o RDS ou o S3. Isso pode ser feito utilizando o IAM, de modo geral, ou podemos utilizar o controle dos próprios serviços, quando existirem. Como é o caso do S3 e suas políticas de bucket.

Por último, mas não menos importante, devemos sempre garantir que o S.O. de nossas máquinas virtuais, antivírus, permissões de acesso e configurações de firewall estejam sempre bem configurados e atualizados. A AWS fornece o System Manager para auxiliar neste tipo de tarefa.

Proteção de dados

Os dados são um dos ativos mais importantes de uma organização, e por isto devem estar muito bem protegidos.

À começar, devemos classificá-los com base em sua sensibilidade. O que não for público, deve ser armazenado e transmitido de forma segura, e preferencialmente sem acesso direto para humanos. Em casos onde é necessária essa interação, ferramentas seguras devem ser disponibilizadas para permitir este acesso.

A proteção dos dados privados, devem ser feitas em trânsito e em repouso.

Basicamente, a proteção em trânsito pode ser efetuada se utilizarmos certificados TLS na comunicação (HTTPS), pois isso garante que a comunicação será criptografada. Para adicionarmos um nível adicional de segurança, também podemos utilizar VPNs quando possível.

Existem diversas entidades que fornecem certificados TLS no mercado, inclusive gratuitamente. A AWS possui o AWS Certificate Manager, ou ACM. O ACM permite criarmos certificados públicos e privados que podem ser utilizados em serviços gerenciados, como o Application Load Balancer e o Cloudfront. Não precisamos nos preocupar com a renovação destes certificados, pois a mesma é feita pela própria AWS. Podemos também importar certificados adquiridos fora da AWS no ACM, mas vale salientar que eles não são renovados automaticamente.

A proteção em repouso é efetuada através da criptografia dos dados nos dispositivos de armazenamento. A AWS oferece diversas tecnologias de armazenamento, e praticamente todas possuem opções de criptografia, como o EBS e o S3. As chaves de criptografia são gerenciadas no KMS, ou Key Management Service.

No S3, por exemplo, temos algumas opções relacionadas ao método de criptografia e gerenciamento da chave:

  • SSE-S3: Server-Side Encryption com a chave gerenciada pelo S3;
  • SSE-KMS: Server-Side Encryption com a chave gerenciada pelo KMS;
  • SSE-C: Server-Side Encryption com a chave gerenciada pelo cliente;
  • CSE-KMS: Client-Side Encryption com a chave gerenciada pelo KMS;
  • CSE-C: Client-Side Encryption com a chave gerenciada pelo cliente;

Geralmente criptografia do lado servidor (SSE) é mais fácil de ser implementada, porém muitas vezes a criptografia do lado do cliente (CSE) é necessária por uma questão de compliance.

Uma recomendação relacionada a backup é fazer o seu armazenamento em uma conta separada da conta onde está executando o workload, para evitar que o backup seja comprometido, caso a conta principal também seja comprometida.

Resposta a incidentes

Mesmo tendo uma infraestrutura extremamente segura, devemos ter processos bem definidos para identificar e mitigar incidentes. As simulações efetuadas durante game days, auxiliam na otimização destes processos.

Na identificação de ameaças, uma boa prática é o Clean Room, que é uma forma de isolarmos o ambiente/recurso para investigação forense. Utilizando o CloudFormation podemos recriar rapidamente um ambiente isolado, similar ao ambiente comprometido, permitindo a investigação da possível ameaça.

Também vale reforçar aqui a regra do privilégio mínimo, utilizando o IAM para permitir apenas acesso as pessoas certas e no nível necessário.

Fim

Como citei no início da primeira parte deste post, nenhum dos procedimentos citados é extremamente difícil de ser executado. A maioria é de certa forma simples, graças ao auxílio das ferramentas e processos existentes na AWS. Este é com certeza um motivador para considerarmos com muito carinho as técnicas citadas, pois, relacionado a segurança, a ameaça pode ser fatal.

Chegamos ao final do pilar de segurança pessoal. Espero que tenham gostado.

Uma boa semana a todos e até a próxima.




Postado em AWS

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s