top of page

Segurança de dados com o Microsoft Entity Framework Core

Empresas precisam garantir a segurança e confidencialidade dos dados armazenados em seus bancos de dados


Segurança de dados nos dias de hoje é essencial em todos os projetos que desenvolvemos, com a gigantesca quantidade de dados armazenados digitalmente as empresas precisam garantir a segurança e confidencialidade desses dados armazenados em seus bancos de dados tanto internamente quanto externamente, utilizei o Microsoft Entity Framework Core em um dos projetos que fiz recentemente em uma das empresas que trabalho.


Fui questionado sobre a segurança de dados devido a “lei geral de proteção de dados (LGPD)” e também fui questionado quanto ao uso de ferramentas para assegurar os dados no ecossistema de desenvolvimento dos softwares que manipulam esses dados, e como resposta utilizei a mesma apresentação que eu havia feito para mostrar as tecnologias usadas e que caminho teríamos que passar para chegar ao final do desenvolvimento do sistema;  nesse projeto,  além de diversas outras tecnologias que seriam usadas mostrei a que  dá acesso e modelagem dos dados seria feita pelo Object-Relational Mapping (ORM) da Microsoft Entity Framework Core e vieram algumas perguntas como por exemplo a prevenção de Injeção de SQL para ataques maliciosos e mal intencionados e se haveria uma forma de criptografar alguns dados sensíveis das pessoas.


Em minha resposta apresentei algumas considerações que o Microsoft Entity Framework Core pode proporcionar:

  • Possui por padrão em consultas parametrizadas o envio de parâmetros separados da consulta SQL e isso acaba inibindo que os valores dos parâmetros sejam interpretados na consulta original. E isso é primordial para a prevenção contra injeção de SQL.

  • Utilização de LINQ (Language Integrated Query) para gerar consultas parametrizadas internamente e assim manter uma segurança ainda maior.

  • Prevenção de Ataques de Força Bruta: Podemos adicionar camadas como nas medidas de prevenção a esses ataques como impor políticas de acesso com senhas fortes que é muito importante para proteger os dados. Com o Entity Framework Core conseguimos integrar estratégias com regras de segurança dos aplicativos para obter mais proteção.

  • Ao realizar migrações ou aplicar atualizações em seus esquemas do banco de dados com o Entity Framework você consegue controlar melhor e evitar que algum dado escape por alguma falha ou erro.

  • Quanto a criptografia de dados podemos usar o Microsoft Entity Framework Core com bibliotecas de criptografia .NET utilizando algoritmos para mascarar os dados sensíveis antes de gravar nos bancos de dados e quando necessário recuperar podem ser descriptografá-los, mas caso for armazenar senhas pode usar algum tipo de hash como PBKDF2, bcrypt e scrypt para aumentar ainda mais a segurança desses dados.

  • Utilização de transporte de dados seguro SSL/TLS para proteção dos dados entre a aplicação e o Banco de Dados.


Além dessas informações precisa atentar-se a algumas práticas para a segurança dos dados, como manter o Entity Framework sempre atualizado para manter o nível de correções de segurança, testes de segurança para validar e avaliar as vulnerabilidades para identificar e corrigir possíveis falhas de segurança e claro tentar sempre manter o mínimo de privilégios usando o “Princípio do Menor privilégio” para garantir que os usuários tenham acesso apenas ao que é necessário.

Ao aplicar isso ao desenvolvimento de suas aplicações essas configurações ajudarão a garantir que fiquem mais protegidas contra essas ameaças e assim garantindo que os dados fiquem mais seguros em seus ambientes.

 

Por Elio de Abreu Sanguini, gerente de projetos da Business Leaders, é formado em Redes de computadores pela Universidade Nove de Julho e certificado Microsoft Certified: Azure Fundamentals.

Commentaires


bottom of page