MySQL GRANT PROXY - cosa significa?


14

Io corro:

show grants for root@localhost;

e vedo

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

Dai documenti mysql:

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

Ciò consente all'utente esterno di essere un proxy per il secondo utente; cioè, avere i privilegi del secondo utente. In altre parole, l'utente esterno è un "utente proxy" (un utente che può impersonare o diventare noto come un altro utente) e il secondo utente è un "utente proxy" (un utente la cui identità può essere acquisita da un utente proxy) .

Ma non capisco cosa significano. Ho ottenuto il sistema da un altro lavoratore che ha lasciato il lavoro e vuole essere sicuro che tutto sia sicuro e non so se questa sovvenzione sia necessaria. Ma se non crea problemi di sicurezza, posso lasciarlo.

Qualcuno può spiegare in modo più semplice?

Aggiornare:

Come posso connettermi come un altro utente? Stavo provando varie combinazioni, di password nome utente, ma non riesco a collegarlo.

Ad esempio ho usato l'utente root, ma la password di un altro utente, che non ha funzionato. Ho provato un altro utente e password di root, inoltre non ha funzionato.

Aggiornare:

O questo forse significa che l'utente root può connettersi come un altro utente? Come farlo almeno per esempio se è così?


"L'account root iniziale creato durante l'installazione di MySQL ha il privilegio PROXY ... WITH GRANT OPTION per '' @ '', ovvero per tutti gli utenti e tutti gli host. Ciò consente a root di configurare utenti proxy e delegare ad altri account l'autorità di impostare utenti proxy ". Dai documenti qui: dev.mysql.com/doc/refman/5.5/en/proxy-users.html
Katie

Risposte:


3

L'autenticazione utente MySQL è un processo piuttosto lungo da spiegare. Ti rimando alla mia risposta di 3,5 anni all'errore MySQL: accesso negato per l'utente "a" @ "localhost" (utilizzando la password: SÌ) in modo da poter vedere i passaggi che un utente esegue per autenticarsi.

Ciò che la concessione PROXY fa è consentire a un utente di mascherarsi come un altro utente e bypassare il normale ma lungo protocollo di autenticazione utente di MySQL .

Tali sovvenzioni per procura potrebbero essere un buco nella sicurezza se uno lo sapesse e iniziasse a trarne vantaggio. Il modo più rapido per disattivarlo sarebbe quello di eseguire

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

Questo cancellerà i privilegi del proxy corrente.

Successivamente, se si desidera limitare i privilegi del proxy, andare al sistema operativo e procedere come segue:

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

Ciò impedirà la creazione di nuovi privilegi proxy.

PROVACI !!!


1
Cosa succede se qualcosa si interrompe se troncare la tabella? Posso prima di troncare: esportarlo e se qualcosa si rompe, quindi inserire di nuovo quelle righe e spero che tutto funzioni. Vedo che ci sono 2 ror nella tabella.
Darius.V,

I miei colleghi affermano che non esiste alcuna falla nella sicurezza, perché è root e ha comunque tutti i diritti. Ma forse non hanno capito perché lo chiedo: posso collegarmi con un utente non root come utente root perché c'è un proxy e quindi ho i diritti?
Darius.V,

Nota: questa risposta non mostra come utilizzare la funzione proxy
Alastair Irvine,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.