MySQL GRANT PROXY - qu'est-ce que cela signifie?

14

Je cours:

show grants for root@localhost;

et je vois

 GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION

Depuis les documents mysql:

https://dev.mysql.com/doc/refman/5.5/en/proxy-users.html

Cela permet à l'utilisateur externe d'être un proxy pour le deuxième utilisateur; c'est-à-dire, d'avoir les privilèges du deuxième utilisateur. En d'autres termes, l'utilisateur externe est un "utilisateur proxy" (un utilisateur qui peut usurper l'identité ou devenir un autre utilisateur) et le deuxième utilisateur est un "utilisateur mandaté" (un utilisateur dont l'identité peut être reprise par un utilisateur proxy). .

Mais je ne comprends pas ce qu'ils signifient. J'ai obtenu le système d'un autre travailleur qui a quitté le travail et je veux m'assurer que tout est sécurisé et je ne sais pas si cette subvention est même nécessaire. Mais si cela ne pose aucun problème de sécurité, je peux le laisser.

Quelqu'un peut-il expliquer de manière plus simple?

Mise à jour:

Comment puis-je me connecter en tant qu’autre utilisateur? J'essayais diverses combinaisons de mot de passe de nom d'utilisateur, mais je ne peux pas le faire se connecter.

Par exemple, j'ai utilisé l'utilisateur root, mais le mot de passe d'un autre utilisateur, ce qui n'a pas fonctionné. J'ai essayé un autre utilisateur et mot de passe root, n'a pas fonctionné non plus.

Mise à jour:

Ou cela signifie peut-être que l'utilisateur root peut se connecter en tant qu'autre utilisateur? Comment faire au moins par exemple si oui?

Darius.V
la source
"Le compte racine initial créé lors de l'installation de MySQL a le privilège PROXY ... WITH GRANT OPTION pour '' @ '', c'est-à-dire pour tous les utilisateurs et tous les hôtes. Cela permet à root de configurer des utilisateurs proxy, ainsi que de déléguer à d'autres comptes le pouvoir de configurer des utilisateurs proxy. " De la documentation ici: dev.mysql.com/doc/refman/5.5/en/proxy-users.html
Katie

Réponses:

3

L'authentification utilisateur MySQL est un processus assez long à expliquer. Je vous renvoie à ma réponse de 3,5 ans à l' erreur MySQL: Accès refusé à l'utilisateur 'a' @ 'localhost' (en utilisant le mot de passe: OUI) afin que vous puissiez voir les étapes qu'un utilisateur prend pour s'authentifier.

La subvention PROXY permet à un utilisateur de se faire passer pour un autre utilisateur et de contourner le protocole d'authentification utilisateur normal mais long de MySQL .

Ces octrois de procuration pourraient être une faille de sécurité si l'on en était conscient et que l'on commençait à en profiter. Le moyen le plus rapide de le désactiver serait d'exécuter

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

Cela effacera les privilèges de proxy actuels.

Ensuite, si vous souhaitez restreindre les privilèges du proxy, accédez au système d'exploitation et procédez comme suit:

cd /var/lib/mysql/mysql
chmod -w proxies_priv.*

Cela empêchera la création de nouveaux privilèges de proxy.

ESSAIE !!!

RolandoMySQLDBA
la source
1
Que se passe-t-il si quelque chose se brise si je tronque la table? Je peux avant de tronquer - l'exporter et si quelque chose casse, puis insérez à nouveau ces lignes et si tout fonctionne, j'espère. Je vois qu'il y a 2 rors dans le tableau.
Darius.V
Mes collègues disent qu'il n'y a pas de faille de sécurité, car c'est root et il a tous les droits de toute façon. Mais peut-être qu'ils n'ont pas compris pourquoi je demande - puis-je me connecter avec un utilisateur non root en tant qu'utilisateur root parce qu'il y a un proxy et ensuite avoir des droits?
Darius.V
Remarque: cette réponse ne montre pas comment utiliser la fonction proxy
Alastair Irvine