Apakah port MySQL 3306 terenkripsi, dan jika tidak, bagaimana saya bisa mengenkripsi itu?

26

Saya bekerja melalui audit keamanan untuk sistem di tempat kerja saya dan salah satu persyaratannya adalah untuk mengenkripsi semua lalu lintas melalui jaringan publik / tidak dilindungi. Karena kita mengakses database MySQL (melalui port 3306) pada salah satu server eksternal kami dari jaringan kantor kami, koneksi ke MySQL perlu dienkripsi.

Apakah sudah dienkripsi, dan jika tidak, bagaimana saya bisa mengenkripsi itu?

Saya menggunakan alat dan skrip yang tidak dapat menggunakan SSH-port-forward atau VPN yang mewah ... apakah masih mungkin?

Stephen RC
sumber
1
Hanya untuk orang-orang yang menabrak utas ini Doc sekarang (2018) berada di tautan lain; dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html
CeD

Jawaban:

14

Tidak, secara default traffic mysql tidak dienkripsi. Menyiapkan MySQL untuk bekerja dengan OpenSSL pada basis per koneksi adalah pilihan terbaik Anda. Sebagian besar binari dibangun dengan dukungan SSL hari ini, tetapi cukup mudah untuk memeriksa apakah versi Anda akan mendukungnya. Dari dokumentasi:

Untuk memeriksa apakah biner server dikompilasi dengan dukungan SSL, aktifkan dengan opsi --ssl. Kesalahan akan terjadi jika server tidak mendukung SSL:

shell> mysqld --ssl --help
060525 14:18:52 [ERROR] mysqld: unknown option '--ssl'
nedm
sumber
Hyperlink sudah mati.
JellicleCat
Tautan untuk v5.6 : dev.mysql.com/doc/refman/5.6/en/ssl-connections.html (juga diperbarui di atas)
smhg
6

Secara default, MySQL tidak mengenkripsi komunikasi klien / servernya:

Anda dapat mengatur MySQL untuk menerima koneksi melalui SSL dan meminta pengguna untuk menggunakan SSL. Berikut panduan untuk pengaturan SSL:

sreimer
sumber
tautannya