MySQL GRANT PROXY - หมายความว่าอย่างไร


14

ฉันวิ่ง:

show grants for root@localhost;

และฉันเห็น

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

จาก mysql docs:

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

สิ่งนี้ทำให้ผู้ใช้ภายนอกเป็นพร็อกซีสำหรับผู้ใช้คนที่สอง นั่นคือการมีสิทธิ์ของผู้ใช้ที่สอง กล่าวอีกนัยหนึ่งผู้ใช้ภายนอกคือ "ผู้ใช้พร็อกซี" (ผู้ใช้ที่สามารถเลียนแบบหรือเป็นที่รู้จักในฐานะผู้ใช้รายอื่น) และผู้ใช้รายที่สองคือ "ผู้ใช้พร็อกซี" (ผู้ใช้ที่สามารถรับข้อมูลประจำตัวของผู้ใช้พร็อกซี่) .

แต่ฉันไม่เข้าใจความหมาย ฉันได้รับระบบจากคนงานคนอื่นที่ออกจากงานและต้องการตรวจสอบให้แน่ใจว่าทุกอย่างปลอดภัยและไม่ทราบว่าเงินช่วยเหลือนี้จำเป็นหรือไม่ แต่ถ้ามันไม่ได้ทำให้เกิดปัญหาด้านความปลอดภัยฉันสามารถทิ้งมันไว้

ใครบางคนสามารถอธิบายด้วยวิธีที่ง่ายขึ้น?

ปรับปรุง:

ฉันจะเชื่อมต่อในฐานะผู้ใช้รายอื่นได้อย่างไร ฉันลองใช้รหัสผ่านชื่อผู้ใช้หลายแบบร่วมกัน แต่ฉันไม่สามารถเชื่อมต่อได้

ตัวอย่างเช่นฉันใช้ผู้ใช้รูท แต่ใช้รหัสผ่านจากผู้ใช้รายอื่นซึ่งใช้งานไม่ได้ ลองใช้ชื่อผู้ใช้และรหัสผ่านรูทอีกครั้งก็ใช้งานไม่ได้เช่นกัน

ปรับปรุง:

หรือนี่อาจหมายความว่าผู้ใช้รูทสามารถเชื่อมต่อกับผู้ใช้อื่นได้? ทำอย่างนั้นอย่างน้อยถ้าเช่นนั้น?


"บัญชีรูทเริ่มต้นที่สร้างขึ้นระหว่างการติดตั้ง MySQL มีสิทธิ์ ... ด้วยสิทธิ์ GRANT OPTION สำหรับ '' @ '' นั่นคือสำหรับผู้ใช้ทั้งหมดและโฮสต์ทั้งหมดสิ่งนี้ทำให้รูทสามารถตั้งค่าผู้ใช้พร็อกซีรวมถึงมอบหมาย สิทธิ์อื่น ๆ ในการตั้งค่าผู้ใช้พร็อกซี " จากเอกสารที่นี่: dev.mysql.com/doc/refman/5.5/en/proxy-users.html
Katie

คำตอบ:


3

การพิสูจน์ตัวตนผู้ใช้ของ MySQL เป็นกระบวนการที่ค่อนข้างยาวในการอธิบาย ฉันแนะนำให้คุณตอบข้อผิดพลาด MySQLอายุ 3.5 ปีของฉัน: การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'a' @ 'localhost' (ใช้รหัสผ่าน: ใช่)เพื่อให้คุณสามารถดูขั้นตอนที่ผู้ใช้ทำการพิสูจน์ตัวตน

อะไรมอบฉันทะไม่อนุญาตให้ผู้ใช้เป็นหนึ่งในการปลอมตัวเป็นผู้ใช้รายอื่นและบายพาสผู้ใช้ปกติ แต่มีความยาวโปรโตคอลการตรวจสอบของ

การมอบอำนาจดังกล่าวอาจเป็นช่องโหว่ด้านความปลอดภัยหากมีใครรู้เรื่องนี้และเริ่มใช้ประโยชน์จากมัน วิธีที่เร็วที่สุดในการปิดการใช้งานนี้คือการเรียกใช้

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

สิ่งนี้จะลบล้างสิทธิ์พร็อกซีปัจจุบัน

หลังจากนั้นหากคุณต้องการ จำกัด สิทธิ์ของพร็อกซีให้ไปที่ระบบปฏิบัติการและทำสิ่งนี้:

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

วิธีนี้จะป้องกันไม่ให้มีการสร้างสิทธิ์พิเศษของพร็อกซีใหม่

ให้มันลอง !!!


1
จะเกิดอะไรขึ้นถ้ามีบางอย่างผิดพลาดหากฉันตัดทอนตาราง ฉันสามารถตัดทอนก่อน - ส่งออกและถ้ามีอะไรบางอย่างแตกแล้วใส่แถวเหล่านั้นอีกครั้งและทุกอย่างที่ฉันหวังว่าจะทำงาน ฉันเห็นว่ามี 2 ส่วนในตาราง
Darius.V

เพื่อนร่วมงานของฉันบอกว่าไม่มีช่องโหว่เพราะมันเป็นรูทและเขาก็มีสิทธิ์ทั้งหมด แต่บางทีพวกเขาอาจไม่เข้าใจว่าทำไมฉันจึงถาม - ฉันสามารถเชื่อมต่อกับผู้ใช้ที่ไม่ใช่รูทในฐานะผู้ใช้รูทได้เพราะมีพร็อกซีแล้วมีสิทธิ์หรือไม่
Darius.V

หมายเหตุ: คำตอบนี้ไม่แสดงวิธีใช้คุณสมบัติพร็อกซี
Alastair Irvine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.