Score:0

การสร้าง SSL ด้วย MariaDB10 บน Synology

ธง cn

ใครช่วยกรุณาชี้ให้ฉันเห็นวิธีแก้ปัญหาสำหรับการเปิดใช้งานการเชื่อมต่อ SSL สำหรับ MariaDB10 บนอุปกรณ์ Synology ได้ไหม

อุปกรณ์เป็น Synology NAS ที่ใช้ DSM 7.0.1 (อัปเดต 2).

ฉันมี:

  1. สร้างใบรับรองที่แนะนำ (ca-key.pem / server-key.pem / server-cert.pem) ผ่าน:
openssl genrsa -ออก ca-key.pem 2048
    
openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem
    
openssl req -newkey rsa:2048 -days 365 -nodes -keyout เซิร์ฟเวอร์-key.pem
    -ออกเซิร์ฟเวอร์-req.pem
    
opensl rsa -in server-key.pem -out server-key.pem
    
opensl x509 -req -in server-req.pem -days 365 -CA ca-cert.pem -CAkey ca-key.pem set_serial 01 -out server-cert.pem
  1. วางใบรับรองในไดเร็กทอรี '/etc/mariadb/'

  2. แก้ไขไฟล์ my.cnf (เช่น '/var/packages/MariaDB10/etc/my.cnf') เพื่อรวมสิ่งต่อไปนี้:

[มายเอสคิวลด์]
เอสเอสแอล
ssl-capath=/etc/mariadb/
ssl-ca=ca-cert.pem
ssl-cert=เซิร์ฟเวอร์-cert.pem
ssl-key=เซิร์ฟเวอร์-key.pem
#require_secure_transport=ON #ดูหมายเหตุด้านล่างเกี่ยวกับข้อผิดพลาดของ Synology

หมายเหตุ: การใช้ need_secure_transport=เปิด สร้างข้อผิดพลาดใน Synology Package center ที่ระบุว่า 'Failed to start "MariaDB10"...'

  1. รีสตาร์ท MariaDB

  2. MariaDB10 ให้การตอบสนองต่อไปนี้สำหรับตัวแปรแสดงเช่น '%ssl%'

have_openssl ใช่
have_ssl ปิดใช้งาน
ssl_ca ca-cert.pem
ssl_capath /etc/mariadb/
ssl_cert เซิร์ฟเวอร์-cert.pem
ssl_key เซิร์ฟเวอร์-key.pem
cn flag
หมายเหตุเพิ่มเติม: เพื่อยืนยันการเชื่อมต่อระยะไกล ผู้ใช้สองคนถูกสร้างขึ้น คนหนึ่งไม่ต้องการ SSL และอีกคนหนึ่งต้องการ สามารถสร้างการเชื่อมต่อระยะไกลกับผู้ใช้ที่ไม่ต้องการการเชื่อมต่อ SSL ผู้ใช้ที่ต้องการการเชื่อมต่อ SSL จะได้รับข้อความแสดงข้อผิดพลาด **"ข้อผิดพลาดในการเชื่อมต่อ SSL: จำเป็นต้องใช้ SSL แต่เซิร์ฟเวอร์ไม่รองรับ"**
markusjm avatar
cn flag
คุณอาจต้องการลองใช้เส้นทางแบบสัมบูรณ์ไปยังใบรับรอง เช่น `ssl_key=/etc/mariadb/server-key.pem` เพื่อขจัดปัญหาที่เกิดขึ้น นอกจากนี้ คุณสามารถระบุข้อผิดพลาดจริงที่ทำให้ MariaDB ไม่สามารถเริ่มต้นได้หรือไม่ คุณจะพบได้ในไฟล์ MariaDB ได้รับการกำหนดค่าให้เข้าสู่ระบบ
Score:0
ธง us

เป็นไปได้ว่า MariaDB สำหรับ Synology ยังไม่ได้รับการคอมไพล์ด้วยการสนับสนุน SSL และนั่นคือสาเหตุที่มันใช้งานไม่ได้

ฉันจะไม่ยุ่งกับ MariaDB SSL เป็นการดีกว่าที่จะใช้ SSH Tunneling เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ SQL จากระยะไกล

ก่อนอื่นให้เปิดอุโมงค์ด้วย:

ssh -L 3306:127.0.0.1:3306 [email protected]

แล้วเชื่อมต่อกับมัน:

mysql -h localhost ...
markusjm avatar
cn flag
ตัวแปร [have_ssl](https://mariadb.com/kb/en/ssltls-system-variables/#have_ssl)แสดงว่ามีการคอมไพล์ด้วย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา