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

เปิดใช้งาน TLS สำหรับ MySQL Clients

TLS (Transport Layer Security) หรือที่รู้จักว่า SSL ใช้เข้ารหัสการเชื่อมต่อระหว่าง Client และ Server

ทำไมต้องใช้ TLS

  • การเชื่อมต่อไม่เข้ารหัส -> ข้อมูลถูกดักฟังได้
  • MySQL ใช้ TLS (ไม่ใช้ SSL protocol เดิมเพราะอ่อนแอ)
  • TLS ตรวจจับการเปลี่ยนแปลง/ซ้ำ/สูญหายของข้อมูล
  • ใช้ X.509 สำหรับยืนยันตัวตน

ขั้นตอนเปิดใช้งาน TLS

  1. กำหนด ssl-cert และ ssl-key ในไฟล์ config ตอนเริ่มเซิร์ฟเวอร์
  2. สร้าง Certificate/Key ด้วย OpenSSL หรือ mysql_ssl_rsa_setup --datadir=./certs
  3. Reload TLS ด้วย ALTER INSTANCE RELOAD TLS (ไม่ต้องรีสตาร์ท)
  4. ตั้งค่า Client - พยายามเข้ารหัสโดยค่าเริ่มต้น
  5. ควบคุมพฤติกรรม Client ด้วย --ssl-mode:
REQUIREDVERIFY_CAVERIFY_IDENTITY
โหมดความหมาย
บังคับเข้ารหัส
ตรวจสอบ CA
ตรวจสอบ CA + Hostname

การตรวจสอบตัวตน (Authentication)

  • Server: ระบุ ssl-cert, ssl-key, ssl-ca
  • Client: ระบุ --ssl-cert, --ssl-key, --ssl-ca
  • Certificate ต้องลงนามโดย CA เดียวกัน
  • Server-to-client authentication เป็นทางเลือก (Optional)

ตรวจสอบสถานะการเชื่อมต่อ

mysql> \s
# ดูบรรทัด SSL: Cipher in use is ...