MySQL GRANT PROXY - co to znaczy?

14

Biegnę:

show grants for root@localhost;

i widzę

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

Z mysql docs:

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

Dzięki temu użytkownik zewnętrzny może być serwerem proxy dla drugiego użytkownika; to znaczy mieć uprawnienia drugiego użytkownika. Innymi słowy, użytkownik zewnętrzny to „użytkownik proxy” (użytkownik, który może podszywać się lub zostać znany jako inny użytkownik), a drugi użytkownik to „użytkownik proxy” (użytkownik, którego tożsamość może przejąć użytkownik proxy) .

Ale nie rozumiem, co mają na myśli. Dostałem system od innego pracownika, który odszedł z pracy i chce się upewnić, czy wszystko jest bezpieczne i nie wiem, czy ta dotacja jest w ogóle potrzebna. Ale jeśli nie spowoduje to żadnych problemów bezpieczeństwa, mogę to zostawić.

Czy ktoś może wyjaśnić w prostszy sposób?

Aktualizacja:

Jak mogę się połączyć jako inny użytkownik? Próbowałem różnych kombinacji hasła nazwy użytkownika, ale nie mogę go połączyć.

Na przykład użyłem root użytkownika, ale hasło od innego użytkownika, który nie działał. Próbowałem innego użytkownika i hasło roota, również nie działało.

Aktualizacja:

A może to oznacza, że ​​użytkownik root może połączyć się jak inny użytkownik? Jak to zrobić, przynajmniej na przykład, jeśli tak?

Darius.V
źródło
„Początkowe konto root utworzone podczas instalacji MySQL ma uprawnienia PROXY… WITH GRANT OPTION dla„ @ ”, to znaczy dla wszystkich użytkowników i wszystkich hostów. Umożliwia to rootowi konfigurowanie użytkowników proxy, a także delegowanie do innych kont uprawnienie do konfigurowania użytkowników proxy ”. Z dokumentów tutaj: dev.mysql.com/doc/refman/5.5/en/proxy-users.html
Katie

Odpowiedzi:

3

Uwierzytelnianie użytkownika MySQL jest dość długim procesem do wyjaśnienia. Odsyłam Cię do mojej 3,5-letniej odpowiedzi na błąd MySQL: Odmowa dostępu dla użytkownika „@” „localhost” (przy użyciu hasła: TAK) , abyś mógł zobaczyć kroki podejmowane przez użytkownika w celu uwierzytelnienia.

Grant PROXY pozwala jednemu użytkownikowi na maskowanie się jako inny użytkownik i ominięcie normalnego, ale długiego protokołu uwierzytelniania użytkownika MySQL .

Takie pełnomocnictwa mogłyby stanowić lukę bezpieczeństwa, gdyby się o tym wiedziało i zaczęło z niego korzystać. Najszybszym sposobem na wyłączenie tego byłoby uruchomienie

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

Spowoduje to usunięcie obecnych uprawnień proxy.

Następnie, jeśli chcesz ograniczyć uprawnienia proxy, przejdź do systemu operacyjnego i wykonaj następujące czynności:

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

Zapobiegnie to tworzeniu nowych uprawnień proxy.

SPRÓBUJ !!!

RolandoMySQLDBA
źródło
1
Co jeśli coś się zepsuje, jeśli obetnę stół? Mogę przed obcięciem - wyeksportować go, a jeśli coś się zepsuje, wstaw te wiersze ponownie i jeśli wszystko działa, mam nadzieję. Widzę, że w tabeli są 2 rorsy.
Darius.V
Moi współpracownicy mówią, że nie ma dziury w zabezpieczeniach, ponieważ jest to root, a on i tak ma wszelkie prawa. Ale może nie rozumieli, dlaczego pytam - czy mogę połączyć się z użytkownikiem innym niż root jako użytkownik root, ponieważ istnieje serwer proxy, a następnie mieć uprawnienia?
Darius.V
Uwaga: ta odpowiedź nie pokazuje, jak korzystać z funkcji proxy
Alastair Irvine