LGPD — Implementando data masking em seu banco de dados

Muitas empresas estão correndo contra o tempo para ficar em conformidade com a LGPD, e vem encontrando dificuldades, pois não existe uma receita mostrando o que precisa ser feito. Quando conseguem levantar as informações, acabam encontrando dificuldades para executar as tarefas, algumas por falta de tempo, outras por falta de conhecimento.

Pensando nisso, vou postar algumas soluções que encontrei para deixar os dados mais seguros.

Nesse primeiro post vamos falar um pouco sobre a infraestrutura e softwares que vamos usar para implementar nosso data masking de forma fácil e “transparente”.

Mas, afinal, o que é essa tal data masking

Existem várias técnicas de mascaramento dos dados, neste artigo vamos implementar a técnica Nulling.
Substituímos os valores originais por um símbolo que representa um caractere nulo, por exemplo, 1234 — **** — **** — 5678 para exibir um número de cartão de crédito.

Fluxo básico

  • ( A ) Usuário executa uma query: SELECT first_name, salary FROM salaries.
  • ( B ) Proxy recebe a requisição e verifica se existe alguma regra de mascaramento nas colunas solicitadas. Ao encontrar um regra valida, ele aplica a regra. Vamos imaginar que nossa regra é substituir o valor do salario por um grupo de asterisco (*) o proxy irá aplicar um replace trocando a query: SELECT first_name, salary FROM salaries para SELECT first_name, REPEAT(‘*’, 10) as salary FROM salaries.
  • ( C ) Banco de dados executa consulta e retorna os dados.
  • ( D ) Proxy devolve ao usuário o resultado da consulta com a coluna salary mascarada.

Agora que já entendemos o fluxo, vamos falar um pouco do nosso proxy.

ProxySQL

Chegou a hora de falar do proxy que ficará responsável por transformar nossas regras em dados mascarados.

O ProxySQL é mais do que um balanceador de carga, ele entende o protocolo MySQL, fornecendo manipulação de conexão MySQL ponta a ponta em tempo real e inspeção de tráfego de banco de dados.

O ProxySQL oferece vários benefícios:

  • Alterações com tempo de inatividade zero.
  • Dividir leituras de gravações.
  • Firewall de banco de dados.
  • Regras de consulta avançada.
  • Fragmentação e transformação de dados.
  • Detecção de Failover.
  • e muito mais…

Fique tranquilo, em breve vou escrever sobre os recurso incríveis do ProxySQL.

Agora que já entendemos o fluxo do data masking e conhecemos nossa camada que ficará responsável por mascarar os dados, estamos prontos para colocar a mão na massa.

No próximo post, vamos instalar, configurar e criar as regras necessárias.

Nos vemos lá!

Conhecido por Whera, Trabalho com desenvolvimento back-end, sou apaixonado por tecnologias para web e um grande entusiasta de Linux.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store