[OpenAFS] home on afs woes

Douglas E. Engert deengert@anl.gov
Wed, 04 Jan 2006 13:43:58 -0600


Russ Allbery wrote:

> Juha J=E4ykk=E4 <juolja@utu.fi> writes:
>=20
>=20
>>In my opinion, the problem is pam_krb5.so, which checks the .k5login
>>file in pam_sm_authenticate(). Its own documentation says it only check=
s
>>.k5login in pam_sm_acct_mgmt(), but this is incorrect. I am not sure
>>this is a bug, though, and therefore haven't reported it. I just though=
t
>>there must be people around who have these three working together and
>>they must have a solution which is more general than depending on a
>>single pam module. Comments?
>=20
>=20
> .klogin and .k5login files have always had to be world-readable.  Consi=
der
> the case with ssh and forwarded credentials.  You have to authenticate =
the
> user before you can accept tickets for them, and in order to authentica=
te
> the user you have to be able to check the .k5login file.=20

I have always argued that there was some room for improvment in this area=
.
The .k5login should not have to be world readable. Let me explain my argu=
ment.

The sshd could accept a forwarded ticket for the sole purpose of using it=
 to get
an AFS token so the sshd could access the .k5login file before the krb5_k=
userok
was called (There might be some other dot files that could also be access=
ed early.)
Getting this ticket early does not changed the security model, as the che=
cking of
the .k5login is to allow access to the local machine, not the AFS file sy=
stem.
The forwarded ticket and token could be discarded if the krb5_kuserok fai=
ls.

This would require some changes to do this, and I don't know of any site
that has done this. Its too ingrained in Unix that root has access to the
home directory during login.

>  Not checking the
> .k5login file at the time of authentication is a bug; you may authentic=
ate
> a user who shouldn't be allowed to log in, and there are indeed program=
s
> (xlockmore, for instance) that only call pam_authenticate.
>=20
> The solution is to create a world-, or at least local-network-, readabl=
e
> directory in every user's home directory, grant l access to the top lev=
el
> of their home directory, move .k5login to the readable directory, and
> symlink it.  So far as I know, every site that uses AFS with Kerberos h=
as
> had to deal with this; Stanford has been doing this for all users for o=
ver
> a decade.  The l ACLs on the top level of the home directory are rather
> unfortunate, but the other ways to work around this are much more compl=
ex.

We do this too.

Any distributed file system has the same problem, if files in the home
directory need to be accessed during login. NFSv4 may have to address the
same problems.

,

>=20

--=20

  Douglas E. Engert  <DEEngert@anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444