Usando o phpmyadmin em uma configuração local de wamp de teste e, assim como praticamente os estados do título, existem 3 usuários marcados como user = ANY, password = NO, como:
USER | HOST | Password | Global Priv | Grant
-----+---------+----------+-------------+------
Any | % | No | USAGE | No
Any | Local | No | USAGE | No
Any | Domain | No | USAGE | No
-----+---------+----------+-------------+------
Nenhum dos três usuários possui privilégios específicos para nenhuma tabela; portanto, parece que eles não podem fazer muito. Isso é algum tipo de medida de segurança genérica, para declarar explicitamente que 'Qualquer usuário' que não se enquadra em nenhum outro grupo de usuários não tem privilégios?
mysql
phpmyadmin
Chris
fonte
fonte
Respostas:
Na realidade, essas três contas de usuário são realmente bastante perigosas. Eles representam uma ameaça muito grande para testar bancos de dados.
Infelizmente, o mysql vem com acesso total aos bancos de dados de teste. Como você pode encontrá-los?
Execute esta consulta:
Após a instalação do mysql, você verá duas linhas que dão acesso total a qualquer banco de dados chamado 'test' ou cujos 5 primeiros caracteres sejam 'test_'.
Porque isto é um problema ???
Tente executar este comando:
Você conectou o banco de dados de teste sem uma senha.
Agora, crie uma tabela e carregue-a com uma linha:
OK, grande coisa. Você poderia dobrar essa mesa em tamanho 30 vezes ???
O que você ganha ?? Uma tabela com 1.073.741.824 linhas. Facilmente, 4 GB +.
Imagine criar qualquer tabela de qualquer tamanho. Que tal criar um monte de tabelas no banco de dados de teste e acessá-las livremente à vontade?
A melhor coisa que você pode fazer nessas circunstâncias é executar esta consulta:
e reinicie o mysql. Em seguida, essas três contas serão devidamente inoperantes.
De uma chance !!!
UPDATE 2011-09-12 10:00 EDT
Esta exclusão:
é exatamente o que você precisa para uma instalação inicial. No entanto, se você já tiver usuários estabelecidos, poderá executar isso:
Isso removerá as duas permissões específicas do banco de dados.
Como mencionei na minha resposta, as três permissões são muito perigosas para bancos de dados de teste. A execução deste DELETE neutralizará essas contas por terem direitos totais para testar bancos de dados.
fonte
O perigo de manter essas contas anônimas já foi muito bem explicado.
O manual fornece uma lista abrangente de etapas a serem seguidas para " Proteger as contas iniciais do MySQL ".
Em particular, a seção "Atribuindo senhas de contas anônimas" recomenda a remoção dessas contas.
Além disso, o capítulo "Protegendo bancos de dados de teste" aconselha:
Em particular, em sistemas não Windows, é recomendável executar o
mysql_secure_installation
script. O instalador do Windows, acredito, oferece vários perfis de instalação. Alguns deles desativam automaticamente configurações não seguras. Caso contrário, a lista de verificação precisará ser executada manualmente.Cuidados devem ser tomados com instaladores de terceiros, como o WAMP. As permissões padrão indicadas no manual oficial do MySQL nem sempre podem se aplicar a essas instalações personalizadas (como "fora do escopo do manual). É claro que, para um servidor de produção, as instalações WAMP e os gostos devem ser evitados a todo custo .
fonte