Por que é aconselhável dar ao usuário mysql root @ localhost uma senha?

3

Quando instalei o RPM do servidor MySQL, recebi esta mensagem:

POR FAVOR, LEMBRE-SE DE DEFINIR UMA PALAVRA-PASSE PARA O USUÁRIO root do MySQL!

Se eu puder usar o usuário root do mysql somente a partir do host local (por exemplo, depois de fazer login no SSH), como uma senha fornece algum benefício de segurança adicional? Por exemplo, se eu já sou o usuário root, eu posso deletar o diretório de dados mysql ...

Obrigado

    
por Tom 02.04.2011 / 22:14

3 respostas

12

O usuário do MySQL root é o usuário administrativo especificamente para o MySQLinstance. Embora compartilhe um nome com o usuário administrador padrão nos sistemas Linux, eles não compartilham nenhuma semelhança, exceto na função. No entanto, o fato de ser o administrador da instância do MySQL é a parte importante e a própria razão que precisa ser protegida. Considere as seguintes situações:

Usuário Autorizado Local
Qualquer pessoa que tenha acesso ssh ao seu sistema poderá efetuar login na instância do MySQL como usuário root simplesmente digitando mysql -u root . Releia essa linha novamente apenas para ter certeza de que ela afunda.

Usuário não autorizado remoto
Qualquer usuário mal-intencionado poderá obter controle total da sua instância do MySQL simplesmente explorando uma vulnerabilidade de 'execução arbitrária de comando'. Dê uma olhada em CVE-2009-1151 para ver exatamente como isso é fácil. Dessa forma, eles poderiam assumir o controle do www , httpd , apache ou qualquer usuário usuário e conceder-se uma conta local. Em seguida, efetue login na instância do MySQL como usuário root digitando mysql -u root .

É por razões como essa que um dos inquilinos centrais da Segurança da Informação é a "Defesa em Profundidade". Ou seja, nunca confie em um único controle para protegê-lo. E neste caso, dê ao usuário root da sua instância do MySQL uma senha strong.

    
por 02.04.2011 / 22:28
1

Não apenas o root pode usar root @ localhost mysql login, mas qualquer usuário local.

O mysql tem suas próprias contas, então a raiz do mysql não é igual à raiz do sistema, deixando root @ localhost sem senha permite que qualquer usuário do localhost efetue login como root no mysql, porque não há senha.

    
por 02.04.2011 / 22:23
0

qualquer pessoa na caixa pode correr

mysql -u root

e entre.

    
por 03.04.2011 / 16:34