Blindando o MySQL: Configurações de segurança

O banco de dados é parte importante e fundamental de um ou vários sistemas de uma empresa, provendo informações necessárias para tomadas de decisões, lançamentos de produtos e regras de negócios, ou seja, é no banco de dados onde estão a informações mais valiosas de uma empresa.

[ Hits: 18.266 ]

Por: Allan Moraes em 28/10/2015


MySQL e seus usuários



Tendo um MySQL bem instalado, um SO bem configurado junto com firewall e rede confiável, já teremos uma boa "blindagem", mas ainda falta um passo muito importante que é a configuração dos usuários que você cria no seu SGBD. Um usuário com acesso externo e senha fraca pode ser um prato cheio para um final de semana inteiro de trabalho e restaurações de backups.

Após a instalação e a troca de senha do root, eu sempre indico que criem um novo usuário de administração e excluam o seu usuário root. Isso vai dificultar bastante a vida do invasor. Acesse o seu SGBD com o mysqlclient e crie o novo usuário:

mysql> GRANT ALL PRIVILEGES ON *.* TO SEUNOVOUSUARIO@localhost IDENTIFIED BY 'SUASENHA' WITH GRANT OPTIONS;

Algumas observações:
  • Nunca abra o acesso do seu usuário de administração para fora do servidor, sempre o crie para "localhost";
  • Não coloque nada como administrator, admin ou algo do gênero;
  • Utilize uma senha forte e a troque a cada 15 ou 30 dias;
  • Tenha apenas um administrador do SGBD.

Após criar o seu novo administrador, tente logar com o novo usuário e criar e excluir um banco de teste, usuário etc. Se todos os testes ocorrem bem, podemos excluir o usuário root. Primeiro vamos ver quais usuários root existem:

mysql> SELECT user,host FROM mysql.user WHERE user = 'root';

Agora que sabemos os usuários com nome de root que temos, podemos excluí-los.

mysql> DROP USER root@localhost;
mysql> DROP USER root@'::1';
mysql> DROP USER root@'127.0.0.1';

Com o usuário de administração configurado, aqui vão algumas dicas de segurança para os usuários:

1. Evite criar usuários que o host seja '%'. Isto quer dizer que o usuário possui acesso de qualquer IP, tente sempre habilitar o acesso apenas para um IP fixo;

2. Ao criar um usuário comum, cuidado com as permissões. Nada de ALL PRIVILEGES ou WITH GRANT OPTIONS. Seja específico dando as permissões necessários como: SELECT, CREATE, DROP, UPDATE, DELETE;

3. Evite dar permissões para o banco todo. Nunca faça isso "ON *.* TO", assim você está permitindo que este usuário tenha acesso a todos os bancos de dados do seu SGBD. De preferência para "ON banco.* TO", assim este usuário só terá permissão no seu banco;

4. Crie senhas fortes (sempre é bom lembrar);

5. Ao remover um banco de dados remova o usuário, não o deixe sem um banco.

Então é isso pessoal. Espero que tenham gostado e se tiverem alguma dúvida ou sugestão é só entrar em contato e enviar a sua opinião.

Acessem www.mysqlbox.ml para encontrar mais conteúdo relacionado ao MySQL ou entrar em contato!

Página anterior    

Páginas do artigo
   1. Instalação e configurações do Sistema Operacional
   2. Firewall e Rede
   3. MySQL e seus usuários
Outros artigos deste autor

Fazendo backup do seu MySQL com API do Dropbox

Leitura recomendada

Sincronização segura entre bancos de dados MySQL utilizando SJA

Resolva Problemas com o MySQL Workbench no Linux Mint 21.1

SQL Dicas & Truques (parte 2)

Slackware + MariaDB (MySQL): importando e exportando arquivos TXT

Gambas2 e MySQL, aprofundando relações

  
Comentários
[1] Comentário enviado por fabio em 28/10/2015 - 12:33h

Excelente artigo, meus parabéns!

[2] Comentário enviado por MySQLBox em 28/10/2015 - 12:43h


[1] Comentário enviado por fabio em 28/10/2015 - 12:33h

Excelente artigo, meus parabéns!


Obrigado, Fabio!

[3] Comentário enviado por wleite em 07/11/2015 - 11:48h

Parabéns pelo artigo!!! As dicas são muito boas!!!

[4] Comentário enviado por wagnerfs em 09/11/2015 - 11:44h

Parabéns pelo artigo e obrigado por compartilhar o conhecimento.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782

[5] Comentário enviado por UrielRicardo em 20/10/2016 - 15:38h

Boa!
Sysadmin


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts