On  2/08/10 08:58 AM, Giovanni Schmid wrote:
Bayard Bell ha scritto:
One basic argument for converting root to a role is that logs no longer reflect 
"root did it", where that's someone logged in as root–what you are now able to 
determine is whodunnit exactly using a level of privilege rather than accessing an 
account, which doesn't make various auditors very happy. Now, anticipating an objection, 
let me acknowledge that there are places where, having eliminated direct login as root, 
you can reasonably trace the terminal from which root was accessed to understand what 
account was used to get to root or use something like sudo for command invocation. Among 
other limitations, this breaks down in turn when you're trying to understand root 
activities in a networked environment, so what you'd really want to see at that point is 
role-based authorisations for network services rather than something reducible to uid==0.

This isn't to say that this is the only argument for doing this or even a comprehensive 
treatment of this aspect, but it should indicate that there are some compelling if 
involved arguments why the traditional Unix security model is broken. What concerns me is 
not simply that this is broken and that, if this is supposed to solve the problems for 
heterogenous distributed environments, there needs to be some convergence to standards 
down the line. Given the kind of line coming out of the GNU community on including things 
like strlcpy() in glibc, I'm not sure whether people are willing to move past pissing 
contests ("not invented here" was how someone on the Debian list saw the 
essence of the opposition from the Linux people on the glibc list) when it comes to 
anything already implemented offered as a possible standard. That's not an argument 
against work proceeding in Solaris, but it's a wariness as to how far some customers may 
be able to go in uptake on new best practices–sec
urity can and will be undermined in the long term if innovation is left for too 
long as a matter of competitive advantage between Unix implementations rather 
than a core part of the standards.

I'm not going to defend setuid root or what have you without knowing much of 
the particulars, as there are solutions for facets of this set of problems. The 
general problem is managing operations requiring a piece of root that are more 
efficiently managed as the privileges of a piece of software rather than a set 
of users. What I would say about software that still goes down that route (and 
there are variably portable or non-portable alternatives for subsets of the 
problem space) is that it can and should be dropping effective privileges 
except around those operations that require root. This is very well-established 
stuff: see Stevens and Rago, Advanced Programming in the Unix Environment, pp. 
237-241 (the first edition refers to some of the calls as pending POSIX 
standardisation, so let's say that the necessarily complementary privilege 
revocation techniques have been around long enough that no one should be 
pleading any excuses if they need root for some operations but are
keeping root to write files in a way that would violate least privilege in 
context, which sounds to be the case here without sufficient information being 
made available in this forum to make a definitive judgement).

security-discuss might be a better forum for further discussion, so I've CC'ed 
that list.

Cheers,
Bayard

On 30 Jul 2010, at 12:59, Mike DeMarco wrote:

Build 134:
  1) Could anyone please explain why root has been converted to a role. I would 
venture a guess that someone somewhere believes that it is more secure to run root 
as a role. The whole "if root can not log directly into the box than someone 
can not crack the root password. Well I agree that root should not be allowed to 
login from the net but locking a root account out of console login relies on the 
user account always being valid. and how much harder is it to hack the user then 
move on to root, especially when the root password is the same as the users. Having 
root as a role is causing me many problems and I am wondering if others are in 
agreement or disagreement with this practice?
As for any other administrative account, having root as role is an improvement both in term of security (layered defense) and auditing. Anyway, if you feel uncomfortable having this setting, you can change it
in a matter of seconds, by simply running "rolemod -K  type=normal root"

I disagree that it is a layer of defense.

There are any number of login methods that have built in "do not let root login this way" features. So now, rather than try to attack the root account, a hacker is forced (if they weren't before) to target another account. And once they crack that account, all they need to do is run "pfexec" to gain privilege. Unlike su, there is no second password required to run pfexec in the current installation. In effect, every account that can run pfexec and assume all of those privileges without a password is now a root account yet there is no restriction on where they can be logged into from.

From a security perspective, I'm wondering if in the pursuit of making it easier to audit root that we've made it easier to access root.

Personally, I think I'd be willing to trade the restrictions and extra security checks that go with supporting root as an account for the extra audit capability that comes from root as a role.

Just having root as a role does not tell you "whodunnit", you need to know what command was run when and by whom.

Many years ago I actually used the system auditing features of Solaris for a short time in a commercial environment for a brief time. There was just too much data generated and the work required to make something meaningful from it too great to actually defend leaving the feature enabled, thus for me there is currently no reason to be pro-audit.

I've also used process accounting in multiuser systems and have successfully traced down "whodunnit" with traditional security due to commands and tty - no audit features were present or required. It did, however, require the subject to be ignorant about process accounting.

I'm not trying to say that audit is pointless but that for most people it is not currently useful and thus there is little gained by enforcing root as a role to add value to forensics through audit. If better tools become available then I will re-evaluate the equation.

Darren

_______________________________________________
security-discuss mailing list
[email protected]

Reply via email to