Tutorial singkat ini menjelaskan cara memaksa pengguna untuk menggunakan kata sandi yang kuat menggunakan Pluggable Authentication Modules (PAM) di Debian, Ubuntu dan sistem berbasis DEB lainnya.
Introduction
Kata sandi yang kuat harus memiliki setidaknya 14 karakter, termasuk setidaknya satu karakter khusus, satu karakter numerik , satu huruf besar dan satu huruf kecil. Lebih penting lagi, kata sandi tidak boleh mudah diprediksi dan tidak boleh didasarkan pada kata-kata kamus.
Beberapa pengguna non-teknisi, bagaimanapun, tidak akan mengerti atau tidak peduli dengan keamanan. Mereka akan tetap menggunakan kata sandi yang mudah diprediksi seperti pass123, welcome123, Welcome@1 dll., yang dapat dengan mudah dipecahkan dalam beberapa upaya.
Juga, beberapa pengguna tidak akan mengubah kata sandi untuk waktu yang lama. Sebagai administrator Sistem, tugas Anda adalah menerapkan kebijakan kata sandi yang kuat untuk melindungi sistem dari serangan berbasis kamus dan serangan brute force.
Panduan ini telah diuji secara resmi di Ubuntu 22.04 LTS dan edisi sebelumnya. Meskipun, instruksi yang diposting di sini sama untuk Debian, dan distribusi berbasis Debian dan Ubuntu lainnya seperti Linux Mint, Elementary OS, dan Pop!_OS dll.
Paksa Pengguna Untuk Menggunakan Kata Sandi yang Kuat Di Debian, Ubuntu, Linux Mint, Pop!_OS
The Pluggable Authentication Modules (PAM) diinstal secara default di sistem berbasis DEB. Namun, Anda perlu menginstal modul tambahan yang disebut libpam-cracklib. Untuk melakukannya, jalankan perintah berikut dari Terminal:
$ sudo apt install libpam-cracklib
Dalam sistem berbasis Debian, kebijakan sandi ditentukan di file /etc/pam.d/common-password. Sebelum membuat perubahan apa pun di dalamnya, cukup buat cadangan file ini.
$ sudo cp /etc/pam.d/common-password /etc/pam.d/common-password.bak
Sekarang, edit /etc/pam.d/common-password file:
$ sudo nano /etc/pam.d/common-password
Temukan baris berikut dan edit atau ubah seperti yang ditunjukkan di bawah ini. Jika baris berikut tidak ada, tambahkan saja.
password diperlukan pam_cracklib.so try_first_pass retry=3 minlen=12 lcredit=1 ucredit=1 dcredit=2 ocredit=1 difok=2 reject_username
Mari kita urai baris ini dan lihat apa setiap opsi akan melakukan.
try_first_pass retry=N - Jumlah maksimum percobaan ulang untuk mengubah kata sandi. N menunjukkan nomor. Default untuk parameter ini adalah 1.minlen=N - Ukuran minimum yang dapat diterima untuk kata sandi baru (ditambah satu jika kredit tidak dinonaktifkan yang merupakan default). Selain jumlah karakter dalam kata sandi baru, kredit (panjang +1) diberikan untuk setiap jenis karakter yang berbeda (lainnya, atas, bawah dan digit). Nilai defaultnya adalah 9.lcredit=N - Tentukan kredit maksimum untuk mengandung huruf kecil dalam kata sandi. Nilai default adalah 1.ucredit=N - Tentukan jumlah maksimum yang mengandung huruf besar dalam kata sandi. Nilai default adalah 1.dcredit=N - Tentukan kredit maksimum untuk mengandung angka dalam kata sandi. Nilai default adalah 1.ocredit=N - Tentukan kredit maksimum untuk mengandung karakter lain dalam kata sandi. Nilai default adalah 1.difok=N - Tentukan jumlah karakter yang harus berbeda dari password sebelumnya.reject_username - Batasi pengguna untuk menggunakan nama mereka sebagai password.
Semoga Anda mendapatkan ide dasar tentang parameter yang disebutkan di atas.
Seperti yang didefinisikan di atas file, pengguna sekarang harus menggunakan kata sandi dengan skor kompleksitas kata sandi 12. Satu 'kredit' akan diberikan untuk 1 huruf kecil, 1 kredit untuk 1 huruf besar, 1 kredit untuk setidaknya 2 digit, dan 1 kredit untuk 1 lainnya character.
Namun, Anda dapat menonaktifkan kredit dengan menetapkan nilai negatif, dan memaksa pengguna untuk menggunakan kombinasi karakter yang berbeda dengan panjang minimum.
Periksa contoh berikut:
password diperlukan pam_cracklib.so minlen=8 lcredit=-1 ucredit=-1 dcredit=-2 ocredit=-1 difok=2 reject_username
Seperti yang didefinisikan di atas, pengguna harus menggunakan skor kompleksitas sandi 8 karakter, termasuk 1 huruf kecil, 1 huruf besar, 2 digit, dan 1 karakter lainnya.
n bspHarap diperhatikan bahwa pembatasan ini akan diterapkan hanya untuk pengguna biasa, tetapi tidak untuk pengguna root. Pengguna root bebas menggunakan semua jenis kata sandi.
Periksa Dan Verifikasi Kompleksitas Kata Sandi
Setelah Anda menentukan kebijakan kata sandi, periksa apakah itu berfungsi atau tidak.
Mari kita tetapkan kata sandi sederhana yang tidak memenuhi kebijakan kata sandi dan lihat apa yang terjadi.
To ubah atau tetapkan kata sandi untuk pengguna yang saat ini masuk, jalankan:
$ passwd
Sample Output:
Mengubah kata sandi untuk ostechnix. Kata sandi saat ini: Kata sandi baru: PASSWORD BURUK: tidak cukup berisi karakter BERBEDA Kata sandi baru: PASSWORD BURUK: didasarkan pada kata kamus Kata sandi baru: Ketik ulang kata sandi baru: PASSWORD BURUK: terlalu sederhana Kata sandi baru: PASSWORD BURUK: terlalu simple Kata sandi baru: PASSWORD BURUK: terlalu sederhana passwd: Telah kehabisan jumlah maksimum percobaan ulang untuk layanan passwd: kata sandi tidak berubah
Seperti yang Anda lihat pada output di atas, pengguna tidak dapat mengatur kata sandi karena kata sandi yang diberikan tidak memenuhi persyaratan .
Sekarang coba atur kata sandi yang memenuhi persyaratan kebijakan kata sandi yang sebenarnya (yaitu 12 karakter termasuk setidaknya 1 huruf kecil, 1 huruf besar, 2 digit, 1 karakter lain).
Seperti yang Anda lihat di tangkapan layar di atas, kata sandi yang aman telah setel ke pengguna "ostechnix".
Itu saja untuk saat ini. Kami telah berhasil menerapkan kebijakan kata sandi menggunakan PAM. Untuk detail lebih lanjut, periksa halaman manual.
$ man pam_cracklib
Jangan lupa untuk memeriksa panduan terperinci kami tentang menerapkan kebijakan kata sandi di Linux.
Bagaimana cara mengatur kebijakan kata sandi di Linux
Ingin tahu cara membuat kata sandi yang kuat? Periksa artikel berikut.
Cara Berbeda Untuk Menghasilkan Kata Sandi yang Kuat Di Linux