Overview
Fala pessoALL, hoje venho trazer um overview de uma feature super interessante do ponto de vista de segurança e proteção de dados no MongoDB: o Client-Side Field Level Encryption (CSFLE).
Apresentado originalmente na versão 4.2, o CSFLE vem evoluindo a cada nova versão e recentemente trouxe grandes avanços. Mas o que realmente ele faz e como pode nos auxiliar? Vejamos a seguir alguns pontos.
O CSFLE está para compor juntos com outros recursos a camada de segurança do MongoDB (Autenticação, Autorização, Criptografia em Repouso e em Trânsito) e atua especificamente nos campos de uma collection criptografando os dados antes do transporte pela rede entre o cluster da base de dados e os servidores de aplicação. Com este recurso os dados estarão protegidos em diversos cenários como:
- Captura do tráfego em uma rede não protegida (sem a utilização de TLS)
- Dumping / leitura dos dados na memória do servidor
- Acesso diretamente ao disco lendo arquivos da base de dados ou arquivos de backup
- E até mesmo sendo um usuário com altos privilégios que não tenha as chaves de criptografia
Isso se dá porque o processo de criptografia é feito no cliente que utiliza um Key Management System (KMS) responsável por armazenar a chave de criptografia, dessa maneira os dados de campos sensíveis nunca serão armazenados em texto plano.
Entre as soluções de mercado cloud-based estão:
- Amazon Web Services KMS
- Azure Key Vault
- Google Cloud KMS
Para utilização local podemos utilzar qualquer KMIP compatível, e para ambientes de testes podemos utilizar o que chamamos de Local Key Provider.
Vantagens do CSFLE
- Segurança refinada: Protege seus dados confidenciais contra ataques e violações de segurança.
- Conformidade com regulamentações: Facilita a conformidade com diversas normas e leis que exigem a proteção de dados confidenciais.
- Maior controle: Permite definir quais campos devem ser criptografados e qual nível de criptografia usar.
- Desempenho otimizado: A criptografia é realizada no lado do cliente, minimizando o impacto no desempenho do servidor.
Casos de uso do CSFLE
- Armazenamento de informações de clientes: Nomes, endereços, números de telefone, etc.
- Dados financeiros: Números de cartão de crédito, dados bancários, etc.
- Informações de saúde: Registros médicos, históricos de saúde, etc.
- Dados confidenciais de negócios: Propriedade intelectual, segredos comerciais, etc.
Começando com CSFLE
Adotar o uso do CSFLE em sua base de dados é relativamente simples devido a compatibilidade com os drivers suportados pelo MongoDB. Nesta série de artigos a intenção é demonstrar a utilização do CSFLE em uma aplicação de exemplo em Python com o AWS KMS. Fique ligado nos próximos posts!
Top comments (0)