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.262 ]

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

Gerenciando banco de dados com MySQL (Parte 1)

Store Procedures com Transaction no MySQL

MySQL Workbench no Slackware 14.0

MariaDB + phpMyAdmin no Ubuntu 12.04 LTS

Instalando o MySQL no Slackware

  
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