Seringkali persyaratan dalam lingkungan yang aman adalah mengunci pengguna setelah mereka memasukkan kata sandi yang salah untuk beberapa kali tertentu. Ini membuat sistem melindungi lagi. Postingan menjelaskan cara mengunci akun setelah N upaya masuk yang salah menggunakan file pam.d . pam_faillock modul mendukung penguncian sementara akun pengguna jika beberapa upaya otentikasi gagal. Modul baru ini meningkatkan fungsionalitas dari modul pam_tally2 yang ada, karena juga memungkinkan penguncian sementara ketika upaya otentikasi dilakukan melalui screensaver.
Kunci pengguna setelah N login salah
1. Pertama, ambil cadangan file /etc/pam.d/password-auth dan /etc/pam.d/system-auth . Kemudian tambahkan garis yang disorot dengan warna merah ke kedua file.
auth required pam_env.so auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600 auth sufficient pam_unix.so nullok try_first_pass auth [default=die] pam_faillock.so authfail audit deny=3 auth sufficient pam_faillock.so authsucc audit deny=3 auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so account required pam_faillock.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_oddjob_mkhomedir.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so The above configuration file would lock out users after 3 unsuccessful login attempts and unlock them after 10 minutes.
Di sini,
tolak - memungkinkan kita untuk menyetel nilai N (jumlah percobaan) setelah itu akun pengguna harus dikunci.
unlock_time - adalah waktu di mana akun harus tetap terkunci [Opsional]
even_deny_root – memastikan bahwa aturan yang sama juga berlaku untuk pengguna root. Untuk mengecualikan pengguna root dari kebijakan ini, cukup hapus parameter dari baris [Opsional].
Catatan :Urutan baris dalam file penting dan setiap perubahan dalam urutan akan mengunci semua pengguna termasuk pengguna root saat Anda menggunakan opsi even_deny_root.
2. Untuk mengunci pengguna root, auth diperlukan pam_faillock.so baris harus ditambahkan di keduanya /etc/pam.d/system-auth dan /etc/pam.d/password-auth sebagai berikut :
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=1200 root_unlock_time=600
3. Untuk menonaktifkan pengguna agar tidak mengunci bahkan setelah beberapa kali login gagal, tambahkan baris di bawah ini tepat di atas pam_faillock di keduanya /etc/pam.d/system-auth dan /etc/pam.d/password-auth dan ganti user1, user2 dengan nama pengguna yang sebenarnya.
auth [success=1 default=ignore] pam_succeed_if.so user in user1:user2:user3
4. Mulai ulang layanan sshd.
# systemctl restart sshd
Setel ulang kata sandi pengguna yang terkunci
1. Untuk menampilkan catatan kegagalan otentikasi:
# faillock --user [username]
2. Untuk menyetel ulang catatan kegagalan otentikasi:
# faillock --user [username] --reset