MySQL GRANT PROXY - nó có nghĩa là gì?


14

Tôi chạy:

show grants for root@localhost;

và tôi thấy

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

Từ tài liệu mysql:

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

Điều này cho phép người dùng bên ngoài trở thành proxy cho người dùng thứ hai; đó là, để có các đặc quyền của người dùng thứ hai. Nói cách khác, người dùng bên ngoài là một người dùng proxy proxy, người dùng (một người dùng có thể mạo danh hoặc được biết đến như một người dùng khác) và người dùng thứ hai là một người dùng proxy proxy (một người dùng có thể nhận dạng người dùng proxy) .

Nhưng tôi không hiểu ý của họ. Tôi đã nhận được hệ thống từ một công nhân khác đã rời bỏ công việc và muốn đảm bảo nếu mọi thứ đều an toàn và không biết liệu khoản trợ cấp này có cần thiết hay không. Nhưng nếu nó không tạo ra bất kỳ vấn đề bảo mật nào, tôi có thể bỏ nó.

Ai đó có thể giải thích theo cách đơn giản hơn?

Cập nhật:

Làm thế nào tôi có thể kết nối như một người dùng khác? Tôi đã thử các kết hợp khác nhau, mật khẩu tên người dùng, nhưng tôi không thể kết nối nó.

Ví dụ: tôi đã sử dụng root người dùng, nhưng mật khẩu từ một người dùng khác, không hoạt động. Đã thử một người dùng và mật khẩu root, cũng không hoạt động.

Cập nhật:

Hoặc điều này có thể có nghĩa là người dùng root có thể kết nối như người dùng khác? Làm thế nào để làm điều đó ít nhất là ví dụ nếu như vậy?


"Tài khoản root ban đầu được tạo trong quá trình cài đặt MySQL có PROXY ... VỚI đặc quyền GRANT OPTION cho '' @ '', nghĩa là cho tất cả người dùng và tất cả máy chủ. Điều này cho phép root để thiết lập người dùng proxy, cũng như ủy quyền đối với các tài khoản khác, cơ quan có thẩm quyền thiết lập người dùng proxy. " Từ các tài liệu ở đây: dev.mysql.com/doc/refman/5.5/en/proxy-users.html
Katie

Câu trả lời:


3

Xác thực người dùng MySQL là một quá trình khá dài để giải thích. Tôi giới thiệu cho bạn câu trả lời 3,5 năm của tôi về lỗi MySQL: Truy cập bị từ chối đối với người dùng 'a' @ 'localhost' (sử dụng mật khẩu: CÓ) để bạn có thể xem các bước mà người dùng thực hiện để xác thực.

Những gì cấp PROXY làm là cho phép một người dùng giả trang thành một người dùng khác và bỏ qua giao thức xác thực người dùng bình thường nhưng dài của MySQL .

Các khoản tài trợ proxy như vậy có thể là một lỗ hổng bảo mật nếu một người biết điều này và bắt đầu tận dụng lợi thế của nó. Cách nhanh nhất để hủy kích hoạt này là chạy

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

Điều này sẽ xóa sạch các đặc quyền proxy hiện tại.

Sau đó, nếu bạn muốn hạn chế đặc quyền proxy, hãy truy cập HĐH và thực hiện việc này:

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

Điều này sẽ ngăn các đặc quyền proxy mới được tạo.

HÃY THỬ MỘT LẦN !!!


1
Điều gì nếu một cái gì đó phá vỡ nếu tôi cắt ngắn bảng? Tôi có thể trước khi cắt ngắn - xuất nó và nếu một cái gì đó bị hỏng, sau đó chèn các hàng đó lại và mọi thứ sẽ hoạt động tôi hy vọng. Tôi thấy có 2 rors trong bảng.
Darius.V

Đồng nghiệp của tôi nói rằng không có lỗ hổng bảo mật, bởi vì đó là root và dù sao anh ta cũng có mọi quyền. Nhưng có lẽ họ không hiểu tại sao tôi hỏi - tôi có thể kết nối với một số người dùng không phải là người dùng root vì có proxy và sau đó có quyền không?
Darius.V

Lưu ý: câu trả lời này không cho thấy cách sử dụng tính năng proxy
Alastair Irvine
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.