Password Policy pada Redhat Directory Server

Redhat Directory Server support password policy, pada kesempatan ini saya akan jelaskan bagaimana membuat password policy pada level subtree/ lokal.

Untuk subtree (contoh, ou=Accounts,dc=kuragurun,dc=com), masukan beberapa entri berikut:
  • Aktif kan nssldap-pwpolicy-local = on, agar server dapat mengenali password policy pada subtree / bukan password policy global.
dn: cn=config
changetype: modify
replace: nsslapd-pwpolicy-local: on
nsslapd-pwpolicy-local: off

  • Entri Container (nsPwPolicyContainer) pada level subtree untuk menyimpan macam-macam entri password-policy untuk subtree dan directory di bawah nya:
#nsPwPolicyContainer
dn: cn=nsPwPolicyContainer,ou=Accounts,dc=kuragurun,dc=com
objectClass: nsContainer
objectClass: top
cn: nsPwPolicyContainer

  • Password policy entri, fungsi entri ini untuk menyimpan berbagai attribute password policy yang akan digunakan oleh subtree dan directory di bawah nya, 
berikut ini adalah contoh policy yang saya implementasikan di server kantor, anda bisa merujuk ke dokumentasi redhat untuk menambah policy dengan menggunakan attribut yang lain sesuai kebutuhan dan policy yang akan anda buat.

#nsPwPolicyEntry
dn:      cn="cn=nsPwPolicyEntry,ou=Accounts,dc=kuragurun,dc=com",cn=nsPwPolicyContainer,ou=Accounts,dc=kuragurun,dc=com
objectClass: extensibleObject
objectClass: ldapsubentry
objectClass: passwordpolicy
objectClass: top
cn: "cn=nsPwPolicyEntry,ou=Accounts,dc=kuragurun,dc=com"
passwordChange: on
passwordCheckSyntax: on
passwordExp: on
passwordGraceLimit: 0
passwordInHistory: 5
passwordLockout: on
passwordLockoutDuration: 1800
passwordMaxAge: 10368000
passwordMaxFailure: 3
passwordMinAge: 0
passwordMinDigits: 1
passwordMinLength: 8
passwordMinUppers: 1
passwordMinSpecials: 1
passwordMustChange: on
passwordResetFailureCount: 900
passwordStorageScheme: ssha
passwordUnlock: on
passwordWarning: 604800
passwordHistory:: b24=

Attribute Keterangan
passwordChange
bila on;User di izinkan untuk bisa mengganti password nya
passwordCheckSyntax
bila on;Server DS akan men cek password syantax sebelum di simpan kedalam database
passwordExp
bila on;User password akan kadaluarsa setelah diberikan interval waktu oleh attribute passwordMaxAge
passwordGraceLimit
0 (int); User tidak di izin kan login ketika password nya telah kadaluarsa
passwordInHistory
5 (int); Server akan menyimpan password di dalam history sebanyak 5 kali, untuk mencegah user menggunakan password yang telah dipakai sebelum nya,lihat passwordMaxAge
passwordLockout
bila on; Bila user salah memasukkan password,Server dapat mengunci password/account, lihat passwordMaxFailure,passwordLockoutDuration
passwordLockoutDuration
1800 (dtk); Bila user gagal/salah memasukkan password makan account nya akan terkunci selama 30 menit berhubungan dengan passwordMaxFailure,passwordMaxFailure
passwordMaxAge
10368000 (dtk); Usia password aktif hingga 120 hari (3 Bulan), setelah 3 bulan password akan kadaluarsa
passwordMaxFailure
3 (int); Maksimal kesalahan yang di izinkan oleh Server, sebanyak 3 kali setelah itu user akan terkunci lihat passwordLockoutDuration.
passwordMinAge
0 (dtk); User bisa langsung mengganti password nya tanpa harus menunggu waktu yang telah ditentukan
passwordMinDigits
1 (int); Password syntax harus memiliki 1 angka (12345...dst )
passwordMinLength
8 (int); Minimal panjang password 8 karakter
passwordMinUppers
1 (int); Password syntax harus memiliki 1 huruf besar (ABCD... dst)
passwordMinSpecials
1 (int); Password syntax harus memiliki 1 spesial karakter (!@#$%^&*()
passwordMustChange
bila on; User harus mengganti password nya saat pertama kali login
passwordResetFailureCount
900 (dtk); Bila user salah meng entri password account nya akan terkunci selama 30 menit, lihat passwordMaxFailure,passwordLockout
passwordStorageScheme
ssha; Password menggunakan enkripsi ssha
passwordUnlock
bila on; Password user dapat di unlock bila user telah melanggar policy
passwordWarning
604800 (dtk); Server mengirimkan pemberitahuan kepada user apa bila password user akan kadaluarsa, 7 hari sebelum kadaluarsa
passwordHistory
:: b24=; binary (ok) untuk mengaktifkan password history,lihat passwordInHistory

  • Entri template CoS class of service  (nsPwTemplateEntry) harus memiliki value pwdpolicysubentry yang diarahkan ke entri (nsPwPolicyEntry).
# nsPwTemplateEntry
     dn: cn="cn=nsPwTemplateEntry,ou=Accounts,dc=kuragurun,dc=com",cn=nsPwPolicyContainer,ou=Accounts,dc=kuragurun,dc=com
     objectClass: extensibleObject
     objectClass: costemplate
     objectClass: ldapsubentry
     objectClass: top
     cn: "cn=nsPwTemplateEntry,ou=Accounts,dc=kuragurun,dc=com"
     cosPriority: 1
     pwdpolicysubentry:      cn="cn=nsPwPolicyEntry,ou=Accounts,dc=kuragurun,dc=com",cn=nsPwPolicyContainer,ou=Accounts,dc=kuragurun,dc=com

  • Entri spesifikasi CoS (nsPwPolicy_CoS) pada level subentry.
# nsPwPolicy_CoS
     dn: cn=nsPwPolicy_CoS,ou=Accounts,dc=kuragurun,dc=com
     objectClass: ldapsubentry
     objectClass: cosSuperDefinition
     objectClass: cosPointerDefinition
     objectClass: top
     cosAttribute: pwdpolicysubentry default operational-default
     cn: nsPwPolicy_CoS
     costemplatedn:      cn="cn=nsPwTemplateEntry,ou=Accounts,dc=kuragurun,dc=com",cn=nsPwPolicyContainer,ou=Accounts,dc=kuragurun,dc=com

Comments