2012. június 8., péntek

Kerberos LDAP backend-del Ubuntu 12.04-en - harmadik rész

Az elősző alkalommal MIT-Kerberos V-öt telepítettünk, mégpedig annak az OpenLDAP backend-nek a használatával, amelyhez korábban már telepítettük a szükséges sémát. A mai napon bejelentkezünk a Kerberos-szerverbe egy felhasználóval.
(You can read this post in English too.)
Telepítjük a szükséges PAM-könyvtárat:
sudo apt-get install libpam-krb5
Nézzük meg az /etc/pam.d/common-auth fájlt:
auth [success=3 default=ignore] pam_krb5.so minimum_uid=1000
auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass
auth [success=1 default=ignore] pam_ldap.so use_first_pass
Az látszik, hogy először Kerberos-szal próbál bejelentkeztetni bennünket a rendszer, de ha nem megy, akkor megnéz helyi felhasználóként, és végül az LDAP-ban is. Jelentkezzünk be egy LDAP-ban létező felhasználóval, bela-val. Bélának még nincs Kerberos-principal-ja, de majd beengedi az LDAP. A bejelentkezést kísérjük figyelemmel a
tail -f /var/log/auth.log
parancs használatával. Látszik, hogy először a Kerberos-szerverhez igyekszünk hitelesíteni, de elbukunk. Bejutunk viszont más módon. Ha bent vagyunk, próbálkozzunk a klist parancs kiadásával - nem lesz eredmény. kinit-elni lehet, de, minthogy nincs saját principalunk, meg kell adni, hogy melyik principalt akarjuk használni.
Most elkészítjük bela kerberos-principalját (a vastag betűset mi írjuk be):
kadmin.local:  addprinc -x dn="uid=bela,ou=People,dc=itthon,dc=cucc" bela
WARNING: no policy specified for bela@ITTHON.CUCC; defaulting to no policy
Enter password for principal "bela@ITTHON.CUCC": jelszo
Re-enter password for principal "bela@ITTHON.CUCC": jelszo
Principal "bela@ITTHON.CUCC" created.
Az LDAP és a Kerberos jelszó különböző. Mindkettővel be lehet jelentkezni.
Az LDAP-jelszó használatával a fenti eredményre jutunk. A klist sem ad eredményt, de kinit-elni már lehet, csak ilyenkor meg kell adni a Kerberos-jelszót. Ilyenkor a klist értelmes eredményt ad.
A Keberos-jelszóval bejelentkezve az auth.log-ban látszik, hogy
ubuserver login[779]: pam_krb5(login:auth): user bela authenticated as bela@ITTHON.CUCC
és a klist is ad eredményt.
A passwd parancs kiadásával mindkét esetben a Kerberos jelszót igyekszik a rendszer megváltoztatni. (próbáljuk ki, látható is, hogy szól, hogy a Kerberos jelszót kéri). Ha elrontjuk, akkor mindkét esetben hajlamos megkérdezni az LDAP-jelszót is. Ezt a viselkedést az /etc/pam.d/common-password beállításai okozzák.
password [success=3 default=ignore] pam_krb5.so minimum_uid=1000
password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512
password [success=1 user_unknown=ignore default=die] pam_ldap.so try_first_pass
password requisite   pam_deny.so
password required   pam_permit.so
Marad még pár feladatunk. Lássuk sorban:
  • meg kell oldani a bejelentkezést a kliens oldaláról is - ami nem csak annyi, hogy telepítjük a libpam-krb5 csomagot
  • meg kell oldani, hogy ne kelljen minden LDAP-felhasználóhoz külön Kerberos-principalt is gyártani - ehhez azt az smbkrb5pwd LDAP-overlayt fogjuk használni, aminek a Linux-Samba jelszószinkron megoldásakor már olyan jó hasznát vettük
  • meg kell oldani, hogy ne legyen egy felhasználónak két, rossz esetben külön-külön változó jelszava

Nincsenek megjegyzések: