Saiba como criptografar seus recursos e melhorar a segurança de sua empresa na nuvem
Modelos de encriptação: at rest e in transit
Para entender como a AWS lida com o fator encriptação, é importante entender como esses dois modelos – at rest (em repouso) e in transit (em trânsito) – funcionam.
Dados em trânsito, ou dados em movimento, são aqueles que se movem ativamente de um lugar para outro, como por toda a Internet ou por meio de uma rede privada. A proteção de dados em trânsito é a proteção desses dados enquanto estão se movimentando de rede para rede ou quando são transferidos de um dispositivo de armazenamento local para um dispositivo de armazenamento em nuvem. Um exemplo disso é a comunicação que ocorre entre seu computador e o servidor de determinado site toda vez que você carrega uma nova página.
Já os dados em repouso, como o nome sugere, são aqueles que não estão sendo movidos ativamente de um dispositivo para outro ou de uma rede para outra. Ou seja, são os dados efetivamente armazenados, seja num HD físico, seja num serviço de nuvem. No caso da AWS, são exemplos de dados em repouso os objetos que estão armazenados em buckets do S3.
Cada uma dessas opções conta com modelos específicos de encriptação. Dados em trânsito podem ser encriptados através do Transport Layer Security (TLS), que hoje, na prática, substitui o SSL (Secure Sockets Layer), ou mesmo por criptografia do lado do cliente. Nesse último caso, é o contratante dos serviços de nuvem que gerencia o processo de criptografia, as chaves de criptografia e as ferramentas relacionadas.
Na AWS, é possível encriptar os dados em repouso de duas formas: usando criptografia do lado do cliente, sendo este último responsável pelo gerenciamento das chaves ou usando criptografia do lado do servidor.
Encriptação de discos EBS
Garantir a criptografia de discos EBS é simples: não é necessário que o cliente crie ou gerencie sua própria infraestrutura de chaves de acesso. Você simplesmente escolhe adicionar volumes EBS criptografados às instâncias que desejar. Essa opção está disponível para grande parte das instâncias do EC2, mas você pode conferir aqui a lista completa dos tipos de instâncias compatíveis com EBS encriptados.
Para encriptar os Volumes EBS, basta selecionar a opção “Encryption” no momento de sua criação:
Caso você deseje encriptar volumes EBS que tenham sido criados sem essa opção, é possível fazer isso através de snapshots. Nesse caso, crie um snapshot do volume que você deseja encriptar e, depois, copie este snapshot adicionando criptografia a esta cópia. Crie um novo volume EBS a partir do snapshot, que estará então encriptado. Por fim, desvincule o antigo volume EBS da instância, anexando em seguida o EBS encriptado.
Para encriptar um volume já existente, o processo é um pouco mais complicado – mas possível!
O primeiro passo é tirar um snapshot do volume alvo. Importante: caso o disco esteja sendo usado por uma instância, é possível que você a precise parar, caso contrário novos dados podem ser salvos no disco após o snapshot ser feito.
Com o snapshot criado, é preciso fazer uma cópia dele – nesse processo que será possível selecionar a opção de encriptar a nova cópia. Em seguida basta criar um novo volume a partir da cópia encriptada!
Quer saber mais sobre volumes EBS? Confira o Deep Dive sobre o assunto no blog da CleanCloud.
Encriptação no Amazon S3
É possível encriptar os objetos armazenados no S3 de diversas formas. Quando os dados estão em trânsito, as opções são o TLS e a criptografia do lado do cliente. Já a encriptação dos dados em repouso, ou seja, enquanto armazenados, pode ocorrer de uma das seguintes maneiras
- Chaves gerenciadas pelo Amazon S3 – Server-Side Encryption (SSE-S3): É uma forma de encriptação padrão oferecida pela AWS para proteger os buckets do S3. Essa opção utiliza criptografia de 256 bits (AES-256). Veja como aplicá-la a seus objetos.
- Chaves gerenciadas pelo Amazon Key Management Service (SSE-KMS): Esta opção conta com ferramentas adicionais e um custo um pouco mais elevado que o SSE-S3. Entre os benefícios está a possibilidade de auditoria, isto é, verificar quando cada chave foi utilizada e por quem. O Amazon KMS gerencia chaves de acesso para outros recursos da AWS, como o RDS, EBS, entre outros. Veja mais sobre essa ferramenta a seguir.
- Chaves fornecidas pelo cliente (SSE-C): Nessa última opção, as chaves são entregues pelo cliente para o S3, que fica responsável por gerenciar a criptografia, ao gravar em discos, e descriptografia, quando você acessa seus objetos. Veja como usar essa opção consultando a documentação da AWS.
Para saber mais sobre as melhores práticas de proteção de dados na AWS, leia também nosso post: 4 dicas de segurança no Amazon no S3.
Encriptação no RDS
Assim como nos discos EBS, a criptografia dos bancos de dados RDS é bastante simples. A opção de encriptação é dada logo no processo de criação do banco. Veja:
Quando essa opção é habilitada, a criptografia envolve desde os dados armazenados no banco de dados em si até seus backups automatizados, suas réplicas de leitura e seus snapshots. Para gerenciar as chaves de acesso a esse recurso, assim como os demais mencionados nesse post, é recomendado o uso do Amazon KMS (Key Management Service), que apresentamos a seguir.
Assim como acontece com os volumes EBS, é possível encriptar um banco de dados RDS depois de criá-lo. Para fazer isso, crie um snapshot do banco e faça uma cópia desse snapshot, habilitando a opção de encriptação. Por fim, substitua a instância RDS original, criando agora uma versão criptografada. Atenção: é muito importante que, durante esse processo, o banco de dados original esteja parado. Caso contrário, alguns dados podem ser salvos sem criptografia.
Amazon KMS (Key Management Service)
O Amazon Key Management Service – ou serviço de gerenciamento de chaves – possibilita o controle do uso de criptografia de diversos serviços da nuvem AWS.
O KMS possui integração ao CloudTrail, o que garante a visibilidade dos logs de utilização de chaves de acesso em todos os recursos gerenciados por essa ferramenta. Através dessa integração é possível também registrar solicitações de API. Dessa forma, o KMS ajuda a cumprir requisitos normativos e de conformidade que devem ser atendidos pela sua infraestrutura.
Além de facilitar processos de auditoria a partir do CloudTrail, o Amazon KMS oferece a centralização completa do gerenciamento de criptografia por um custo baixo: você paga apenas 1 dólar por mês para armazenar qualquer chave que criar nessa ferramenta. É possível, inclusive, utilizar o KMS gratuitamente até o limite de 20.000 solicitações mensais.
Confira a documentação do KMS e a lista completa de recursos da AWS integrados a essa ferramenta.
Conte com o CleanCloud Score
Com o CleanCloud Score, tenha mais de 300 verificações de conformidade e segurança, inclusive verificações de criptografia para estar de acordo com os principais frameworks como CIS, ISO 27001, Bacen e LGPD.