From: Steve Grubb <sgrubb@redhat.com>
To: LC Bruzenak <lenny@magitekltd.com>
Cc: Linux Audit <linux-audit@redhat.com>, Valdis.Kletnieks@vt.edu
Subject: Re: [RFC] programmatic IDS routing
Date: Fri, 21 Mar 2008 11:01:39 -0400 [thread overview]
Message-ID: <200803211101.39483.sgrubb@redhat.com> (raw)
In-Reply-To: <1206108844.6562.19.camel@homeserver>
On Friday 21 March 2008 10:14:04 LC Bruzenak wrote:
> On Fri, 2008-03-21 at 08:50 -0400, Steve Grubb wrote:
> > On Friday 21 March 2008 06:28:42 Klaus Heinrich Kiwi wrote:
> > > If it's desirable to support the general case, instead of putting
> > > everything in one single 'key' field, maybe having an index just like
> > > execve arguments:
> > > type=USER_ACCT msg=... key[0]=ids-file-high key[1]=sox-fault-med
> > > key[2]=actual_key
> >
> > That's a thought. In a way, I'd rather stay in one key field so that we
> > have a path forward right now. It won't complicate any existing kernel
> > code. Besides, doing any kernel change means waiting about 3-4 months for
> > 2.6.26 to be released. If we work out a standard that is backwards
> > compatible, it should work all the way back to about 2.6.16.
>
> I prefer this approach - NOT putting more than 1 key item in the key
> field. I see order issues.
What if it were the duty of the plugins or even log analysis tools to be order
independent? IOW, you can put things in any order you wish?
> My first thought was to overload the key field based on the
> event. For IDS events one would specify "-K" (for example) and the IDS
> triple Steve proposed as appropriate in the 31-byte text area. For
> another plugin need, choose a different constant - "-I" - or whatever.
I'd rather treat this like the -S option where it can be given multiple times
if we go this route. Given the code in the kernel, having multiple key fields
will require some significant patching.
If we felt like we wanted to keep this in one field, but thought 32 bytes was
to restrictive we could easily extend the size.
struct audit_context {
...
char * filterkey; /* key for rule that triggered record */
So, it is virtually unlimited in size since its allocated. The only
restriction is a check in auditfilter.c.
if (entry->rule.filterkey || f->val > AUDIT_MAX_KEY_LEN)
goto exit_free;
So, it would be a simple matter of just changing the define from 32 to 48 or
whatever.
> But the important part to me is that the auditctl take care of any
> ordering issues, rather than faulty people.
I could even fix auditctl to allow multiple -k fields, but glue them together
with commas if that were helpful. I could event fix auditctl to split them
back out for rule listing purposes. We could also fix auparse to be able to
do the splitting in the key field too so that this paradigm is supported and
enforced by the whole toolchain.
So, I could give the illusion of multiple key fields but without making any
drastic kernel changes. Would this be acceptable?
-Steve
next prev parent reply other threads:[~2008-03-21 15:01 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-19 17:02 [RFC] programmatic IDS routing Steve Grubb
2008-03-19 17:12 ` Linda Knippers
2008-03-19 17:40 ` Steve Grubb
2008-03-19 17:55 ` Steve Grubb
2008-03-19 18:18 ` Valdis.Kletnieks
2008-03-19 18:54 ` Steve Grubb
2008-03-19 20:09 ` Valdis.Kletnieks
2008-03-19 18:05 ` Valdis.Kletnieks
2008-03-19 18:40 ` Steve Grubb
2008-03-19 19:04 ` Linda Knippers
2008-03-19 19:28 ` Steve Grubb
2008-03-19 19:48 ` Eric Paris
2008-03-19 20:48 ` Steve Grubb
2008-03-19 19:55 ` Linda Knippers
2008-03-19 21:01 ` Steve Grubb
2008-03-19 21:31 ` Linda Knippers
2008-03-19 21:41 ` Eric Paris
2008-03-19 22:42 ` Steve Grubb
2008-03-19 23:00 ` Linda Knippers
2008-03-19 23:44 ` Steve Grubb
2008-03-20 13:32 ` Linda Knippers
2008-03-20 13:53 ` Steve Grubb
2008-03-21 10:28 ` Klaus Heinrich Kiwi
2008-03-21 12:50 ` Steve Grubb
2008-03-21 14:14 ` LC Bruzenak
2008-03-21 15:01 ` Steve Grubb [this message]
2008-03-21 16:32 ` LC Bruzenak
2008-03-24 13:13 ` Klaus Heinrich Kiwi
2008-03-20 12:19 ` 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=200803211101.39483.sgrubb@redhat.com \
--to=sgrubb@redhat.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=lenny@magitekltd.com \
--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