public inbox for linux-audit@redhat.com
 help / color / mirror / Atom feed
From: Steve Grubb <sgrubb@redhat.com>
To: linux-audit@redhat.com
Subject: Re: Audit dispatcher process
Date: Thu, 11 Jan 2007 09:56:34 -0500	[thread overview]
Message-ID: <200701110956.34437.sgrubb@redhat.com> (raw)
In-Reply-To: <1168495131.13080.92.camel@code.and.org>

On Thursday 11 January 2007 00:58, James Antill wrote:
> It will, at least initially, be distributed as part of the audit
> package.

It will be distributed in the audit package as will a set of common plugins. 
Third parties can write their own just as pam modules can be distributed for 
the pam system.

> Those plugins can be shipped separately.

Well, a common set will be part of the audit system. See below.

> . The plugins will be external applications.

Yes, to be good selinux citizens, this will be necessary.

> . That message input will come from plugins, as well as the output.

The idea is that the dispatcher and plugins will be the transport mechanism 
for log aggregation. Most machines would have as sending plugin, while one 
machine would be receiving the events for logging. There is also a desire to 
be able to pull in iptables events for other plugins that would like to 
analyze these events for security purposes.

> . They'll be a mode for the plugin to run in where it speaks a
> mini-protocol with the dispatcher, instead of just getting raw messages
> from auditd.
>
> . That the mini-protocol will allow "commands" to go back to the
> dispatcher (think remote server says "out of disk space, do X" or IDS
> says "attack happening from IP block X/y, do Z").

Right. If we are doing remote logging and the remote machine runs out of disk 
space, the plugin will have to handle the admin selected action such as 
single user mode, halt, etc. I do not want a 2 way communication system with 
the audit daemon itself. This complicates its code for CAPP/LSPP analysis and 
testing. So, the receive plugin will need to ack everything its getting and 
the senders will need to wait for that ack. Also, need to consider what to do 
when reboot of the aggregator occurs. Should they spool, if so how much, etc.

> . The initial set of plugins will contain at least something to connect
> the dispatcher to setroubleshootd and something for (secure) remote
> logging.

Right, I see these as the initial common set:

1) setroubleshootd adapter to feed events to it.
2) remote logging plugin to send events to remote machine. This should use ssl 
to keep events private.
3) syslog plugin - simply takes events and writes to syslog
4) iptables event input plugin
5) remote logging receive plugin
6) possibly a filter plugin that can do matching for certain kinds of events 
and send notification when it sees that event. (not a high priority and could 
be added later depending on how long the others take.) Analogous to grep.


Other requirements:

plugin installation should be such that they are installed in a way that does 
not require editing the master config file. Perhaps each plugin is required 
to put a config file in /etc/audipsd.d directory which includes at a minimum 
path to binary and whether or not its enabled (like xinetd).

Dependencies on external libraries should be kept to a minimum and optional by 
configure options.

dispatcher interface with auditd has to conform to guidelines here:
http://people.redhat.com/sgrubb/audit/audit-rt-events.txt

config file parsing should use libaudit's parsing code. I'd like to keep a 
consistent style among pieces of the audit system.


If I think of other things I'll add them later.

Thanks,
-Steve

  reply	other threads:[~2007-01-11 14:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-11  5:58 Audit dispatcher process James Antill
2007-01-11 14:56 ` Steve Grubb [this message]
2007-01-11 19:13   ` James Antill
2007-01-11 21:30     ` Steve Grubb
  -- strict thread matches above, loose matches on Subject: below --
2007-01-11 21:03 Todd, Charles
2007-01-11 21:53 ` 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=200701110956.34437.sgrubb@redhat.com \
    --to=sgrubb@redhat.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