En utilisant phpmyadmin sur une configuration de wamp de test local, ainsi que la plupart des états du titre, il y a 3 utilisateurs marqués comme utilisateur = ANY, mot de passe = NO, tels que:
USER | HOST | Password | Global Priv | Grant
-----+---------+----------+-------------+------
Any | % | No | USAGE | No
Any | Local | No | USAGE | No
Any | Domain | No | USAGE | No
-----+---------+----------+-------------+------
Aucun des 3 utilisateurs n'a de privilèges spécifiques pour les tables, il semble donc qu'ils ne peuvent pas faire grand-chose. S'agit-il d'une sorte de mesure de sécurité générique, pour déclarer explicitement que «Tout» utilisateur qui ne fait partie d'aucun autre groupe d'utilisateurs n'a pas de privilèges?
mysql
phpmyadmin
Chris
la source
la source
Réponses:
En réalité, ces trois comptes d'utilisateurs sont en fait assez dangereux. Ils constituent une très grande menace pour tester les bases de données.
Malheureusement, mysql est livré avec un accès complet aux bases de données de test. Comment pouvez-vous les trouver?
Exécutez cette requête:
Lors de l'installation de mysql, vous verrez deux lignes qui donnent un accès complet à toute base de données nommée 'test' ou dont les 5 premiers caractères sont 'test_'.
Pourquoi c'est un problème ???
Essayez d'exécuter cette commande:
Vous aurez connecté la base de données de test sans mot de passe.
Maintenant, créez une table et chargez-la avec une ligne:
OK, gros problème. Pourriez-vous doubler cette table en taille 30 fois ???
Qu'est ce que tu obtiens ?? Une table avec 1 073 741 824 lignes. Facilement, 4 Go +.
Imaginez créer une table de n'importe quelle taille. Que diriez-vous de créer un tas de tables dans la base de données de test et d'y accéder librement à volonté?
La meilleure chose que vous puissiez faire dans ces circonstances est d'exécuter cette requête:
et redémarrez mysql. Ensuite, ces trois comptes seront correctement rendus inopérants.
Essaie !!!
MISE À JOUR 2011-09-12 10:00 EDT
Cette suppression:
est exactement ce dont vous avez besoin pour une installation initiale. Cependant, si vous avez déjà des utilisateurs, vous pouvez exécuter ceci à la place:
Cela supprimera les deux autorisations DB spécifiques.
Comme je l'ai mentionné dans ma réponse, les trois autorisations sont très dangereuses pour les bases de données de test. L'exécution de cette suppression supprimera ces comptes pour avoir tous les droits de tester les bases de données.
la source
Le danger de conserver ces comptes anonymes a déjà été très bien expliqué.
Le manuel fournit une liste de contrôle complète des étapes à suivre pour « sécuriser les comptes MySQL initiaux ».
En particulier, la section «Attribuer des mots de passe de compte anonymes» conseille de supprimer ces comptes.
De plus, le chapitre "Sécurisation des bases de données de test" conseille:
En particulier, sur les systèmes non Windows, il est recommandé d'exécuter le
mysql_secure_installation
script. Le programme d'installation de Windows, je crois, propose plusieurs profils d'installation. Certains d'entre eux désactiveront automatiquement les paramètres non sécurisés. Sinon, la liste de contrôle devra être exécutée manuellement.Des précautions doivent être prises avec des installateurs tiers tels que WAMP. Les autorisations par défaut indiquées dans le manuel officiel de MySQL peuvent ne pas toujours s'appliquer à ces installations personnalisées (comme dans "en dehors du cadre du manuel). Bien sûr, pour un serveur de production, les installations WAMP et autres doivent être évitées à tout prix .
la source