Darren, your first use case is exactly what we are looking at doing at .Sun Engineering and it would be great to get the role to role implemented so I can remove the hack we use to add "roles=role" to user_attr.
cheers, /Martin On 23 jun 2008, at 03:20, Darren J Moffat wrote: > Allowing role to same role over network > --------------------------------------- > > The current implementation of pam_roles has an "allow_remote" module > argument that allows the role to be assumed over the network when > PAM_AUSER is set. Currently only ssh with hostbased user > authentication sets PAM_AUSER. > > It also only allows user to role not role to (same) role. However I > believe that "role to (same) role" is actually much more useful. > Consider the following example case: > > Helpdesk users login on a workstation/Sun Ray or something not even > running Solaris. They ssh (using any userauth method) to some > "Trusted > Host". This "Trusted Host" then has network routes to the production > machines. It is also possible that "Trusted Host" has some stronger > initial user auth (eg, OTP or SecurID). > > The helpdesk user assumes a role on "Trusted Host" (this is audited on > Trusted Host, maybe also has additional PAM modules to determine when > roles can be assumed). > > The user (now with ruid of the role) then uses ssh to connect to the > appropriate production host as the role. > > If no auditing is in use the user doesn't even need to be known on the > production host at all just the roles. Even if the user is known they > don't need to be allowed to login (eg using pam_list). > > This is a reasonably common and in my opinion very sensible > architecture. I've heard of this existing at several sites. > > This can actually be achieved today by manually editing a roles > user_attr(4) entry so that it has a "roles=" entry for itself eg: > > sysadm::::type=role;roles=sysadm;profiles=System Admin > > However this can't be done using the rolemod(1M) or other admin tools > since they currently believe that roles can't have roles. > > A fix for this could be integrated into pam_roles so that > "allow_remote" > allows PAM_AUSER to be the role as well. However this now means that > all roles can be remotely assumed by themselves. In my opinion that > isn't any weaker a policy than what allow_remote already means. > > It also makes sense to me that a role be allowed to "su - rolename" to > itself - this has no audit impact but has the advantage of being a > nice > easy way to "clean" the environment. To allow that roles would need > to > be able to assume themselves regardless of the value of > "allow_remote". > > Allowing roles to have roles > ---------------------------- > > In the general case, why can't a role have roles ? > > I see no reason why not, in fact I can thing of many cases where > allowing roles to have roles actually helps build a more > understandable > and usable policy. > > Continuing with our helpdesk scenario above. > > A slightly different implementation is that the user assumes the > "helpdesk" role on their workstation and runs tools as helpdesk. Some > of those tools need to remotely access production machines. However > the > users don't have accounts that can login on those remote machines. > The > only accounts that can login on the production machines are those that > represent roles eg "dbadmin" and the "helpdesk" account. > > In this case the "dbadmin" role is given to the "helpdesk" shared > account as well as some of the core database team. > > For this to work we need to allow roles (helpdesk) to have other roles > (dbadmin). > > Again I think this is a perfectly reasonable deployment case, and one > that is already in use without roles. By making helpdesk and dbadmin > roles we can increase the security. If we stick with the current > "roles don't have roles" then we weaken the security because now one > or > both of the "helpdesk" and "dbadmin" would be deployed as normal user > accounts. > > Like above this is actually already possible by manually updating the > user_attr(4) entries for the roles, eg > > helpdesk::::type=role;roles=dbadmin > dbadmin::::type=role; > > To make this part of the proposal "official" requires updating the > administrative interfaces. pam_roles doesn't need to be changed at > all. > > > > -- > Darren J Moffat > _______________________________________________ > security-discuss mailing list > security-discuss at opensolaris.org cheers, /Martin -- Martin Englund, Security Engineer, .Sun Engineering, Sun Microsystems Inc. Email: martin.englund at sun.com Time Zone: GMT-3 PGP: 1024D/AA514677 "The question is not if you are paranoid, it is if you are paranoid enough."