pam konfig tortenetek

Hogan ellenorizzuk le a jelszot?
vannak lokalis userek, pl a root, meg vannak nem lokalis userek, amiknek a jelszoellenorzese a kerberos szerver segitsegevel tortenik.
Mit irjak a /etc/pam.d/common-auth file-ba?


auth sufficient pam_krb5.so forwardable
auth required pam_unix.so use_first_pass

az ugye azt csinalja, hogy a jelszot eloszor ellenorzi a kerberostol, es ha ott nem volt, akkor a lokalis (/etc/shadow) -ban. De ebben az esetben sem nem keri be ketszer a jelszot, csak egyszer.
Nade mi van akkor, ha van root a kerberosban? Akkor a kerberos szerverben levo root jelszoval belep? na ez nem lenne jo. Nocsak, pont erre van egy flag :-)


auth sufficient pam_krb5.so ignore_root forwardable
auth required pam_unix.so use_first_pass

ez szuper. ez megoldja a tavoli root biztonsagi gyengeseget. Csakhogy ez megiscsak koncepcionalisan nem jo, eloszor a lokalis usereket, a lokalis jelszavai alapjan kellene beengedni, es csak utana nezni a tevoli/centralizalt usereket. Meg mivan akkor, ha a kerberos (vagy a network) eppen halott, akkor hosszu timeoutokat kell kivarni a root belepesehez? Mindenkeppen a lokalisakat kellene eloszor csekkolni.


auth sufficient pam_unix.so
auth sufficient pam_krb5.so use_first_pass forwardable
auth required pam_deny.so

ez mar funkcionalisan es koncepcionalisan helyes, eloszor a lokalisakat csekkolja. Nade, ha a user nem lokaluser, (hanem kerberosos) akkor a pam_unix bedob egy hibajelentest a syslogba. Teli lesz a syslog false hibajelentessel (hiszen a user esetleg valid kerberosos user) Toprengjunk ezen a probleman egy kicsit.


auth [success=1 new_authtok_reqd=ok default=ignore] pam_localuser.so
auth  sufficient pam_krb5.so ignore_root forwardable
auth  required pam_unix.so 

Nesze neked, felteteles elagazas a pam konfigban. Igen, ezt igy kell csinalni.
Megis, az a halvany erzesem van, hogy senki sem igy csinalja. Hiszen a elso es a masodik es a harmadik is mukodik altalaban.

Hozzászólások

peresze, nem csak common-auth van, hanem common-account is.


account required        pam_unix.so
account sufficient      pam_localuser.so
account sufficient      pam_succeed_if.so quiet user ingroup hpc
account sufficient      pam_succeed_if.so quiet user ingroup sun10k
account sufficient      pam_succeed_if.so quiet user ingroup pvm
account sufficient      pam_succeed_if.so quiet user ingroup pvm-students
account requisite       pam_deny.so

1) ha a user valid user (lefut ra a geppwnam, es az azonosito nem lejart). Ezt egyreszt a /etc/passwd masreszt az ldap alapjan veszi, ahogy a /etc/nsswitch.conf -ban van, ez nem pam kerdes, ez nevfeloldasi kerdes.
2) engedjuk be, ha lokal user (listed in /etc/passwd)
3..6) engedjuk be, ha szamunkra kedves csoportban van
7) mindenki mast dobjunk el (megpedig azonnal, mert pl ezutan jon a pam_motd, azt mar nem akarjuk lefuttatni. Ne feledjuk, a belepes ekkor mar jelszoellenorzott allapotban van!

Az account != auth, ahhoz mar az auth-nak le kell futnia. Minel elobb jobb elvagni a bejelentkezes folyamatat, mert jelszot csak az auth ker, es a probalkozasoknak ott kell veget vetni, az account-nal mar keso.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

megfontolom. Az authentication/authorization fogalmainak szetvalasztasa ugye ilyen elvi dolog, de elvieken tul is szeretnem, ha mindenkeppen jelszot kerne (ne deruljon semmi ki a jelszokeres elott), tehat a jogosult/nem jogosult eldontes csak a jelszavas ellenorzes utan tortenjen.

A pam manual azt irja, hogy 'type account' ... provide account verification types of service: has the user´s password expired?; is this user permitted access to the requested service?
Ezek alapjan jo helyen van az account -ban a group ellenorzes, de ettol fuggetlenul gondolkodok az otleteden.

Nekem a masodik nem dob hibat a logba, gentoo-n pl. ez a default bejelentkeztetesi mod.

Pontosabban hazudok:


auth    required     pam_env.so
auth    sufficient   pam_unix.so
auth    sufficient   pam_krb5.so try_first_pass forwardable ignore_root
auth    required     pam_deny.so

Valamelyik rpm-es oprendszeren (centos? mandriva?) nem mukodott ez a resze, mert a pam_deny bugos volt, de a legtobb helyen igy mukodik.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.