From: Steve Grubb <sgrubb@redhat.com>
To: linux-audit@redhat.com
Subject: Re: question on audit_backlog settings and how to prevent the sytem from hanging due to audit overload
Date: Fri, 7 Oct 2011 08:28:37 -0400 [thread overview]
Message-ID: <201110070828.37891.sgrubb@redhat.com> (raw)
In-Reply-To: <OF956A0D70.3C003BA4-ON88257921.006BE13F-86257921.00705745@usbank.com>
On Thursday, October 06, 2011 04:27:03 PM larry.erdahl@usbank.com wrote:
> I have a 5.4 Redhat that I'm using Snare to control the audit rules with.
> Recently this server hung on me and pointed to the SnareDispatcher as the
> cause. You can see from the samples below the dispatcher was running at 99
> - 100%.
> The morning of the hang Auditd peaked at ~200,000 event's/hour, up from
> ~50,000 events per hour. Is there away to protect the server from hanging
> during unexpected loads like this?
>
> I'm assuming from what I've read, I'll need to increase the audit_backlog
> level to something higher. Before increasing the number of buffers I'd
> like to get a clearer understanding of their size and how increasing
> these buffers my impact my over all system performance. Are there any
> recommendations on what the settings should be or a formula that I could
> use to determine the proper setting.
What the kernel sends to user space is a data structure like this:
#define MAX_AUDIT_MESSAGE_LENGTH 8970 // PATH_MAX*2+CONTEXT_SIZE*2+11+256+1
struct audit_message {
struct nlmsghdr nlh;
char data[MAX_AUDIT_MESSAGE_LENGTH];
};
This is in a skb, so there is probably some more memory used for skb bookkeeping. You
might just round that off to 9000 bytes and be close enough for practical purposes.
Increasing the backlog limit means that the kernel allocates this memory and its no
longer available for user space. With the size of memory in current hardware, I don't
think you have to worry too much as long as the setting is sane. A backlog length of
8192 means it occupies a little over 70 Mb of memory. But if you need to do this, you
need to do this.
> I am looking into what may of caused the spike, but I'd like to know what
> my options to keep from having another system hang
Do you use keys for your audit rules? If so, run the key report to get an idea of what
was happening. From that you can zero in on what it was. You may also have a rule that
is too aggressive in logging. For example, perhaps you record file deletions in /usr/*
and then a yum update comes a long....overwriting and deleting thousands of files in a
few seconds.
> Any help would be appreciated
Another possibility is increasing the audit daemon's priority a little and make sure
its disk performance is tuned.
> Sep 30 01:29:16 <servername> kernel: audit: audit_backlog=321 >
> audit_backlog_limit=320
This is the default setting. Its a bit low for production use. I'd bump that up a lot.
Make it at least 4096 if not 8192.
-Steve
prev parent reply other threads:[~2011-10-07 12:28 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-06 20:27 question on audit_backlog settings and how to prevent the sytem from hanging due to audit overload larry.erdahl
2011-10-07 12:28 ` 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=201110070828.37891.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