All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Paris <eparis@parisplace.org>
To: Steve Grubb <sgrubb@redhat.com>
Cc: Mr Dash Four <mr.dash.four@googlemail.com>,
	Casey Schaufler <casey@schaufler-ca.com>,
	linux-audit@redhat.com, Thomas Graf <tgraf@redhat.com>,
	netfilter-devel@vger.kernel.org,
	Al Viro <viro@zeniv.linux.org.uk>,
	Patrick McHardy <kaber@trash.net>,
	Pablo Neira Ayuso <pablo@netfilter.org>
Subject: Re: [PATCH 3rd revision] Add SELinux context support to AUDIT target
Date: Wed, 8 Jun 2011 15:39:37 -0400	[thread overview]
Message-ID: <BANLkTik9wXe+g4EXByUt3MrxGhuLKgTV3A@mail.gmail.com> (raw)
In-Reply-To: <201106081528.22926.sgrubb@redhat.com>

On Wed, Jun 8, 2011 at 3:28 PM, Steve Grubb <sgrubb@redhat.com> wrote:
> On Wednesday, June 08, 2011 03:08:38 PM Eric Paris wrote:
>> On Wed, Jun 8, 2011 at 3:00 PM, Mr Dash Four
>>
>> <mr.dash.four@googlemail.com> wrote:
>> >> int audit_log_secctx(struct auditbuffer *ab, u32 secid)
>> >> {
>> >>    int len, rc;
>> >>    char *ctx;
>> >>
>> >>    rc = security_secid_to_secctx(sid, &ctx, &len);
>> >>    if (rc) {
>> >>        audit_panic("Cannot convert secid to context");
>> >>    } else {
>> >>            audit_log_format(ab, " subj=%s", ctx);
>> >>            security_release_secctx(ctx, len);
>> >>    }
>> >>    return rc;
>> >> }
>> >>
>> >> Such a function could be used a couple of places in the audit code
>> >> itself.
>> >
>> > My view on this is that LSM error-handling should be part of LSM.
>> >
>> > I presume security_secid_to_secctx is going to be called from quite a few
>> > places (well, I know of at least two now and they have nothing to do with
>> > the LSM) and in my opinion it would be better if that error handling, if
>> > adopted, is implemented within the function itself - whether by calling
>> > another function, like the one you proposed above, or as part of the
>> > secctx retrieval - this could be open to interpretation, but the point I
>> > am trying to make is that whichever code security_secid_to_secctx is
>> > invoked from shouldn't be involved in reporting/handling (internal LSM)
>> > errors at all.
>> >
>> > I think I made that point in my previous post, but just wanted to make
>> > sure that is the case.
>>
>> The LSM might report and error.  It's up to the caller to figure out
>> how to deal with that error.  In this case we want to use the audit
>> system so it's up to the audit system how to handle that error.
>
> We are happy recording the failed number. Its the LSM people that say nuke the system.
> So, I would put that in security_secid_to_secctx() so that everyone knows whose
> requirements it was to do the nuclear option.

If the number meets your requirements then the requirements are total
shit.  The number has NO relation to the label on the object as
understood by the system.  If audit has a requirement to always log
the label or call audit_panic(), its only option is to call
audit_panic().

Exposing secids and internal representations of information to
userspace is always wrong.  Full stop.

I'd be willing to take a patch which caused security_secid_to_secctx()
to BUG() if it got an invalid secid.  But on ENOMEM I'm going to just
push the error back up the stack.  In that case audit has to decide
how to handle the situation.  That secid is NOT the label associated
with the object and printing it to userspace is meaningless garbage.

Just because audit did it wrong yesterday doesn't mean I'm going to
ACK more patches that do it wrong tomorrow.  I don't care what some
arbitrary and obviously poorly thought out requirement document says.

-Eric
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2011-06-08 19:39 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-20  1:09 [PATCH] Add SELinux context support to AUDIT target Mr Dash Four
2011-05-26 16:49 ` Pablo Neira Ayuso
2011-05-26 17:03   ` Mr Dash Four
2011-05-26 17:44     ` Pablo Neira Ayuso
2011-06-04 15:12     ` [PATCH 2nd revision] " Mr Dash Four
2011-06-05 23:06       ` Pablo Neira Ayuso
2011-06-06 12:02         ` Mr Dash Four
2011-06-06 23:20           ` Pablo Neira Ayuso
2011-06-07  8:18             ` Mr Dash Four
2011-06-07  9:12               ` Pablo Neira Ayuso
2011-06-07 10:32                 ` [PATCH 3rd " Mr Dash Four
2011-06-08 14:49                   ` Steve Grubb
2011-06-08 16:12                     ` Mr Dash Four
2011-06-08 17:14                       ` Steve Grubb
2011-06-08 18:04                         ` Mr Dash Four
2011-06-08 18:13                     ` Casey Schaufler
2011-06-08 18:33                       ` Eric Paris
2011-06-08 19:00                         ` Mr Dash Four
2011-06-08 19:08                           ` Eric Paris
2011-06-08 19:14                             ` Mr Dash Four
2011-06-08 19:28                             ` Steve Grubb
2011-06-08 19:39                               ` Eric Paris [this message]
2011-06-09 12:28                                 ` Patrick McHardy
2011-06-09 12:52                                   ` Eric Paris
2011-06-09 12:56                                     ` Patrick McHardy
2011-06-09 14:08                                     ` Mr Dash Four
2011-06-09 15:06                                       ` Eric Paris
2011-06-09 15:16                                         ` Mr Dash Four
2011-06-16  8:36                                           ` Mr Dash Four
2011-06-18 12:08                                             ` [PATCH 4th " Mr Dash Four
2011-06-20 12:20                                               ` Steve Grubb
2011-06-20 14:21                                                 ` Mr Dash Four
2011-06-20 14:27                                                   ` Eric Paris
2011-06-30 11:35                                                     ` Patrick McHardy
2011-06-08 18:36                       ` [PATCH 3rd " Steve Grubb
2011-06-08 18:45                         ` Mr Dash Four
2011-06-06 12:14       ` [PATCH 2nd " Steve Grubb
2011-06-06 12:25         ` Mr Dash Four
2011-06-06 12:30           ` Steve Grubb
2011-06-06 12:42             ` Mr Dash Four
2011-06-06 12:53               ` Steve Grubb
2011-06-06 13:10                 ` Mr Dash Four
2011-06-06 23:22                   ` Pablo Neira Ayuso
2011-06-07  0:59                     ` Steve Grubb
2011-06-07  1:23                       ` Casey Schaufler

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=BANLkTik9wXe+g4EXByUt3MrxGhuLKgTV3A@mail.gmail.com \
    --to=eparis@parisplace.org \
    --cc=casey@schaufler-ca.com \
    --cc=kaber@trash.net \
    --cc=linux-audit@redhat.com \
    --cc=mr.dash.four@googlemail.com \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=pablo@netfilter.org \
    --cc=sgrubb@redhat.com \
    --cc=tgraf@redhat.com \
    --cc=viro@zeniv.linux.org.uk \
    /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.