Mengenkripsi dengan SSL/TLS koneksi klien dengan instans basis data MariaDB - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengenkripsi dengan SSL/TLS koneksi klien dengan instans basis data MariaDB

Lapisan Soket Aman (Secure Sockets Layer, SSL) adalah protokol standar industri untuk mengamankan koneksi jaringan antara klien dan server. Setelah SSL versi 3.0, namanya diubah menjadi Keamanan Lapisan Pengangkutan (TLS). Amazon RDS mendukung enkripsi SSL/TLS untuk instans basis data MariaDB. Dengan SSL/TLS, Anda dapat mengenkripsi koneksi antara klien aplikasi dan instans basis data MariaDB. Dukungan SSL/TLS tersedia di semua. Wilayah AWS

Menggunakan SSL/TLS dengan instans basis data MariaDB

Amazon RDS membuat sertifikat SSL/TLS dan menginstal sertifikat tersebut pada instans DB ketika Amazon RDS menyediakan instans. Sertifikat ini ditandatangani oleh otoritas sertifikat. Sertifikat SSL/TLS mencakup titik akhir instans DB sebagai Nama Umum (Common Name, CN) untuk sertifikat SSL/TLS guna menghalangi serangan spoofing.

Sertifikat SSL/TLS yang dibuat oleh Amazon RDS adalah entitas root tepercaya dan semestinya berfungsi dalam sebagian besar kasus, tetapi mungkin gagal jika aplikasi Anda tidak menerima rantai sertifikat. Jika aplikasi Anda tidak menerima rantai sertifikat, Anda mungkin perlu menggunakan sertifikat perantara untuk terhubung dengan Wilayah AWS Anda. Misalnya, Anda harus menggunakan sertifikat perantara untuk terhubung ke AWS GovCloud (US) Wilayah menggunakan SSL/TLS.

Untuk informasi tentang mengunduh sertifikat, lihat . Lihat informasi yang lebih lengkap tentang cara menggunakan TLS/SSL dengan MySQL di Memperbarui aplikasi untuk terhubung ke instans MariaDB menggunakan sertifikat SSL/TLS baru.

Amazon RDS for MariaDB mendukung Transport Layer Security (TLS) versi 1.3, 1.2, 1.1, dan 1.0. Dukungan TLS tergantung pada versi minor MariaDB. Tabel berikut menunjukkan dukungan TLS untuk MariaDB versi minor.

Versi TLS MariaDB 10.11 MariaDB 10.6 MariaDB 10.5 MariaDB 10.4

TLS 1.3

Semua versi minor

Semua versi minor

Semua versi minor

Semua versi minor

TLS 1.2

Semua versi minor

Semua versi minor

Semua versi minor

Semua versi minor

TLS 1.1

10.11.6 dan lebih rendah

10.6.16 dan lebih rendah

10.5.23 dan lebih rendah

10.4.32 dan lebih rendah

TLS 1.0

10.11.6 dan lebih rendah

10.6.16 dan lebih rendah

10.5.23 dan lebih rendah

10.4.32 dan lebih rendah

Anda dapat meminta koneksi SSL/TLS untuk akun pengguna tertentu. Misalnya, Anda dapat menggunakan salah satu pernyataan berikut, sesuai dengan versi MariaDB, untuk mewajibkan koneksi SSL/TLS pada akun pengguna encrypted_user.

Gunakan pernyataan berikut.

ALTER USER 'encrypted_user'@'%' REQUIRE SSL;

Lihat informasi yang lebih lengkap tentang koneksi SSL/TLS dengan MariaDB di Securing Connections for Client and Server dalam dokumentasi MariaDB.

Mewajibkan SSL/TLS untuk semua koneksi dengan instans basis data MariaDB

Gunakan parameter require_secure_transport untuk mewajibkan bahwa semua koneksi pengguna dengan instans basis data MariaDB Anda menggunakan SSL/TLS. Secara default, parameter require_secure_transport diatur ke OFF. Anda dapat mengatur parameter require_secure_transport ke ON guna mewajibkan SSL/TLS untuk koneksi dengan instans basis data Anda.

catatan

Parameter require_secure_transport hanya didukung untuk MariaDB versi 10.5 dan lebih tinggi.

Anda dapat mengatur nilai parameter require_secure_transport dengan memperbarui grup parameter basis data untuk instans basis data Anda. Anda tidak perlu mem-boot ulang instans DB agar perubahan berlaku.

Saat parameter require_secure_transport diatur ke ON untuk suatu instans DB, klien basis data dapat terhubung dengannya jika dapat membentuk koneksi terenkripsi. Jika tidak, pesan kesalahan yang serupa dengan yang berikut ini ditampilkan kepada klien:

ERROR 1045 (28000): Access denied for user 'USER'@'localhost' (using password: YES | NO)

Lihat informasi tentang pengaturan parameter di Memodifikasi parameter dalam grup parameter DB di Amazon RDS Aurora.

Lihat informasi yang lebih lengkap tentang parameter require_secure_transport dalam dokumentasi MariaDB.

Menghubungkan dari klien baris perintah MySQL dengan SSL/TLS (terenkripsi)

Parameter-parameter program klien mysql sedikit berbeda jika Anda menggunakan MySQL versi 5.7, MySQL versi 8.0, atau versi MariaDB.

Untuk mengetahui versi yang Anda miliki, jalankan perintah mysql dengan opsi --version. Dalam contoh berikut, output menunjukkan bahwa program klien berasal dari MariaDB.

$ mysql --version mysql Ver 15.1 Distrib 10.5.15-MariaDB, for osx10.15 (x86_64) using readline 5.1

Sebagian besar distribusi Linux, seperti Amazon Linux, CentOS, SUSE, dan Debian telah mengganti MySQL dengan MariaDB, dan versi mysql di dalamnya adalah dari MariaDB.

Untuk terhubung dengan instans DB Anda menggunakan SSL/TLS, ikuti langkah-langkah ini:

Untuk terhubung dengan instans DB dengan SSL/TLS menggunakan klien baris perintah MySQL
  1. Unduh sertifikat root yang berfungsi untuk semua Wilayah AWS.

    Untuk informasi tentang mengunduh sertifikat, lihat .

  2. Gunakan klien baris perintah MySQL untuk terhubung dengan instans DB melalui enkripsi SSL/TLS. Untuk parameter -h, ganti nama (titik akhir) DNS untuk instans DB Anda. Untuk parameter --ssl-ca, ganti nama file sertifikat SSL/TLS. Untuk parameter -P, ganti port untuk instans DB Anda. Untuk parameter -u, ganti nama pengguna dari pengguna basis data yang valid, seperti pengguna master. Masukkan kata sandi pengguna master ketika diminta.

    Contoh berikut menunjukkan cara meluncurkan klien dengan menggunakan parameter --ssl-ca yang memakai klien MariaDB:

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl -P 3306 -u myadmin -p

    Untuk mewajibkan bahwa koneksi SSL/TLS memeriksa titik akhir instans basis data terhadap titik akhir dalam sertifikat SSL/TLS, masukkan perintah berikut:

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-verify-server-cert -P 3306 -u myadmin -p

    Contoh berikut menunjukkan cara meluncurkan klien dengan menggunakan parameter --ssl-ca yang memakai klien MySQL 5.7 atau lebih tinggi:

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-mode=REQUIRED -P 3306 -u myadmin -p
  3. Masukkan kata sandi pengguna master ketika diminta.

Anda semestinya melihat output yang serupa berikut.

Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.6.10-MariaDB-log Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>