Banco de Dados

11 jul, 2019

MongoDB e LGPD: Quais os recursos disponíveis?

Publicidade

Introdução

Durante os dias 17 e 19/06 eu estive em NY, para palestrar no MongoDB World. Foi um evento incrível! Além de fazer minha primeira palestra internacional, recebi o prêmio William Zola. Escrevi no meu blog um resumo de como foi este evento.

Uma das discussões mais proveitosas que eu tive após a minha palestra, foi sobre a GDPR e o MongoDB. Por isso, resolvi escrever este post, listando alguns recursos legais do MongoDB para a proteção de dados pessoais.

O MongoDB é o banco de dados NoSQL mais usado no mundo, de acordo com o site DB-Engines.com. (Se você não conhece o MongoDB, acesse este link)

Apesar de muito usado, me arrisco a dizer que muitos recursos do MongoDB ainda são desconhecidos.

O MongoDB tem duas versões… A Community e a Enterprise Advanced

A versão Community tem recursos espetaculares! Mas precisamos ter cuidado com o tipo de licença desta versão, e com os recursos que podemos precisar quando colocarmos os bancos de dados em produção.

Por exemplo, suponha que você precise de recursos avançados para monitorar o ambiente, auditoria, criptografia, ou precise do conector de BI, ou da integração com o LDAP, ou do suporte oficial da MongoDB… estes são recursos disponíveis somente na versão Enterprise.

Se você está na dúvida sobre a versão que irá usar, verifique os termos da licença da versão Community e também a criticidade do seu ambiente… Porque, de acordo com os recursos necessários, a versão Enterprise pode ser a mais adequada.

O que é LGPD?

A Lei Geral de Proteção de Dados, a LGPD, é uma lei brasileira que tem como objetivo proteger dados pessoais dos cidadãos brasileiros.

As empresas têm pouco tempo para se adaptar a lei, porque ela entra em vigor em agosto de 2020. Para saber mais sobre a LGPD leia o post sobre este assunto.

Os dados pessoais armazenados em bancos de dados precisam ser protegidos, e para isso podemos contar com os recursos do SGBD.

Este post não tem a pretensão de ser um guia, mas uma lista de recursos disponíveis e que podem ser muito importantes para a segurança de dados pessoais, e se utilizados corretamente ajudarão as empresas a estarem de acordo com a LGPD.

Recursos do MongoDB

Antes de falar dos recursos do MongoDB, precisamos estar atentos aos processos e a governança dos dados.

Por isso, antes de implementar os controles de segurança, para proteger os dados pessoais, é preciso identificar os dados pessoais (não é piada!). Também é indispensável avaliar o impacto potencial para os indivíduos, caso os dados pessoais sejam divulgados a uma parte não autorizada.

Sem controle sobre os seus dados, sem conhecê-los ou sem qualidade é impossível protegê-los, e o pior é impossível estar de acordo com a LGPD.

Mais um lembrete importante… padrões de fábrica não são seguros, e sendo assim a porta 27017 só deve ser usada para testes, nunca em produção!

Agora vamos aos recursos…

1 – JSON Schema e a Modelagem de Dados

Modele seus dados e use o JSON Schema para garantir que os dados de uma coleção estejam de acordo com o modelo de dados criado.

Saiba mais em https://docs.mongodb.com/manual/core/schema-validation/

2 – Autorização e autenticação

O MongoDB fornece vários métodos de autenticação. Use sempre o mais adequado para a sua organização.

A autenticação pode ser gerenciada a partir do próprio banco de dados ou através da integração com mecanismos externos.

A versão Enterprise possibilita a escolha entre a autenticação com o protocolo SHA2, LDAP e lista de permissões de IP, integração para certificados Kerberos ou x.509 PKI.

A versão Community permite que o SGBD controle a autenticação e autorização.

O LDAP é amplamente utilizado por muitas organizações para centralizar o controle de acessos dos usuários aos bancos de dados, usando a infraestrutura LDAP existente, permitindo arquiteturas de controle de acesso centralizadas.

Lembre-se que no geral a regra é dar o menor privilégio possível, de forma que os sistemas, pessoas e ferramentas tenham acesso somente aos dados necessários para executar as suas atividades.

Se você optar por controlar a autorização com o MongoDB (ambas as versões), existem mais de dez roles predefinidas que suportam de usuários comuns a DBAs, e ainda podemos criar roles específicas, permitindo que os administradores atribuam privilégios refinados a usuários e grupos.

3 – Controle o acesso aos dados

Quem nunca precisou de uma cópia do banco de dados de produção que atire a primeira pedra!

Podemos criar views para filtrar campos específicos, em vez de acessar os dados diretamente. Desta forma, os usuários podem receber acesso somente às views e eles poderão ver somente determinados registros e atributos.

As views permitem a inclusão ou exclusão de campos, mascaramento de valores, filtros… entre outras operações.

A versão Enterprise também pode ser configurada para impedir que informações potencialmente confidenciais, como CPF, sejam gravadas no log do banco de dados. Os DBAs podem precisar acessar os logs, e terão informações sobre os metadados, erros e etc… Mas não terão acesso aos valores dos dados. 

A criptografia pode proteger os dados em trânsito e em repouso, permitindo apenas o acesso autorizado. Caso usuários não autorizados tenham acesso a uma rede, servidor, sistema de arquivos ou banco de dados, os dados ainda podem ser protegidos por chaves de criptografia.

O suporte para TLS (Transport Layer Security) permite que os clientes se conectem ao MongoDB por meio de um canal de rede criptografado, protegendo os dados em trânsito. Além disso, o MongoDB criptografa os dados em repouso no disco e também criptografa os backups.

Somente os usuários com as credenciais apropriadas podem acessar dados pessoais criptografados. O acesso ao arquivo de banco de dados no servidor não expõe nenhuma informação armazenada.

4 – Replicação

A replicação do MongoDB é fantástica! E está disponível tanto na versão Enterprise quanto na versão Community.

Usando a replicação nativa, o MongoDB mantém várias cópias de dados de forma que o banco de dados esteja disponível em caso de problemas em um dos servidores. Se você não conhece a replicação, acesse este link

5 – Backup e Restore

Este é um item que sempre me questionam! Com a versão Community e bancos de dados grandes, fazer um backup pode ser um problema.

Backups e restores são indispensáveis para a recuperação dos dados em caso de falhas.

Com o Ops Manager, ferramenta disponível com a versão Enterprise, é possível fazer backups pontuais e restaurar o banco de dados no momento exato, com rapidez e segurança.

6 – Monitoração

É preciso ser proativo!!! Mas para isso é preciso ter as ferramentas adequadas, ou uma bola de cristal.

Anomalias, picos repentinos e inesperados de uso de memória e utilização da CPU podem, entre outros fatores, ser indicativos de um ataque, que pode ser mitigado se os DBAs forem alertados rapidamente.

A versão Community oferece uma ferramenta web para monitoração, e o MongoDB Compass tem alguns gráficos interessantes Mas nada se compara ao Ops Manager, (fornecido com o MongoDB Enterprise) e que fornece alertas enviados de várias maneiras, gráficos, logs, além de permitir a instalação de patches sem tempo de inatividade.

7 – Auditoria

Para estar de acordo com a LGPD é preciso auditar as diversas operações que envolvam dados pessoais.

Com a versão Enterprise é possível auditar todos os acessos e ações executadas no banco de dados, como por exemplo, backups, restores, alterações de schemas, ações administrativas (como adicionar, modificar e remover usuários).

Além da auditoria de operações de banco de dados, com o change streams é possível criar alertas em tempo real. O change stream é um recurso muito poderoso e está disponível também na versão Community.

Conclusão

O MongoDB é fantástico e pode ser usado em ambientes de missão crítica, para armazenar dados pessoais e dados sensíveis.

A versão Enterprise possui recursos incríveis para garantir a conformidade com a LGPD.

A versão Community pode ser usada, mesmo não tendo tantos recursos, mas é preciso estar atento aos termos da licença, e lembrar de construir mecanismos para não ter problemas de segurança.

Precisamos usar as ferramentas disponíveis para garantir a segurança dos dados pessoais.

Para evitar custos, caos, demissões e estresses desnecessários, conheça os recursos de segurança do seu SGBD, e utilize-os sempre que forem adequados.

A LGPD vem aí… E eu desejo que você esteja preparado para ela!

Referências

https://webassets.mongodb.com/mongodb_gdpr.pdf?_ga=2.148050871.1455367728.15
61912675-743623411.1511181383
https://DB4Beginners.com/MongoDB
https://imasters.com.br/banco-de-dados/gdpr-e-lei-geral-de-protecao-de-dados-parte-02
https://docs.mongodb.com/master/