linux-audit.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Steve Grubb <sgrubb@redhat.com>
To: Cat Zimmermann <catzimmermann@gmail.com>
Cc: linux-audit@redhat.com
Subject: Re: auditd.conf: flush set to DATA or SYNC does nothing on many kernels?
Date: Tue, 06 Oct 2015 12:49:13 -0400	[thread overview]
Message-ID: <3014022.MRfjnZnCJF@x2> (raw)
In-Reply-To: <CAMOEXxZNPBCAkO_2MQfApx_rdV3aqP72yMXpFzCk-_W3OFge1g@mail.gmail.com>

On Tuesday, October 06, 2015 12:24:25 PM Cat Zimmermann wrote:
> Aren't the DATA and SYNC durability options required for CAPP compliance?
> https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/htm
> l/Security_Guide/sec-configuring_the_audit_service.html

Hmm. That page isn't exactly right. But its in the ball park. The 
authoritative source is the Evaluated Configuration Guide (ECG). It says:

"If you want to ensure that auditd always forces a disk write for each record, 
you MAY set the flush = SYNC option in /etc/audit/auditd.conf,"

So, in reality, its a MAY and not a MUST.

> How serious is this bug, at least in your opinion?

I'd say this is a quality of implementation issue. The O_SYNC and O_DSYSNC 
options are supposed to help prevent data loss during an Oops or power 
failure. Although that can't really be guaranteed either without specific 
attention to file system selection, special mount options, specific disk 
controller and hard drive cache power requirements (as in battery backed up).

I also don't have any real estimate on how many people might actually run 
using the DATA/SYNC options. I assume that most people that use auditing need 
to survive bursts and choose faster & risky disk flushing options rather than 
slower & safe.

-Steve


> On Tue, Oct 6, 2015 at 11:40 AM, Steve Grubb <sgrubb@redhat.com> wrote:
> > On Monday, October 05, 2015 05:43:01 PM Cat wrote:
> > > I believe auditd's flush configuration can only be set to INCREMENTAL to
> > > guarantee some form of log durability, while DATA or SYNC do nothing. Is
> > > this is a known bug or did I misinterpret auditd.conf's man page?
> > 
> > It has been a very long time (10 years?) since this code was looked at.
> > Reviewing current docs, I think you are right. I put a fix into git as
> > commit
> > 1126. The short story is these are now turned into open flags instead of
> > fcntl.
> > 
> > -Steve
> > 
> > > In audit-event.c: in open_audit_log():
> > > fcntl(F_SETFL, O_SYNC) is called on the already open log's file
> > 
> > descriptor,
> > 
> > > but O_SYNC (and O_DSYNC) are ignored by F_SETFL
> > > 
> > > You can check this in the kernel at
> > > fs/fcntl.c:
> > > #define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT |
> > 
> > O_NOATIME)
> > 
> > > The fcntl() man page also indicates this expected behavior.
> > > 
> > > I checked both the kernel and audit source for CentOS 6.7 and Ubuntu
> > > 14.04.03 and I believe I've reproduced the problem on both
> > > distributions.
> > > 
> > > Thanks,
> > > Cat

      reply	other threads:[~2015-10-06 16:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-05 21:43 auditd.conf: flush set to DATA or SYNC does nothing on many kernels? Cat
2015-10-06 15:40 ` Steve Grubb
2015-10-06 16:24   ` Cat Zimmermann
2015-10-06 16:49     ` Steve Grubb [this message]

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=3014022.MRfjnZnCJF@x2 \
    --to=sgrubb@redhat.com \
    --cc=catzimmermann@gmail.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;
as well as URLs for NNTP newsgroup(s).