On 10/19/07, Darren J Moffat <darrenm at opensolaris.org> wrote:
> Jason King wrote:
> > Probably not quite the best description, but since I opened my big
> > mouth last weekend, thought I should probably go ahead and propose
> > this as a formal project.
> >
> > Currently, all of the supported methods of specifying server access
> > control with LDAP (netgroups, or pam_list) involve storing some aspect
> > of the policy on the managed systems themselves.  As a result, changes
> > in policy requires touching all impacted servers.  I think it would be
> > very useful if this could be centralized in LDAP.
>
> pam_list was purposely per system rather than held in LDAP.  Since you
> can use netgroups in pam_list's files that allows you to put the "real"
> policy in the LDAP database.  It could be extended to look in LDAP as
> well but that probably requires defining and deploying a new schema.  As
> a historical note pam_list actually existed long before we adopted LDAP
> as a nameservice even though it was only recently integrated (my oldest
> SCCS version for it is 99/10/12).

One key thing that is missing with netgroup in LDAP is the equivalent
of reverse netgroup maps.  In NIS, a server can ask "what netgroups
does this user belong to?" and get a reasonable answer.  In LDAP, the
server has to say "give me these netgroups so I can search through
them to see if the user is a member."  With a large environment, this
has the potential to be a performance problem.  I thought I heard that
there was some ongoing work in this area, but I forget the details.

In addition to pam_list, there is pam_access.  While NIH, it does
offer compatibility with existing Linux deployments and presumably BSD
(some of the code in it was lifted from logdaemon which I believe is
of BSD heritage).  If you are interested in using pam_access as a
starting point, I did some clean-up on it a long while back that I
would be happy to contribute.  Several years ago I was using this
across Solaris, Linux, and HP-UX.  Of course, if pam_list is more
desirable, it should also be rather trivial to port to Linux and
others for heterogeneous environments.

> > Also, there is no easy way to do fine-grained control of group and
> > role membership for LDAP managed systems and still maintain
> > centralized management within LDAP.  For example, I might want 'jason'
> > to have access to the 'root' role on systemA, but not systemB.  Or, on
> > systemC, 'bob' should have access to different groups than systemD.
> > Any of the ways I can imagine doing this w/ LDAP are not particularly
> > pretty (and have problems).
>
> It shouldn't be limited to LDAP but to any supported nameservice.
>
> I've implemented the enforcement part before of this and a possible
> implementation is in 4986798, have a lot at that CR and see if the
> proposed solution meets your needs.
>
> It is great you want to help implement a project however to do this the
> hard part (and the reason this hasn't been done already) is extending
> smc.  Unfortunately smc is also closed source.  There maybe light at the
> end of the tunnel though if Visual Panels[1] gets traction.

Is this intending to imply that to get code into OpenSolaris it must
also have appropriate integration with Sun's tools that are not open
source?  That seems like a reasonable gate to get it into Solaris,
which non-Sun people can't do anyway.  Having such a gate for
OpenSolaris would have the effect of stopping a wide variety of
sysadmin focused projects.

-- 
Mike Gerdts
http://mgerdts.blogspot.com/

>
> Finally I assume since you are proposing a project you actually want to
> write code for this rather than you are asking someone else to do so ?
>
> --
> Darren J Moffat
> _______________________________________________
> security-discuss mailing list
> security-discuss at opensolaris.org
>


-- 
Mike Gerdts
http://mgerdts.blogspot.com/

Reply via email to