From: Michael C Thompson <thompsmc@us.ibm.com>
To: Stephen Smalley <sds@tycho.nsa.gov>
Cc: Steve Grubb <sgrubb@redhat.com>,
Daniel J Walsh <dwalsh@redhat.com>,
SE Linux <selinux@tycho.nsa.gov>,
jdesai@us.ibm.com
Subject: Re: [RFC PATCH] newrole suid breakdown
Date: Thu, 05 Oct 2006 15:47:05 -0500 [thread overview]
Message-ID: <45256F49.1070105@us.ibm.com> (raw)
In-Reply-To: <1160079125.2132.232.camel@moss-spartans.epoch.ncsc.mil>
Stephen Smalley wrote:
> On Thu, 2006-10-05 at 14:53 -0500, Michael C Thompson wrote:
>> Stephen Smalley wrote:
>>> It is cleaner to make the calls unconditional and just let the
>>> configuration vary. It would be nice if we could do the same thing with
>>> the audit support, just letting libaudit do different things in the
>>> non-LSPP vs. LSPP configurations.
>> What I didn't understand that the desire was to have those actions be
>> dependent on the suid state of newrole, and not the ability to perform
>> the actions.
>>
>> It would be possible to stat the newrole binary's permissions to see if
>> newrole is suid, but we then need to watch out for the possibility that
>> argv[0] isn't correct, so we'd need to address that (could hardcode into
>> newrole where it expects to be, for example).
>
> Not a good idea - too susceptible to caller subversion or a simple
> mistake leading to newrole failing to drop capabilities and/or skipping
> security-relevant processing.
>
> The best option is to make the calls to audit and to pam be
> unconditional and provide a way in audit and pam configuration to
> effectively make them no-ops (already possible for pam via pam_permit).
> Then only the capability dropping and uid switching has to be
> conditional, and that processing can be based on whether newrole is able
> to perform those actions.
>
> If that isn't possible for audit, then I guess we just live with audit
> always being generated when the caller has euid 0, regardless of whether
> newrole was suid. That is better than the alternative.
OK, so this is rather ugly in general, and I don't really like where
this is heading. However, I do understand the desire to have the
multi-purpose binary. So here's my thoughts:
Making calls to pam_open_session can work with minor modifications to
the config file, so there is not a big concern there.
AFAIK, we can't call audit without getting a failure, and I would really
rather not suppress those errors. It would be possible to add a check to
make sure that either we have CAP_AUDIT_WRITE or euid=0 or something,
but I'm not really fond of that.
RedHat: is there going to be a scenario where you are sending out this
package on a system which doesn't have an audit-aware kernel?
If so, we can probably do the euid check and if euid is non-zero, we
skip calling to audit. The fallout of that is you would see audit
records when root, and only root, uses newrole. Again, I am not fond of
this solution.
Is there no sane way to check if an app is suid? Because this would
relieve some of the headaches from this.
Thanks,
Mike
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
next prev parent reply other threads:[~2006-10-05 20:47 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-04 22:17 [RFC PATCH] newrole suid breakdown Michael C Thompson
2006-10-05 13:57 ` Daniel J Walsh
2006-10-05 14:42 ` Michael C Thompson
2006-10-05 14:52 ` Daniel J Walsh
2006-10-05 15:46 ` Michael C Thompson
2006-10-05 17:56 ` Stephen Smalley
2006-10-05 14:58 ` Stephen Smalley
2006-10-05 15:55 ` Michael C Thompson
2006-10-05 18:39 ` Stephen Smalley
2006-10-05 19:53 ` Michael C Thompson
2006-10-05 20:12 ` Stephen Smalley
2006-10-05 20:47 ` Michael C Thompson [this message]
2006-10-05 21:48 ` Steve Grubb
2006-10-06 14:52 ` Stephen Smalley
2006-10-06 15:16 ` Russell Coker
2006-10-06 15:22 ` Linda Knippers
2006-10-06 15:22 ` Michael C Thompson
2006-10-06 15:36 ` Steve Grubb
2006-10-06 15:49 ` Stephen Smalley
2006-10-06 15:34 ` Steve Grubb
2006-10-06 16:14 ` Stephen Smalley
2006-10-06 17:08 ` Daniel J Walsh
2006-10-06 17:13 ` Stephen Smalley
2006-10-05 23:15 ` Russell Coker
2006-10-06 17:01 ` Daniel J Walsh
2006-10-06 17:37 ` Russell Coker
2006-10-06 18:50 ` Daniel J Walsh
2006-10-06 18:54 ` Stephen Smalley
2006-10-06 19:03 ` Russell Coker
2006-10-06 21:36 ` Michael C Thompson
2006-10-06 21:50 ` Stephen Smalley
2006-10-05 14:40 ` Stephen Smalley
2006-10-05 16:07 ` Michael C Thompson
2006-10-05 17:40 ` Stephen Smalley
2006-10-05 20:10 ` Michael C Thompson
2006-10-05 20:24 ` Stephen Smalley
2006-10-05 20:42 ` Michael C Thompson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45256F49.1070105@us.ibm.com \
--to=thompsmc@us.ibm.com \
--cc=dwalsh@redhat.com \
--cc=jdesai@us.ibm.com \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
--cc=sgrubb@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.