All of lore.kernel.org
 help / color / mirror / Atom feed
* Are the writing of an events records to audit.log atomic should a log rotation occur
@ 2013-02-01 23:51 Burn Alting
  2013-02-04 19:32 ` Steve Grubb
  0 siblings, 1 reply; 3+ messages in thread
From: Burn Alting @ 2013-02-01 23:51 UTC (permalink / raw)
  To: linux-audit


[-- Attachment #1.1: Type: text/plain, Size: 621 bytes --]

All,

When rotating log files due a USR1 signal being sent, or for any other
reason, does auditd finish writing all the
records that belong to the current event being written before starting
the new log file?

That is, will I find records belonging to a single event in two log
files?

If this is the case, would there be problems if auditd was changed to
wait and 'flush' all an event's records before
rotating? One assumes auditd-event.c would need to be modified to be
more event aware. Perhaps make use of AUDIT_EOE or
other means of identifying the end of an event or a single event.

Thanks in advance

Burn Alting

[-- Attachment #1.2: Type: text/html, Size: 901 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Are the writing of an events records to audit.log atomic should a log rotation occur
  2013-02-01 23:51 Are the writing of an events records to audit.log atomic should a log rotation occur Burn Alting
@ 2013-02-04 19:32 ` Steve Grubb
  2013-02-04 20:51   ` Burn Alting
  0 siblings, 1 reply; 3+ messages in thread
From: Steve Grubb @ 2013-02-04 19:32 UTC (permalink / raw)
  To: linux-audit, burn

On Saturday, February 02, 2013 10:51:29 AM Burn Alting wrote:
> All,
> 
> When rotating log files due a USR1 signal being sent, or for any other
> reason, does auditd finish writing all the
> records that belong to the current event being written before starting
> the new log file?

When it catches SIGUSR1, it sets a flag that is read by the event loop. So, 
this serializes it with other events. It does write the record out before 
rotating.

> That is, will I find records belonging to a single event in two log
> files?

That is a different question and a different answer. Events can be composed of 
multiple records. It is possible for a record to be emitted and at that time a 
check of the disk space used or file size may cause a rotation or some other 
action.

> If this is the case, would there be problems if auditd was changed to
> wait and 'flush' all an event's records before
> rotating? 

Auditd just writes to disk. It does not try to determine if anything is 
pending because its in a race to dequeue as fast as possible before buffers fill 
up. Any re-assembly of records into an event is done by aureport and ausearch.

> One assumes auditd-event.c would need to be modified to be
> more event aware. Perhaps make use of AUDIT_EOE or
> other means of identifying the end of an event or a single event.

It might be helpful to describe the problem this is solving.

Thanks,
-Steve

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Are the writing of an events records to audit.log atomic should a log rotation occur
  2013-02-04 19:32 ` Steve Grubb
@ 2013-02-04 20:51   ` Burn Alting
  0 siblings, 0 replies; 3+ messages in thread
From: Burn Alting @ 2013-02-04 20:51 UTC (permalink / raw)
  To: Steve Grubb; +Cc: linux-audit

Steve,

My intent is to periodically roll over the log, say every X minutes. At
that point, I would run 'ausearch -i' over the newly formed file and
send the output of this to a SIEM. 

As the SIEM maps an entire event's sed of records into one SIEM event,
my concern is about the event at the start or end of the rolled over
audit.log file which may not be complete (in terms of having all it's
records.

My thought was to change auditd to 'schedule' log rotation such that,
once it receives the log rotation event, it waits till an AUDIT_EOE
event (or it's equivalent) and then rotates the log file. I believe
the risk of disk overflow etc due to rotation delay would be minimal, as
we would only be talking about a few event records needing to be emitted
before rotation (say a most a few K but on average less than 1K).

If this is not a recommended solution, then I will need to make my
batching process, from the first para above, state full, in that I will
need to identify incomplete events and save their processing to the next
cycle.

Which do you recommend?


Rgds
Burn



On Mon, 2013-02-04 at 14:32 -0500, Steve Grubb wrote:
> On Saturday, February 02, 2013 10:51:29 AM Burn Alting wrote:
> > All,
> > 
> > When rotating log files due a USR1 signal being sent, or for any other
> > reason, does auditd finish writing all the
> > records that belong to the current event being written before starting
> > the new log file?
> 
> When it catches SIGUSR1, it sets a flag that is read by the event loop. So, 
> this serializes it with other events. It does write the record out before 
> rotating.
> 
> > That is, will I find records belonging to a single event in two log
> > files?
> 
> That is a different question and a different answer. Events can be composed of 
> multiple records. It is possible for a record to be emitted and at that time a 
> check of the disk space used or file size may cause a rotation or some other 
> action.
> 
> > If this is the case, would there be problems if auditd was changed to
> > wait and 'flush' all an event's records before
> > rotating? 
> 
> Auditd just writes to disk. It does not try to determine if anything is 
> pending because its in a race to dequeue as fast as possible before buffers fill 
> up. Any re-assembly of records into an event is done by aureport and ausearch.
> 
> > One assumes auditd-event.c would need to be modified to be
> > more event aware. Perhaps make use of AUDIT_EOE or
> > other means of identifying the end of an event or a single event.
> 
> It might be helpful to describe the problem this is solving.
> 
> Thanks,
> -Steve

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-02-04 20:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-01 23:51 Are the writing of an events records to audit.log atomic should a log rotation occur Burn Alting
2013-02-04 19:32 ` Steve Grubb
2013-02-04 20:51   ` Burn Alting

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.