Criptografar Amazon EBS utilizando KMS com CMK gerenciada pelo cliente
Tags: aws, cloud, security
Published: 2023-07-13 05:42:45

A criptografia do Amazon Elastic Block Store (EBS) desempenha um papel fundamental na proteção dos dados sensíveis e confidenciais armazenados na nuvem da Amazon Web Services (AWS). Ela fornece uma camada adicional de segurança, ajudando a evitar violações de dados e possíveis danos à reputação da empresa. Além disso, a criptografia do EBS é fácil de configurar e usar, não exigindo conhecimentos avançados em criptografia por parte dos usuários. Outro ponto importante é que a criptografia do EBS ajuda as empresas a cumprir requisitos de conformidade regulatória, como a Lei Geral de Proteção de Dados (LGPD) no Brasil ou o Regulamento Geral sobre a Proteção de Dados (GDPR) na União Europeia. Ao criptografar os dados armazenados no EBS, as empresas estão adotando uma abordagem proativa para proteger a privacidade dos dados dos seus clientes.

No cenário abaixo, irei demonstrar como criptografar um volume EBS de uma instância em produção.

## Etapa 01 - Criar chave KMS gerenciada pelo cliente

1) Acesse a console AWS e procure pelo serviço "Key Management Service".
2) No menu lateral a esquerda, clique em "Customer managed keys".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thc03sqhwbbdltxghqm4.png)
3) Clique em "Create key".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oq8jx1bk1sm3q1cdlmaz.png)
4) Selecione a "Key type" como "Symmetric" e a "Key usage" como "Encrypt and decrypt" e clique em "Next".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bwhzwggo8mirmbqxykq.png)
5) Defina um nome de sua escolha para o "Alias" da key e clique em "Next".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/is6swmytra1zlcy8c5l8.png)
6) Em "Define key administrative permissions" clique em "Next".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b4uu8f0neuaizdxj66m2.png)
7) Em "Define key usage permissions" clique em "Next".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oirmbly58q77i3p5nu7l.png)
8) Revise as informações e clique em "Finish" para criar a chave KMS.

## Etapa 02 - Criptografando o volume EBS

1) Acesse a console AWS e procure pelo serviço "EC2".
2) No menu lateral a esquerda, clique em "Instances".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/db68xbsn3rbxs9skalcw.png)
3) Selecione a instância desejada, clique em "Instance state" > "Stop instance", confirme clicando em "Stop".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7t0wjg6t7wth3de44q86.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dxpsi3r3k5nhydfelkjy.png)
4) Após a instância desligar, gere um snapshot do volume EBS da instância, no menu lateral a esquerda, clique em "Volumes".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sqay8fbclsks0lkbleuw.png)
5) Selecione o volume EBS e clique em "Actions" > "Create snapshot".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9shtkby0bgcrlymzfoow.png)
6) Clique em "Create snapshot".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/canu196iejrwau6ckx75.png)
7) No menu lateral a esquerda, clique em "Snapshots".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2rznpg8t59j4fk8dvtn1.png)
8) Selecione o snapshot, clique em "Actions" > "Copy snapshot".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2zxlamu9ta60vc04q9og.png)
9) Marque a opção "Encrypt this snapshot", em "KMS key" selecione a CMK criada na etapa 01 e clique em "Copy snapshot".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xux0107tgqoybtpgv4zg.png)
10) Após a cópia do snapshot finalizar, selecione o snapshot criptografado e clique em "Actions" > "Create volume from snapshot".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/awx69s6yrvsv4e6rap2i.png)
11) Defina o "Volume type" de sua escolha, garanta que o volume seja criado na mesma "Availability Zone" da instância EC2, em "KMS key" selecione a CMK criada na etapa 01 e clique em "Create volume".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p1xglvdeuyk7y7j5xvmi.png)
12) No menu lateral a esquerda, clique em "Volumes".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v9vsqu62bunazckcg7nk.png)
13) Primeiro precisamos desatachar o volume sem criptografia da instância EC2, selecione o volume e clique em "Actions" > "Detach volume", confirme clicando em "Detach".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xc1auj94saf2k8z3oo0b.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p7v5jt42u61hrmwmuwfd.png)
14) Em seguida, selecione o volume criptografado e clique em "Actions" > "Attach volume".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/svy6nq0cqfycgz14zinx.png)
15) Em "Instance" selecione a instância EC2 e em "Device name" digite "/dev/sda1" pois o volume é um root volume de uma instância Linux e clique em "Attach volume".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5p9eq548jhq3r70ntsac.png)
16) No menu lateral a esquerda, clique em "Instances".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wkebgj9mlme87ajbgd9.png)
17) Selecione a instância desejada, clique em "Instance state" > "Start instance".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0a31outvue4d6kkyj125.png)
18) Pronto, no print abaixo podemos ver que o volume EBS está criptografado.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mr5mpzwz36ad6j91llvf.png)