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–security 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"
 2) I have noticed that when sound-juicer is started by a non-root user the 
process runs as root and writes its files as root, WOW what a huge security 
hole this is. To have a non-privileged user able to start and control an 
application that writes files as root with root privilege to any filesystem!

Are you sure ? I'm running snv_111b, and SoundJuicer is just an executable owned by root which can be launched by everyone:

$ ls -l /usr/bin/sound-juicer
-rwxr-xr-x 1 root bin 181860 2009-05-14 17:52 /usr/bin/sound-juicer

$ pcred `pgrep sound-juicer`
1219:    e/r/suid=101  e/r/sgid=10

In your observation is correct, you should file up a security bug...

Cheers, giovanni

_______________________________________________
security-discuss mailing list
[email protected]

_______________________________________________
security-discuss mailing list
[email protected]

Reply via email to