From: Steve Grubb <sgrubb@redhat.com>
To: linux-audit@redhat.com
Cc: Konrad Witaszczyk <def@freebsd.org>
Subject: Re: Questions about the standard (Google Summer of Code Project)
Date: Wed, 13 Jul 2016 10:23:49 -0400 [thread overview]
Message-ID: <2039823.hgKx5S6ioU@x2> (raw)
In-Reply-To: <B946B6D5-FA5C-436A-AF7E-A5B50E3FAAE6@FreeBSD.org>
Hello,
On Wednesday, July 13, 2016 1:23:29 PM EDT Mateusz Piotrowski wrote:
> I participate in Google Summer of Code and my project involves converting
> Linux Audit logs to BSM logs.
>
> As I was writing a parser and converter I stumbled upon a couple of things I
> do not understand and I cannot find in the documentation:
The linux audit system has a library, libauparse, that encapsulates all the
quirks of the audit system so that writing applications like a translator is
easy. I would recommend using that as a starting point so that you don't have
to recreate it from scratch.
> 1. Where are all the elements like auditd start, user, etc. listed? I cannot
> find any document which specifies what can occurs between the colon
> (separating the type and the msg=audit(…) from the fields) and the record’s
> fields.
There really is none, Libauparse takes care of all of this so that you don't
have to. If you are wanting to do translation, you can feed the logs into
auparse and then just format the event the way you want.
That said, there is a big change coming soon which might make your project
easier. I'm planning to create a field classification extension to auparse that
will allow you to say, "give me the subject of this event", "give me the
action being performed", "give me the object", "give me the results". This
would probably make tranlators of all kinds easier to write.
> 2. Why are there two spaces between the colon and the first field in records
> of type=CWD and a field cwd=“/root”? Here’s an example:
>
> type=CWD msg=audit(1464013682.961:409): cwd="/root”
Human error? We use strtok_r to parse and it doesn't care.
> 3. According to Red Hat’s documentation[1]:
> > Each record consists of several name=value pairs separated by a white
> > space or a comma.
> a) Is a white space always a space?
Yes.
> Can be any white space like the tab character?
No.
> b) Why do some records are separated by a comma and a
> whitespace? Example:
>
> type=DAEMON_START msg=audit(1363713609.192:5426): auditd start,
> ver=2.2 format=raw kernel=2.6.32-358.2.1.el6.x86_64 auid=500 pid=4979
> subj=unconfined_u:system_r:auditd_t:s0 res=success
A long time ago the records were meant to be both human readable (don't laugh)
and machine consumable. Over time these have been converted name=value pairs.
Even the one you mention above has been fixed.
> I’ve posted the question on Unix & Linux SE: [3].
>
> 4. Is it possible that there are duplicate fields in a record?
Sometimes. I've tried to fix those when it happens. The problem is that not
everyone runs their audit code by this mail list so that we can check it to
see that its well formed. What I am planning to do is write an audit event
validation suite that checks that events are well formed and that expected
events are being written when they are supposed to and in the order that they
are supoosed to. Cleaning up these events is high on my TODO list.
> Something
> like (which doesn’t make much sense obviously):
>
> type=CWD msg=audit(1464013682.961:409): cwd="/root” cwd=“/usr”
Something like this will not happen, its more likely around auid and uid. The
reason being that the kernel adds somethings automatically because its a
trusted source of information. User space can write contradictory information.
For example if a daemon is working on behalf of a user but its auid has not
been set for the user, then you might see this.
> I’ve already asked a similar question on Unix & Linux SE: [4].
This mail list is where you will get the best answers.
> 5. Is there a document which answers my questions? That would be cool!
https://github.com/linux-audit/audit-documentation/wiki
-Steve
--
Linux-audit mailing list
Linux-audit@redhat.com
https://www.redhat.com/mailman/listinfo/linux-audit
next prev parent reply other threads:[~2016-07-13 14:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-13 11:23 Questions about the standard (Google Summer of Code Project) Mateusz Piotrowski
2016-07-13 14:23 ` Steve Grubb [this message]
2016-07-14 16:10 ` Mateusz Piotrowski
2016-07-14 16:38 ` 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=2039823.hgKx5S6ioU@x2 \
--to=sgrubb@redhat.com \
--cc=def@freebsd.org \
--cc=linux-audit@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox