Pengerasan Server Linux adalah salah satu tugas penting bagi sysadmin ketika datang ke server produksi. Direkomendasikan bahwa seseorang harus mengaktifkan kebijakan login atau upaya ssh, artinya akun pengguna harus dikunci secara otomatis setelah n kali upaya login atau ssh yang gagal (atau salah).
Dalam distribusi Linux seperti CentOS, RHEL dan Fedora ini dicapai dengan menggunakan modul pam “pam_faillock ” dan untuk distribusi seperti Debian, ini dapat dicapai dengan menggunakan “pam_tally2 ” modul pam.
Dalam tutorial ini kita akan belajar cara mengunci akun pengguna setelah n upaya login gagal di CentOS , RHEL, Fedora, Debian &Ubuntu
Untuk CentOS / RHEL / Fedora
Tambahkan baris berikut dalam dua file /etc/pam.d/password-auth &/etc/pam.d/system-auth,
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600 auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=600 account required pam_faillock.so
Di mana,
- Audit –> itu akan mengaktifkan log audit untuk upaya login pengguna di file log aman
- Tolak=3 –> itu akan mengunci pengguna setelah 3 kali gagal login, Anda dapat mengubah nomor ini sesuai kebutuhan Anda
- unlock_time=600 –> artinya akun pengguna akan tetap terkunci selama 10 menit (600 detik), jika Anda ingin akun pengguna terkunci selamanya maka setel parameter ini sebagai “unlock_time=never“
Catatan :Untuk mengunci akun root juga setelah n login yang salah, tambahkan “even_deny_root ” parameter di baris bagian auth, contoh ditunjukkan di bawah ini
auth required pam_faillock.so preauth silent audit even_deny_root deny=3 unlock_time=600 auth [default=die] pam_faillock.so authfail audit even_deny_root deny=3 unlock_time=600
Seperti yang bisa kita lihat di atas, kita memiliki dua baris untuk bagian auth dan satu baris untuk bagian akun, urutan sangat penting saat menambahkan baris ini ke file. Contoh ditunjukkan di bawah ini di mana baris ini perlu ditambahkan,
[[email protected] ~]# vi /etc/pam.d/password-auth
[[email protected] ~]# vi /etc/pam.d/system-auth
Setelah membuat perubahan pada kedua file, restart layanan ssh menggunakan perintah systemctl di bawah ini,
[[email protected] ~]# systemctl restart sshd
Mari kita lakukan pengujian apakah akun pengguna akan terkunci setelah tiga kali gagal login atau tidak.
Mari kita asumsikan kita memiliki akun lokal dengan nama “pkumar“, kita akan mencoba ssh sistem Linux kita dengan akun ini dengan kata sandi yang salah,
$ ssh [email protected] [email protected]'s password: [email protected]'s password: [email protected]'s password: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
Sekarang lihat log aman menggunakan perintah ekor,
[[email protected] ~]# tail /var/log/secure
Log di atas mengonfirmasi bahwa akun telah dikunci setelah tiga kali upaya login yang salah, mari verifikasi dari perintah faillock juga,
[[email protected] ~]# faillock --user pkumar pkumar: When Type Source Valid 2019-12-15 01:50:39 RHOST 192.168.29.157 V 2019-12-15 01:50:43 RHOST 192.168.29.157 V 2019-12-15 01:50:47 RHOST 192.168.29.157 V [[email protected] ~]#
Untuk menghapus atau menghapus upaya login yang gagal ini, jalankan perintah faillock berikut,
[[email protected] ~]# faillock --user pkumar --reset [[email protected] ~]# faillock --user pkumar pkumar: When Type Source Valid [[email protected] ~]#
Mari beralih ke distribusi seperti Debian (Ubuntu, Linux Mint dan Debian)
Untuk Debian, Ubuntu dan Linux Mint
Tambahkan baris berikut pada file “/etc/pam.d/common-auth”,
auth required pam_tally2.so onerr=fail deny=3 unlock_time=600 audit
jika Anda ingin mengunci akun root juga setelah tiga kali login salah, tambahkan baris berikut ,
auth required pam_tally2.so onerr=fail deny=3 unlock_time=600 audit even_deny_root root_unlock_time=600
Dimana:
- Onerr=fail –> Jika terjadi kesalahan, masalah gagal
- deny=3 –> Setelah tiga kali gagal login, akun akan dikunci
- unlock_time=600 –> Artinya akun akan tetap terkunci selama 10 menit atau 600 detik
- audit –> Ini berarti mengaudit log di file audit.log
- even_deny_root –> Mengunci akun root setelah tiga kali salah login
- root_unlock_time=600 –> Akun root akan tetap terkunci selama 10 menit atau 600 detik setelah 3 kali gagal login
Mari tambahkan baris diskusi di atas dalam file “/etc/pam.d/common-auth ” menggunakan editor vi,
[email protected]:~$ sudo vi /etc/pam.d/common-auth
Setelah melakukan perubahan di atas, simpan dan keluar dari file dan mulai ulang layanan ssh menggunakan perintah berikut,
[email protected]:~$ sudo systemctl restart sshd
Mari kita uji apakah akun terkunci setelah 3 kali login ssh salah,
Mari kita asumsikan kita memiliki pengguna "devops" lokal, kita akan mencoba ssh sistem Ubuntu dengan kata sandi yang salah
$ ssh [email protected] [email protected]'s password: [email protected]'s password: d [email protected]'s password: Permission denied (publickey,password).
Sekarang lihat file log auth untuk melihat apakah upaya login yang salah ditangkap atau tidak,
[email protected]:~$ tail /var/log/auth.log
Log di atas mengonfirmasi bahwa akun telah dikunci, mari verifikasi dari perintah pam_tally2,
[email protected]:~$ sudo pam_tally2 -u devops Login Failures Latest failure From devops 6 12/15/19 07:45:02 192.168.29.157 [email protected]:~$
Untuk menghapus upaya login yang gagal ini, gunakan perintah pam_tally2 berikut,
[email protected]:~$ sudo pam_tally2 -u devops --reset Login Failures Latest failure From devops 6 12/15/19 07:45:02 192.168.29.157 [email protected]:~$ [email protected]:~$ sudo pam_tally2 -u devops Login Failures Latest failure From devops 0 [email protected]:~$
Demikian artikel ini, jangan ragu untuk memberikan masukan dan komentar.