MySQL GRANT PROXY - apa artinya?

14

Saya berlari:

show grants for root@localhost;

dan saya melihat

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

Dari mysql docs:

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

Ini memungkinkan pengguna eksternal menjadi proxy untuk pengguna kedua; yaitu, untuk memiliki hak istimewa dari pengguna kedua. Dengan kata lain, pengguna eksternal adalah "pengguna proxy" (pengguna yang dapat berkedok sebagai atau dikenal sebagai pengguna lain) dan pengguna kedua adalah "pengguna proxy" (pengguna yang identitasnya dapat diambil oleh pengguna proxy) .

Tapi saya tidak mengerti apa artinya. Saya mendapat sistem dari pekerja lain yang meninggalkan pekerjaan dan ingin memastikan apakah semuanya aman dan tidak tahu apakah hibah ini bahkan diperlukan. Tetapi jika itu tidak membuat masalah keamanan, saya bisa meninggalkannya.

Adakah yang bisa menjelaskan dengan cara yang lebih sederhana?

Memperbarui:

Bagaimana saya bisa terhubung sebagai pengguna lain? Saya mencoba berbagai kombinasi kata sandi nama pengguna, tetapi saya tidak dapat membuatnya terhubung.

Misalnya saya menggunakan root pengguna, tetapi kata sandi dari pengguna lain, yang tidak berfungsi. Mencoba kata sandi pengguna dan root lainnya, juga tidak berfungsi.

Memperbarui:

Atau ini mungkin berarti pengguna root dapat terhubung dengan pengguna lain? Bagaimana cara melakukannya setidaknya misalnya jika demikian?

Darius.V
sumber
"Akun root awal yang dibuat selama instalasi MySQL memiliki PROXY ... DENGAN hak istimewa GRANT OPTION untuk '' @ '', yaitu, untuk semua pengguna dan semua host. Ini memungkinkan root untuk mengatur pengguna proxy, serta untuk mendelegasikan ke akun lain wewenang untuk mengatur pengguna proxy. " Dari dokumen di sini: dev.mysql.com/doc/refman/5.5/en/proxy-users.html
Katie

Jawaban:

3

Otentikasi Pengguna MySQL adalah proses yang agak panjang untuk dijelaskan. Saya merujuk Anda ke jawaban saya 3,5 tahun untuk kesalahan MySQL: Akses ditolak untuk pengguna 'a' @ 'localhost' (menggunakan kata sandi: YA) sehingga Anda dapat melihat langkah-langkah yang dilakukan pengguna untuk mengautentikasi.

Apa yang diberikan PROXY adalah memungkinkan satu pengguna untuk menyamar sebagai pengguna lain dan mem - bypass protokol otentikasi pengguna yang normal namun panjang .

Hibah proksi semacam itu bisa menjadi celah keamanan jika orang mengetahui hal ini dan mulai memanfaatkannya. Cara tercepat untuk menonaktifkan ini adalah dengan menjalankannya

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

Ini akan menghapus hak proxy saat ini.

Setelah itu, jika Anda ingin membatasi hak proxy, buka OS dan lakukan ini:

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

Ini akan mencegah pembuatan hak proxy baru.

COBALAH !!!

RolandoMySQLDBA
sumber
1
Bagaimana jika ada yang rusak jika saya memotong meja? Saya bisa sebelum memotong - ekspor dan jika ada yang rusak, kemudian masukkan baris itu lagi dan harus semuanya bekerja saya harap. Saya melihat ada 2 rors di meja.
Darius.V
Rekan kerja saya mengatakan bahwa tidak ada lubang keamanan, karena itu adalah root dan ia memiliki semua hak. Tapi mungkin mereka tidak mengerti mengapa saya bertanya - dapatkah saya terhubung dengan beberapa pengguna non root sebagai pengguna root karena ada proxy dan kemudian memiliki hak?
Darius.V
Catatan: jawaban ini tidak menunjukkan cara menggunakan fitur proxy
Alastair Irvine