ApsaraDB RDS for MySQL menyediakan plugin validate_password untuk membantu Anda membuat kebijakan kata sandi kustom dan meningkatkan keamanan database.
Fitur
ApsaraDB RDS for MySQL mendukung plugin validate_password, yang memungkinkan Anda menentukan persyaratan kompleksitas kata sandi detail halus untuk akun database. Anda dapat mengontrol aturan berikut:
-
Apakah kata sandi boleh sama dengan nama akun database
-
Panjang minimum kata sandi
-
Jumlah minimum huruf kapital dan huruf kecil
-
Jumlah minimum angka
-
Jumlah minimum karakter khusus
-
Kebijakan validasi kekuatan kata sandi
Prasyarat
Instans ApsaraDB RDS for MySQL harus menjalankan MySQL 5.7 atau 8.0.
Catatan penggunaan
-
Pemasangan plugin
validate_passwordpada node primary tidak disinkronkan secara otomatis ke node secondaryPada instans dengan arsitektur primary/secondary, seperti instans Edisi Ketersediaan Tinggi atau Edisi Kluster, Anda harus memasang secara manual plugin validate_password pada kedua node primary dan secondary. Anda dapat melakukan failover manual untuk login ke node secondary dan memasang plugin tersebut. Jika Anda hanya memasang plugin pada node primary, node primary baru (sebelumnya node secondary) tidak akan memiliki plugin tersebut setelah failover, sehingga kebijakan kata sandi tidak akan berlaku.
CatatanSetelah plugin terpasang, parameter kebijakan kata sandi yang dikonfigurasi di Konsol ApsaraDB RDS akan disinkronkan secara otomatis ke node secondary. Anda tidak perlu mengaturnya lagi.
-
Batasan parameter inti dan perilaku sistem
Nilai
lengthharus lebih besar dari atau sama dengan hasil darinumber_count + (2 * mixed_case_count) + special_char_count. Jika perubahan nilai apa pun melanggar aturan ini, ApsaraDB RDS secara otomatis menyesuaikan nilailengthagar sama dengan hasil rumus ini. -
Aturan yang diberlakukan oleh ApsaraDB RDS
Tanpa memperhatikan pengaturan kebijakan kustom Anda, saat membuat atau mengubah kata sandi menggunakan Konsol ApsaraDB RDS atau memanggil operasi API (CreateAccount atau ResetAccountPassword), kata sandi harus selalu memenuhi persyaratan berikut:
-
Kata sandi harus terdiri dari 8 hingga 32 karakter.
-
Kata sandi harus mengandung karakter dari minimal tiga jenis berikut: huruf kapital, huruf kecil, angka, dan karakter khusus (
!@#$%^&*()_+-=).
-
-
Mengabaikan panjang minimum wajib 8 karakter (tidak disarankan)
Anda tidak dapat mengabaikan pemeriksaan wajib di Konsol ApsaraDB RDS dengan mengubah nilai parameter. Misalnya, jika Anda mengatur panjang minimum kata sandi menjadi 5, Anda tetap harus memasukkan kata sandi minimal 8 karakter saat membuat atau mengubah kata sandi.
Untuk menetapkan kata sandi dengan kurang dari 8 karakter, Anda dapat menggunakan perintah
SET PASSWORDuntuk melewati batasan validasi wajib dari Konsol ApsaraDB RDS dan langsung menetapkan kata sandi sepanjang 5 karakter. Metode ini hanya untuk lingkungan pengujian atau skenario khusus, dan tidak disarankan untuk lingkungan produksi.
Penagihan
Fitur kebijakan kata sandi kustom tidak dikenai biaya.
Langkah 1: Pasang plugin validate_password
-
Gunakan akun istimewa untuk menghubungkan ke instans ApsaraDB RDS for MySQL.
-
Jalankan perintah SQL berikut untuk memasang plugin
validate_password.INSTALL PLUGIN validate_password SONAME 'validate_password.so'; -
Jalankan perintah SQL berikut untuk memverifikasi bahwa plugin telah terpasang.
SHOW GLOBAL VARIABLES LIKE 'validate_password%';Output yang mirip dengan berikut menunjukkan bahwa plugin berhasil terpasang.
Variable_name Value validate_password_dictionary_file validate_password_length 8 validate_password_mixed_case_count 1 validate_password_number_count 1 validate_password_policy MEDIUM validate_password_special_char_count 1
Langkah 2: Ubah parameter kebijakan kata sandi
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instans.
-
Di panel navigasi kiri, klik Parameters.
-
Cari dan ubah parameter yang diawali dengan
loose_validate_password. Untuk informasi selengkapnya, lihat Ubah parameter instans ApsaraDB RDS for MySQL.Catatan-
Sebelum mengubah parameter, pastikan Anda telah memasang plugin validate_password. Jika tidak, perubahan Anda tidak akan berlaku.
-
Sebelum mengubah parameter, tinjau batasan parameter inti yang dijelaskan di bagian Catatan penggunaan. Untuk informasi selengkapnya tentang kebijakan kata sandi, lihat dokumentasi resmi MySQL.
Parameter
Versi DB
Deskripsi
Contoh (MySQL 5.7)
loose_validate_password_check_user_name
5.7
Menentukan apakah kata sandi boleh sama dengan nama akun. Nilai yang valid:
-
ON (default): Kata sandi boleh sama dengan nama akun.
-
OFF: Kata sandi tidak boleh sama dengan nama akun.
OFF: Melarang kata sandi sama dengan nama akun.
loose_validate_password_policy
8.0/5.7
Menentukan kebijakan kekuatan kata sandi. Nilai yang valid:
-
0 (LOW): Hanya memeriksa panjang kata sandi.
-
1 (MEDIUM, nilai default): Memeriksa panjang kata sandi, jumlah angka, huruf kapital dan kecil, serta karakter khusus.
-
2 (STRONG): Memeriksa panjang kata sandi, jumlah angka, huruf kapital dan kecil, karakter khusus, serta kecocokan dalam file kamus.
CatatanKarena ApsaraDB RDS tidak mendukung file kamus kustom, tingkat kebijakan ini setara dengan MEDIUM.
1: Memeriksa panjang kata sandi, serta jumlah angka, huruf kapital dan kecil, dan karakter khusus.
loose_validate_password_length
8.0/5.7
Panjang minimum kata sandi.
-
MySQL 5.7: Nilai yang valid: 0 hingga 256. Nilai default adalah 8.
-
MySQL 8.0: Nilai yang valid: 1 hingga 12. Nilai default adalah 8.
10: Menetapkan panjang minimum kata sandi menjadi 10 karakter (memenuhi persyaratan: 10 >= 2 + (2 * 2) + 1 = 7).
loose_validate_password_number_count
5.7
Jumlah minimum angka dalam kata sandi.
Nilai yang valid: 0 hingga 256. Nilai default adalah 1.
2: Kata sandi harus mengandung minimal 2 angka.
loose_validate_password_mixed_case_count
5.7
Menentukan jumlah minimum huruf kapital dan huruf kecil yang diperlukan dalam kata sandi. Misalnya, nilai 1 mengharuskan minimal satu huruf kapital dan satu huruf kecil.
Nilai yang valid: 0 hingga 256. Nilai default adalah 1.
2: Mengharuskan kata sandi mengandung minimal 2 huruf kapital dan 2 huruf kecil.
loose_validate_password_special_char_count
5.7
Jumlah minimum karakter khusus dalam kata sandi.
Nilai yang valid: 0 hingga 256. Nilai default adalah 1.
1: Kata sandi harus mengandung minimal 1 karakter khusus.
-
Topik terkait
-
Anda dapat menetapkan kata sandi untuk akun database menggunakan Konsol ApsaraDB RDS (Buat akun database atau Atur ulang kata sandi akun database) atau memanggil operasi API (CreateAccount atau ResetAccountPassword).
-
Untuk membatasi izin akun database, lihat Ubah izin akun, Izinkan akun mengakses database dari alamat IP tertentu, dan Izinkan akun hanya mengakses tabel, view, atau kolom tertentu.