Rumah >pangkalan data >tutorial mysql >Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?
Untuk mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL, ikuti langkah -langkah ini:
server-cert.pem
), kunci pelayan ( server-key.pem
), sijil klien ( client-cert.pem
), dan kunci klien ( client-key.pem
). Fail -fail ini harus diletakkan di direktori selamat pada pelayan MySQL anda. Konfigurasikan Server MySQL : Edit fail konfigurasi MySQL ( my.cnf
atau my.ini
bergantung pada sistem operasi anda). Tambah atau ubah suai baris berikut di bawah bahagian [mysqld]
:
<code>[mysqld] ssl-ca=/path/to/ca-cert.pem ssl-cert=/path/to/server-cert.pem ssl-key=/path/to/server-key.pem</code>
Menggantikan /path/to/
dengan laluan sebenar di mana sijil anda disimpan.
Sahkan Konfigurasi SSL Server : Sambungkan ke MySQL dan jalankan arahan berikut untuk mengesahkan bahawa pelayan menggunakan SSL:
<code>SHOW VARIABLES LIKE 'have_ssl';</code>
Output harus menunjukkan YES
.
Konfigurasikan klien MySQL : Untuk memastikan bahawa klien juga menggunakan SSL untuk sambungan, anda boleh menentukan pilihan SSL dalam fail konfigurasi klien atau semasa runtime. Sebagai contoh, anda boleh menambah baris berikut ke bahagian [client]
fail konfigurasi klien MySQL anda ( my.cnf
atau my.ini
):
<code>[client] ssl-ca=/path/to/ca-cert.pem ssl-cert=/path/to/client-cert.pem ssl-key=/path/to/client-key.pem</code>
Ujian SSL Sambungan : Sambung ke Server MySQL menggunakan klien, menyatakan pilihan SSL jika belum dikonfigurasi dalam fail konfigurasi klien. Gunakan arahan:
<code>mysql -h hostname -u username -p --ssl-ca=/path/to/ca-cert.pem --ssl-cert=/path/to/client-cert.pem --ssl-key=/path/to/client-key.pem</code>
Setelah disambungkan, anda boleh mengesahkan status SSL dengan menjalankan:
<code>STATUS;</code>
Output harus menunjukkan SSL: Cipher in use
.
Untuk menjana dan memasang sijil SSL untuk MySQL, ikuti langkah -langkah ini:
Menjana Sijil Pihak Berkuasa Sijil (CA) : Gunakan OpenSSL untuk membuat sijil dan kunci CA. Jalankan arahan berikut:
<code>openssl genrsa 2048 > ca-key.pem openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert.pem</code>
Anda akan diminta memasukkan butiran mengenai CA, seperti nama negara dan nama organisasi.
Menjana sijil pelayan dan kunci : Buat permintaan sijil pelayan dan tandatangannya dengan CA:
<code>openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem openssl rsa -in server-key.pem -out server-key.pem openssl x509 -req -in server-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem</code>
Apabila menjana permintaan pelayan, pastikan Common Name
sepadan dengan nama hos pelayan MySQL anda.
Menjana sijil dan kunci pelanggan : Begitu juga, buat permintaan sijil klien dan tandatangannya dengan CA:
<code>openssl req -newkey rsa:2048 -days 3600 -nodes -keyout client-key.pem -out client-req.pem openssl rsa -in client-key.pem -out client-key.pem openssl x509 -req -in client-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 02 -out client-cert.pem</code>
/etc/mysql/ssl/
.my.cnf
atau my.ini
) untuk menunjuk kepada fail sijil, seperti yang diterangkan dalam bahagian sebelumnya.Ya, anda boleh menggunakan sijil ditandatangani sendiri untuk penyulitan MySQL SSL/TLS. Walau bagaimanapun, terdapat beberapa implikasi keselamatan untuk dipertimbangkan:
Untuk mengesahkan bahawa penyulitan SSL/TLS berfungsi dengan betul untuk sambungan MySQL anda, ikuti langkah -langkah ini:
Semak Konfigurasi Pelayan MySQL : Sambungkan ke pelayan MySQL dan jalankan:
<code>SHOW VARIABLES LIKE 'have_ssl';</code>
Output harus menunjukkan YES
, menunjukkan bahawa SSL diaktifkan.
Sahkan Status Sambungan SSL : Setelah disambungkan ke pelayan MySQL, jalankan:
<code>STATUS;</code>
Output harus termasuk medan SSL
yang menunjukkan cipher yang digunakan, contohnya, SSL: Cipher in use is TLS_AES_256_GCM_SHA384
.
Gunakan arahan SHOW STATUS
: Jalankan arahan berikut untuk mendapatkan maklumat yang lebih terperinci mengenai sambungan SSL:
<code>SHOW STATUS LIKE 'Ssl_cipher';</code>
Ini harus menunjukkan cipher yang digunakan untuk sambungan semasa.
Semak Sambungan Pelanggan dengan Pilihan SSL : Sambungkan ke Server MySQL menggunakan klien dengan pilihan SSL yang ditentukan:
<code>mysql -h hostname -u username -p --ssl-ca=/path/to/ca-cert.pem --ssl-cert=/path/to/client-cert.pem --ssl-key=/path/to/client-key.pem</code>
Sambungan harus berjaya, dan anda boleh mengesahkan status SSL menggunakan arahan STATUS
.
Pantau Metrik Sambungan SSL : Anda boleh memantau metrik sambungan SSL dengan menjalankan:
<code>SHOW GLOBAL STATUS LIKE 'Ssl%';</code>
Perintah ini menyediakan pelbagai pembolehubah status yang berkaitan dengan SSL, seperti Ssl_accepts
, Ssl_accept_renegotiates
, dan Ssl_client_connects
, yang dapat membantu anda menilai penggunaan SSL keseluruhan pada pelayan anda.
Dengan mengikuti langkah -langkah ini, anda dapat memastikan bahawa penyulitan SSL/TLS dikonfigurasi dengan betul dan berfungsi untuk sambungan MySQL anda.
Atas ialah kandungan terperinci Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!