2012. szeptember 2., vasárnap

OpenLDAP jelszóházirend Ubuntu 12.04-en - első rész

A mai naptól pár alkalommal arról írok, hogy miként vehető rá egy OpenLDAP-hitelesítésű Ubuntu jelszóházirend betartására.
Mire is használható egy jelszóházirend?
Számomra a következőkre jó:
  • meghatározható a jelszó minimális hossza
  • lejár a jelszó
  • a lejárás előtt figyelmeztetést kapunk
Ha OpenLDAP alatt jelszóházirendet szándékszunk kiépíteni, akkor az első dolgunk a ppolicy overlay beüzemelése. Azt meg úgy kezdi az ember, hogy a sémát telepíti.
sudo ldapadd -Y EXTERNAL -f /etc/ldap/schema/ppolicy.ldif
Lássuk, tényleg ott van-e:
sudo ldapsearch -Q -LLL -Y EXTERNAL -b cn=schema,cn=config dn
El kell helyeznünk egy alapértelmezett házirendet az LDAP-ban. Hozzuk létre a policiesou.ldif fájlt:
dn: ou=Policies,dc=itthon,dc=cucc
objectClass: top
objectClass: organizationalUnit
ou: Policies
description: ide kerulnek a hazirendek
Toljuk be az LDAP-ba:
ldapadd -D cn=admin,dc=itthon,dc=cucc -w titok -f policiesou.ldif
Betöltjük az házirendért fizikailag felelős fájlt - hozzuk létre a ppolicy_moduleload.ldif fájlt:
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: ppolicy
Toljuk be az LDAP-ba:
sudo ldapadd -Y EXTERNAL -f ppolicy_moduleload.ldif
Milyen modulok is vannak betöltve?
sudo ldapsearch -Y EXTERNAL -b cn=module{0},cn=config
Létrehozzuk a ppolicy_overlay.ldif fájlt. Ebből - többek között kiderül, hogy hol tárolódik az alapértelmezett házirend.
dn: olcOverlay={0}ppolicy,olcDatabase={1}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: {0}ppolicy
olcPPolicyDefault: cn=DefaultPPolicy,ou=Policies,dc=itthon,dc=cucc
Nyomjuk be ezt is az LDAP-ba:
sudo ldapadd -Y EXTERNAL -f ppolicy_overlay.ldif
Lássuk csak: milyen overlay-ek működnek?
sudo ldapsearch -Y EXTERNAL -b olcDatabase={1}hdb,cn=config

No, akkor jöhet az alapértelmezett házirend, mégpedig a ppolicy_default.ldif fájlba.
dn: cn=DefaultPPolicy,ou=Policies,dc=itthon,dc=cucc
cn: DefaultPPolicy
objectClass: pwdPolicy
objectClass: device
objectClass: top
pwdAttribute: userPassword
pwdMaxAge: 3024000
pwdExpireWarning: 1814400
pwdInHistory: 3
pwdCheckQuality: 1
pwdMinLength: 8
pwdMaxFailure: 3
pwdLockout: TRUE
pwdLockoutDuration: 600
pwdGraceAuthNLimit: 0
pwdFailureCountInterval: 0
pwdMustChange: TRUE
pwdAllowUserChange: TRUE
pwdSafeModify: FALSE
Na lássuk.
A jelszó 5 hétig jó (60x60x24x7x5=3024000), három héttel a lejárata előtt kapunk figyelmeztetést (60x60x24x7x3=1814400). Ez azért jó így, mert könnyebb tesztelni - majd még beszélünk róla.
A jelszó legalább nyolc karakteres, az előző három eltárolódik, és nem lehet azokra módosítani. Három elhibázott jelszóbeírás a felhasználói fiók zárolását eredményezi, ami azonban 5 perc után feloldódik (hagyjanak békibe!). A pwdMustChange azért jó, mert így ki lehet kényszeríteni a jelszóváltoztatást. Majd még írok róla.
Akkor lenyomjuk ezt is az LDAP torkán:
ldapadd -D cn=admin,dc=itthon,dc=cucc -w titok -f ppolicy_default.ldif
Nézzük meg, hogy mit alkottunk:
sudo ldapsearch -Q -LLL -Y EXTERNAL -b cn=DefaultPPolicy,ou=Policies,dc=itthon,dc=cucc

Mára ennyi elég. Folyt. köv.

2 megjegyzés:

Gábor Tóth írta...

Help me:

"sudo ldapadd -Y EXTERNAL -f -X /etc/ldap/schema/ppolicy.ldif" - parancsnál a következő hibaüzenetet kapom:

SASL/EXTERNAL authentication started
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available:

raerek írta...

Typo. nem kell a -X.