3 dicas de segurança para base de dados
Conforme o número de aplicações web e APIs crescem, também cresce a utilização de banco de dados. Hoje em dia, como o grande número de incidentes tem o foco, as aplicações web, os bancos de dados também acabam tendo um papel muito importante na segurança da infraestrutura como um todo.
Os bancos de dados possuem informações valiosíssimas e
sensíveis de uma empresa, incluindo dados de clientes e informações
financeiras. A segurança dessas informações pode depender de diversos fatores e
poderá variar de empresa para empresa, podendo envolver segurança de rede,
segurança física, criptografia, backup, etc.
É muito importante proteger esses dados contra ataques
internos e externos, seja utilizando controles de acessos efetivos, auditorias
periódicas ou análise de vulnerabilidade para verificar as falhas que existem.
Confira abaixo, 3 dicas para aumentar a segurança da sua base de dados:
Autenticação
O primeiro passo ao acessar o banco de dados é a processo de
autenticação e caso este não seja configurado corretamente, poderá ser
facilmente acessado por um atacante. Neste caso, as melhores opções para se
prevenir são:
- Não utilizar a mesma senha em mais de um servidor, ex.: DEV e Produção.
- Definir uma senha para a conta de administrador e não utilizar essa conta nas aplicações;
- Criar usuários e senhas específicos para aplicações/tarefas.
Controle de acesso
Para proteger os dados é importante limitarmos o acesso,
após criar um usuário e senha específicos para determinadas tarefas, chegou a
hora de determinar qual será o acesso que cada um deles irá ter. Os privilégios
devem ser diferentes para cada usuário e deverá ter restrições conforme a
sensibilidade que o dado apresenta.
Um exemplo simples é uma aplicação onde são exibidas
informações, o usuário do banco de dados que busca essas informações quando um
cliente visita essa página não precisa ter todos os acessos, apenas permissão
para leitura dos dados em determinada tabela, já quem é o editor, precisa ter
mais permissões, como leitura, escrita e edição, mas apenas em determinadas
tabelas e não em toda base.
Quando for definir os controles de acesso na base de dados,
tenha em mente que todos os usuários precisam ter o mínimo de permissão
necessária para realizar sua tarefa.
Criptografia
A criptografia dos dados é também uma das partes mais
importantes para a segurança da base de dados. Neste caso, precisamos pensar em
dois pontos para nos preocuparmos com a segurança - são os dados que serão
armazenados e os dados que estarão em trânsito.
Em primeiro lugar, vamos falar dos dados em trânsito,
infelizmente é muito comum encontrarmos aplicações que transmitem os dados de
um servidor para o outro (cliente/server) sem nenhum tipo de criptografia e com
isso os dados confidenciais ficam completamente expostos e passíveis de
interceptação e alteração, por isso, é muito importante configurar um canal de
comunicação seguro entre a base de dados e a aplicação.
Já na criptografia dos dados que serão armazenados, um
exemplo muito simples e comum é quando uma aplicação web fornece usuário e
senha para seus utilizadores, essas senhas deverão ser armazenadas de forma
criptografada, por incrível que pareça, muitas aplicações hoje em dia ainda não
fazem isso e armazenam esses dados em texto puro. Se você tem uma loja virtual
e pretende armazenar as informações de compras de seus clientes, incluindo dados
de cartões de crédito e informações confidenciais, tenha muito cuidado!
Procure seguir as recomendações do PCI DSS 3.1 e as
recomendações do OWASP para criptografia de dados, ambos os links encontram-se
nas referências no final do texto.
Conclusão
Da mesmo forma que temos um processo contínuo de correção de
vulnerabilidades nas aplicações web, na base de dados funciona da mesmo forma.
Além de realizar o hardening do sistema operacional, é importante aplicar os
patches de segurança que são liberados constantemente e configurar de forma
correta o seu servidor SQL, para que, em caso de comprometimento, os impactos
sejam minimizados. Além disso, nunca se esqueça: faça backups constantes!
Referências:
OWASP MySQL Hardening
https://www.owasp.org/index.php/OWASP_Backend_Security_Project_MySQL_Hardening
https://www.owasp.org/index.php/OWASP_Backend_Security_Project_MySQL_Hardening
SQL Server Security Best Pratices
http://www.microsoft.com/technet/prodtechnol/sql/2005/sql2005secbestpract.mspx
http://www.microsoft.com/technet/prodtechnol/sql/2005/sql2005secbestpract.mspx
OWASP Cryptographic Storage Cheat Sheet
https://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet
https://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet
0 comentários: