Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การจำกัดการเชื่อมต่อ MySQL เพื่อการขนส่งที่ปลอดภัย


MySQL จะทำให้การเชื่อมต่อที่ปลอดภัยง่ายขึ้นเมื่อมีการปรับปรุงการสร้างคีย์สำหรับทั้งชุมชน MySQL และ MySQL Enterprise ด้วยวิธีนี้ ความปลอดภัยจะได้รับการปรับปรุงโดยการขยายการรองรับสำหรับ TLSv1.1 และ TLSv1.2 นอกจากนี้ยังช่วยให้ผู้ดูแลระบบทราบได้ว่าไคลเอ็นต์กำลังเชื่อมต่ออย่างปลอดภัยหรือไม่ด้วยการมองเห็นที่ดีขึ้นในประเภทการเชื่อมต่อ

การขยายความสำคัญนี้ในการเชื่อมต่อที่ปลอดภัย เซิร์ฟเวอร์ MySQL ได้แนะนำตัวเลือกการกำหนดค่าฝั่งเซิร์ฟเวอร์ใหม่ที่ช่วยให้ผู้ดูแลระบบ MySQL สามารถจำกัดการเชื่อมต่อไปยังไคลเอนต์ที่ใช้การขนส่งที่ปลอดภัย เมื่อเราพูดถึงการเชื่อมต่อที่ต้องการการขนส่งที่ปลอดภัย คำถามแรกที่ต้องแก้ไขคือประเภทของการขนส่งที่ใช้

การคมนาคมที่ปลอดภัย

ให้เราดูประเภทของการขนส่งที่ถือว่าปลอดภัย -

  • SSL/TLS

  • ซ็อกเก็ต

  • หน่วยความจำที่ใช้ร่วมกัน

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

ตัวเลือกการกำหนดค่า - -require_secure_transport ถูกเพิ่มเข้ามาใหม่ ที่นี่ ค่าเริ่มต้นของตัวเลือกบูลีนคือปิด ซึ่งหมายความว่าการเชื่อมต่อที่ใช้ใด ๆ ดังกล่าวข้างต้นได้รับการสนับสนุน

โปรโตคอลได้รับการยอมรับ หากสอดคล้องกับพฤติกรรมดั้งเดิม การตั้งค่า -- require_secure_transport=ON ทำให้เซิร์ฟเวอร์ปฏิเสธการเชื่อมต่อใหม่ซึ่งไม่ได้ใช้ประเภทการเชื่อมต่อแบบใดแบบหนึ่งที่แสดงด้านบน

การเชื่อมต่อที่ไม่ปลอดภัย

ลูกค้าที่ถูกปฏิเสธเนื่องจากการเชื่อมต่อที่ไม่ปลอดภัยจะได้รับข้อผิดพลาดที่กล่าวถึงด้านล่าง -

ตัวอย่าง

D:\mysql-advanced-5.7.10-winx64>bin\mysql -uroot -P3310 --skip-ssl

ผลลัพธ์

ERROR 3159 (HY000): Connections using insecure transport are prohibited while
--require_secure_transport=ON.

ตัวอย่าง

D:\mysql-advanced-5.7.10-winx64>bin\mysql -uroot -P3310 --skip-ssl

ผลลัพธ์

ERROR 3159 (HY000): Connections using insecure transport are prohibited while
--require_secure_transport=ON.

การโต้ตอบกับข้อกำหนดระดับบัญชี

MySQL ยังรองรับข้อกำหนด TLS สำหรับบัญชีเฉพาะ ทำได้โดยการรวมส่วนคำสั่ง REQUIRE SSL ในคำสั่ง CREATE หรือ ALTER USER ตัวเลือก --require_secure_transport ใหม่จะเพิ่มข้อกำหนดระดับบัญชีเหล่านี้โดยการบังคับใช้การขนส่งที่ปลอดภัยในระดับโลก