Linux-audit Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Grubb <sgrubb@redhat.com>
To: "Gulland, Scott A" <scott.gulland@hpe.com>
Cc: "linux-audit@redhat.com" <linux-audit@redhat.com>
Subject: Re: Use case not covered by the audit library?
Date: Wed, 06 Jan 2016 15:05:44 -0500	[thread overview]
Message-ID: <8445926.khRdTJspS3@x2> (raw)
In-Reply-To: <B41870ED03633F4092CDF476119204DF561D498A@G4W3225.americas.hpqcorp.net>

On Wednesday, January 06, 2016 06:03:58 PM Gulland, Scott A wrote:
> > -----Original Message-----
> > From: Steve Grubb [mailto:sgrubb@redhat.com]
> > It has to be a field name that auparse expects to be encoded.
> > 
> > > So I plan on using the "op", "data" and "euid" fields.
> > 
> > euid would be a kernel originating field name. User space could lie about
> > it. The kernel is the only thing that knows the truth.
> 
> Unfortunately, that is not true for HTTP servers which run as root but
> authenticates the true user issuing the REST request.   The authentication
> is done through PAM.  The HTTP server then carries out the action on behalf
> of that user.   The kernel thinks it's a root user, but the HTTP server
> knows otherwise.   It sounds like there is no way for a trusted user app to
> inject the correct uid into the audit event.   Would you recommend I use
> the "user" field instead of "euid" to indicate who is issuing the request?
> > > Only the data field needs to encoded and ausearch does decode this
> > > 
> > > field correctly.  My message text would look like:
> > >     "op=<op text> data=<encoded data> euid=<uid>"
> > > 
> > > When I was using ausearch I expected to be able to find events by uid
> > > using either the "-ua" or "-ue" option that would match the euid
> > > field's value,
> > 
> > but no matching events were found.  Is this expected behavior?
> > 
> > What is the record type? ausearch is optimized to expect certain record
> > types to have fields in a specific order.
> 
> I am using the AUDIT_USYS_CONFIG event type as I would like to use
> "aureport -c" to get a summary of the configuration changes to the switch.
> As an alternative, I could use the AUDIT_TRUSTED_APP event type.

The USYS_CONFIG event is like this:

type=USYS_CONFIG msg=audit(1389095562.552:540): pid=2249 uid=0 auid=4325 ses=1  
subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=change-system-
time exe="/usr/sbin/hwclock" hostname=? addr=? terminal=pts/0 res=success'


The kernel supplies all the pieces up to the msg= portion. After that is what 
you build. The only real field the event writer does is the op= field, The rest 
are supplied by libaudit. Ausearch does not parse the op= field.

What I would suggest in a case like this is to create a small utility that 
generates the exact report that you want. The auparse library makes that super 
easy. I can dig up the skeleton code for something like this if you want.

-Steve



> > > The "-I" option did correctly convert the euid into the user name.
> > 
> > Interpreting and searching are different areas of the code base and are
> > independent. Interpreting is done after searching. No need to interpret
> > fields
> > that will never be output.

  reply	other threads:[~2016-01-06 20:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-15  5:13 Use case not covered by the audit library? Gulland, Scott A
2015-12-16 14:22 ` Steve Grubb
2015-12-16 19:55   ` Burn Alting
2015-12-17  4:53     ` Gulland, Scott A
2015-12-17  4:21   ` Gulland, Scott A
2015-12-17  6:10     ` Richard Guy Briggs
2015-12-18  2:51       ` Steve Grubb
2016-01-05 21:59         ` Gulland, Scott A
2016-01-06 16:28           ` Steve Grubb
2016-01-06 18:03             ` Gulland, Scott A
2016-01-06 20:05               ` Steve Grubb [this message]
2016-01-06 20:27                 ` Gulland, Scott A
2016-01-11 21:12                   ` Steve Grubb

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=8445926.khRdTJspS3@x2 \
    --to=sgrubb@redhat.com \
    --cc=linux-audit@redhat.com \
    --cc=scott.gulland@hpe.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox