Skip to content

Manajemen Password User

  • Seperti yang kita ketahui, password termasuk salah satu bagian yang penting dalam keamanan kita sering mendengar tentang himbauan untuk mengganti password secara berkala.
  • Didalam system operasi Linux pun sama, kita dapat melakukan manajemen password seperti mengatur umur dan waktu kadaluarsa sebuah password, agar memaksa user untuk melakukan perubahan agar system tetap aman.
  • Password sendiri ternkripsi dan tersimpan di /etc/shadow

Command Mengatur Masa aktif Password

Untuk dapat mengatur masa aktif password sebuah user kita dapat menggunakan perintah chage ditambah dengan beberapa opsi. Berikut contohnya:

chage -m 0 -M 90 -W 7 -I 14 user03

  • -m 0 :-m (min days) Menentukan waktu minimum (dalam hari) antara perubahan kata sandi. 0 artinya pengguna bisa mengganti kata sandi kapan saja tanpa ada batasan waktu minimum. Jika misalnya -m 10 Artinya kata sandi baru bisa diubah dalam 10 hari
  • -M 90 : -M (Max days) Waktu maksimum (dalam hari) kata sandi bisa digunakan sebelum kadaluwarsa. Pada perintah ini masa kadaluwarsa setelah 90 hari.
  • -W 7 : -W (Warning) Mengatur pemberitahuan sebelum kata sandi kadaluwarsa. 7 berarti pengguna akan menerima peringatan 7 hari sebelum kata sandinya kadaluarsa.
  • -I 14 : -I (inactive) Menentukan jumlah hari setelah kata sandi kadaluwarsa sebelum akun di nonaktifkan. 14 artinya akun akan di-nonaktifkan 14 hari setelah kata sandi kadaluwarsa jika belum diperbarui
  • user03 : user yang akan diatur masa aktif kata sandinya.

Kita dapat memaksa user untuk mengganti kata sandi ketika mereka login.

chage -d 0 user03

Untuk melihat masa aktif sebuah user kita dapat menggunakan perintah:

root@debianMaster:~# chage -l user03
Last password change                                    : Oct 27, 2024
Password expires                                        : Jan 25, 2025
Password inactive                                       : Feb 08, 2025
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 90
Number of days of warning before password expires       : 7

Kita pun dapat mengunci sebuah akun ketika masa aktifnya sudah lewat.

usermod -L user03

Untuk membuka akun yang dikunci gunakan opsi -U

usermod -U user03

kita dapat juga melakukan penguncian dan juga mengatur tanggal kadaluarsa akun, tanggal kadaluarsa akun menggunakan format YYYY-MM-DD.

usermod -L -e 2019-10-05 user03
Untuk penjelasan lebih lanjut silahkan perhatikan studi kasus Berikut:

Studi_kasus

Situasi: Seorang admin sistem bernama Budi mengelola akses pengguna di sebuah perusahaan. Budi memiliki akun bernama user03 untuk seorang karyawan kontrak bernama Andi. Kontrak kerja Andi akan berakhir pada tanggal 5 Oktober 2019. Budi ingin memastikan bahwa akun Andi:

Akan dikunci agar tidak bisa diakses secara langsung, dan Secara otomatis kedaluwarsa setelah kontrak berakhir, sehingga tidak bisa digunakan lagi. Tindakan yang Diambil: Untuk mengatur ini, Budi menjalankan perintah berikut:

usermod -L -e 2019-10-05 user03
-L: Mengunci akun user03, jadi mulai saat itu, Andi tidak bisa login ke sistem.
-e 2019-10-05: Mengatur agar akun Andi akan kedaluwarsa pada 5 Oktober 2019.

Dengan demikian, akun Andi menjadi tidak aktif dan tidak bisa digunakan lagi mulai dari tanggal kedaluwarsa tersebut.

Apa yang Terjadi Setelah Tanggal Kedaluwarsa?
Pada 6 Oktober 2019 dan seterusnya:
1. Akun tetap terkunci karena perintah -L (lock) sudah diterapkan.
2. Akun kadaluwarsa sejak tanggal 5 Oktober 2019, artinya akun ini tidak bisa digunakan lagi untuk login atau diakses tanpa tindakan khusus dari admin.

Apa yang Harus Dilakukan Jika Kontrak Andi Diperpanjang?
Misalnya, jika kontrak Andi diperpanjang hingga 5 Desember 2019, Budi perlu:

  1. Mengubah tanggal kedaluwarsa akun agar sesuai dengan tanggal perpanjangan, dan Membuka kunci akun agar Andi bisa login kembali.
    Perintah yang dapat dijalankan adalah:
    usermod -U -e 2019-12-05 user03
    

Contoh Kasus Tambahan
Misalkan admin lupa bahwa akun user03 sudah tidak aktif, dan seseorang secara tidak sengaja membuka kunci akun tersebut tanpa mengubah tanggal kedaluwarsa. Dalam hal ini, karena akun sudah mencapai tanggal kadaluwarsa, meskipun kunci akun dibuka, pengguna tetap tidak akan bisa login sehingga akses tetap terjaga.

Kesimpulan
Meskipun akun sudah dikunci, menambahkan tanggal kedaluwarsa adalah langkah pencegahan tambahan untuk memastikan akun tersebut benar-benar dibatasi dan tidak aktif secara permanen di luar masa yang dibutuhkan.

Kita dapat melakukan konfigurasi masa aktif password secara default dengan mengedit file /etc/login.defs.
- Parameter PASS_MAX_DAYS mengatur masa aktif maksimal dari sebuah password.
- Parameter PASS_MIN_DAYS mengatur waktu minimum perubahan antar kata sandi. - Parameter PASS_WARN_AGE mengatur berapa hari sebelum kadaluarsa muncul peringatan.

Nologin Shell

Nologin shell ialah shell pengganti untuk user account yang tidak membutuhkan shell secara interactive.
Shell ini biasanya digunakan oleh user dari sebuah service untuk menjalankan perintah/command. Merupakan sebuah best practice ketika disable akun untuk bisa login ke system, ketika user tersebut tidak membutuhkannya.
Sebagai contoh, sebuah mail server membutuhkan sebuah account untuk menyimpan mail dan password untuk autentikasi. user tersebut tidak membutuhkan untuk login secara langsung ke dalam system. Hal ini penting juga untuk dilakukan untuk keamanan.

Agar user tidak dapat login secara langsung kedalam system, dapat dilakukan dengan cara mengubah login shell dari sebuah user menjadi /sbin/nologin.

root@debianMaster:~# usermod -s /sbin/nologin user03
root@debianMaster:~# su - user03
This account is currently not available.

Praktikum Mandiri

  1. Login ke system dan gunakan user yang telah dikonfigurasi sudo
  2. kunci useroperator1`
    useradmin@debianMaster:~$ sudo usermod -L operator1
    [sudo] password for useradmin:
    
  3. Tes login sebagai operator1.
    useradmin@debianMaster:~$ su - operator1
    Password:
    su: Authentication failure
    
    Login gagal karena user operator1 telah kita kunci.
  4. buka kunci user operator1
    sudo usermod -U operator1
    
  5. Tes login kembali sebagai operator1
    useradmin@debianMaster:~$ su - operator1
    Password:
    operator1@debianMaster:~$ exit
    
    Login berhasil karena user operator1 telah dibuka
  6. ubah agar kata sandi operator1 masa aktifnya ke 90 hari
    useradmin@debianMaster:~$ sudo chage -M 90 operator1
    
  7. Verifikasi apakah masa aktif kata sandi user operator1 telah berubah
    sudo chage -l operator1
    
    alt text
  8. Paksa user operator1 untuk mengubah kata sandi ketika login
    useradmin@debianMaster:~$ sudo chage -d 0 operator1
    
  9. Tes login kembali menggunakan user operator1 dan ubah kata sandi menjadi 12345678
    useradmin@debianMaster:~$ su - operator1
    Password:
    You are required to change your password immediately (administrator enforced).
    Changing password for operator1.
    Current password:
    New password:
    Retype new password:
    useradmin@debianMaster:~$ exit
    
    pada bagian current password masukkan password sebelumnya
    pada bagian new password masukkan password baru yaitu 12345678
  10. Ubah tanggal kadaluarsa user operator1 menjadi 180 hari dari tanggal hari ini.

    • Menentukan tanggal di 180 hari kedepan
      useradmin@debianMaster:~$ date -d "+180 days" +%F
      2025-05-04
      
    • Set tanggal kadaluarsa user operator1 useradmin@debianMaster:~$ sudo chage -E 2025-05-04 operator1
      - Verifikasi apakah tanggal kadaluarsa akun sudah berubah
      
      useradmin@debianMaster:~$ sudo chage -l operator1

      alt text
  11. Ubah masa aktif password semua user menjadi 180 hari. Hal ini dapat dilakukan dengan mengedit file /etc/login.defs

    useradmin@debianMaster:~$ sudo nano /etc/login.defs 
    
    alt text

Warning

Kerjakan dan buat dokumentasi pengerjaan dan upload di exam Mysmk