Jika di tutorial sebelumnya saya membahas bagaimana mengaktifkan fitur SSL, sekarang pada tutorial ini saya akan membahas bagaimana memanfaatkan fitur SSL untuk membangun komunikasi yang aman dari client ke server MySQL.
Pertama silakan masuk ke server MySQL yang sudah diaktifkan fitur SSL nya, melalui perintah:
mysql -u root -p -h alamat_ip
setelah masuk saya jalankan perintah \s maka hasilnya seperti berikut:
dari hasil di atas tampak bahwa komunikasi belum memanfaatkan SSL, kemudian saya jalankan juga perintah :
SHOW VARIABLES LIKE '%ssl%';
untuk melihat apakah fitur SSL sudah aktif atau belum, maka hasilnya sudah aktif karena terlihat seperti di bawah ini:
ternyata fitur SSL sudah aktif dan sertifikat berada di folder /etc/mysql/ssl/ , jika belum aktif anda bisa membaca tutorial saya sebelumnya bagaimana cara mengaktifkannya.
maka saya akan buat sertifikat baru untuk klien menggunakan sertifikat milik server, maka saya masuk ke folder /etc/mysql/ssl/ lalu menjalankan perintah:
openssl req -sha1 -newkey rsa:2048 -days 730 -nodes -keyout client-key.pem > client-req.pem
silakan pencet ENTER saja hingga selesai dan jangan diisi apa-apa, setelah itu saya export private key ke RSA private key dengan perintah:
openssl req -sha1 -newkey rsa:2048 -days 730 -nodes -keyout client-key.pem > client-req.pem
setelah itu saya bikin sertifikat menggunakan CA private key melalui perintah:
openssl x509 -sha1 -req -in client-req.pem -days 730 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > client-cert.pem
kemudian saya salin ketiga file yang tadi dibuat, ke klien yang terdiri dari:
- ca-cert.pem
- client-key.pem
- client-cert.pem
ke dalam folder klien yang terletak di /etc/mysql/ssl/ setelah itu saya masukkan ke dalam konfigurasi mysql client, karena saya menggunakan aplikasi mysql client di terminal pada Ubuntu Server, maka saya tambahkan ke dalam file:
/etc/mysql/my.cnf
konfigurasi berikut:
[client]
ssl-cert = /etc/mysql/ssl/client-cert.pem
ssl-key = /etc/mysql/ssl/client-key.pem
simpan kemudian saya mencoba melakukan komunikasi dengan server MySQL dari klien dengan perintah:
mysql -u root -p -h alamat_ip
setelah masuk, saya jalankan perintah \s, maka berikut hasilnya:
yak, dari hasil di atas terlihat bahwa klien sudah menggunakan komunikasi yang terenkripsi SSL ke server MySQL. Selamat mencoba ya
Comments