Sim, considero uma vulnerabilidade de segurança bastante fundamental. Deixe-me ilustrar isso por meio de uma história.
Há muito, muito tempo, em meus dias mais novos e menos informados, configurei um servidor para testes internos de vários fragmentos que estava sendo testado. Ele estava na minha mesa, desconectado de qualquer rede (isso foi há muito tempo, antes de tudo ter para estar em uma rede para poder fazer qualquer coisa). Enquanto eu estava fora do escritório, alguém mais precisava de uma máquina, e levou minha máquina de testes (não me importei; eu estava usando a máquina na base de que ela poderia ser usada para outras coisas, se necessário). Como já estava sendo executado o sistema operacional necessário, eles o conectaram à rede e instalaram o que precisavam.
O problema era que eu configurava todos os tipos de contas de teste nessa caixa, com senhas fáceis de adivinhar (como o sempre útiltest
). Mesmo há muito tempo, não havia escassez de canalhas que não teriam nada melhor a fazer do que as contas de adivinhação de senha. Não demorou muito para que eles encontrassem essa máquina, adivinhassem uma senha e tivessem uma maneira nefasta com ela.
A moral da história? Mudança de requisitos. Mesmo que você não espere fazer isso agora, há uma chance razoável de que ao longo da vida da máquina seu papel irá mudar - o resultado mais provável, eu esperaria, seria que outros usuários tivessem acesso à máquina (legitimamente, ou através de uma exploração no nível do aplicativo). As chances de você se lembrar de definir uma senha de root do MySQL quando necessário são ... finas, na melhor das hipóteses.
Minha recomendação seria levar os 10 segundos que levaria para definir uma senha de root do MySQL e soltá-la em ~root/.my.cnf
. O custo do tempo de folga é muito menor do que o custo de tempo de comprometimento a probabilidade de comprometimento.