MySQL GRANT PROXY: ¿qué significa?


14

Corro:

show grants for root@localhost;

y veo

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

De documentos de mysql:

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

Esto permite que el usuario externo sea un proxy para el segundo usuario; es decir, tener los privilegios del segundo usuario. En otras palabras, el usuario externo es un "usuario proxy" (un usuario que puede suplantar o ser conocido como otro usuario) y el segundo usuario es un "usuario proxy" (un usuario cuya identidad puede ser asumida por un usuario proxy) .

Pero no entiendo lo que significan. Obtuve el sistema de otro trabajador que dejó el trabajo y quiero asegurarme de que todo esté seguro y no sé si esta subvención es necesaria. Pero si no tiene ningún problema de seguridad, puedo dejarlo.

¿Alguien puede explicar de una manera más simple?

Actualizar:

¿Cómo puedo conectarme como otro usuario? Intenté varias combinaciones, de nombre de usuario y contraseña, pero no puedo hacer que se conecte.

Por ejemplo, utilicé la raíz del usuario, pero la contraseña de otro usuario, que no funcionó. Intenté con otro usuario y contraseña de root, tampoco funcionó.

Actualizar:

¿O esto quizás significa que el usuario root puede conectarse como otro usuario? ¿Cómo hacer eso al menos, por ejemplo, si es así?


"La cuenta raíz inicial creada durante la instalación de MySQL tiene el privilegio PROXY ... WITH GRANT OPTION para '' @ '', es decir, para todos los usuarios y todos los hosts. Esto permite a root configurar usuarios proxy, así como delegar a otras cuentas la autoridad para configurar usuarios proxy ". De los documentos aquí: dev.mysql.com/doc/refman/5.5/en/proxy-users.html
Katie

Respuestas:


3

La autenticación de usuario MySQL es un proceso bastante largo para explicar. Le remito a mi respuesta de 3.5 años de antigüedad al error de MySQL: acceso denegado para el usuario 'a' @ 'localhost' (usando la contraseña: SÍ) para que pueda ver los pasos que un usuario toma para autenticarse.

Lo que hace la concesión PROXY es permitir que un usuario se haga pasar por otro usuario y omita el protocolo de autenticación de usuario normal pero extenso de MySQL .

Tales subvenciones de representación podrían ser un agujero de seguridad si uno supiera de esto y comenzara a aprovecharlo. La forma más rápida de desactivar esto sería ejecutar

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

Esto eliminará los privilegios de proxy actuales.

Luego, si desea restringir los privilegios de proxy, vaya al sistema operativo y haga esto:

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

Esto evitará que se creen nuevos privilegios de proxy.

DARLE UNA OPORTUNIDAD !!!


1
¿Qué pasa si algo se rompe si trunco ​​la tabla? Puedo antes de truncar: exportarlo y, si algo se rompe, insertar esas filas nuevamente y si todo funciona, espero. Veo que hay 2 rors en la tabla.
Darius.V

Mis compañeros de trabajo dicen que no hay un agujero de seguridad, porque es root y él tiene todos los derechos de todos modos. Pero tal vez no entendieron por qué pregunto: ¿puedo conectarme con algún usuario no root como usuario root porque hay proxy y luego tengo derechos?
Darius.V

Nota: esta respuesta no muestra cómo usar la función proxy
Alastair Irvine
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.