From: Steve Grubb <sgrubb@redhat.com>
To: linux-audit@redhat.com
Subject: Re: Watching over non-existent folder to maintain a generic audit.rules file
Date: Tue, 04 Aug 2015 15:55:42 -0400 [thread overview]
Message-ID: <17553516.FC0zugFrpV@x2> (raw)
In-Reply-To: <55C0C4BD.9070408@floriancrouzat.net>
On Tuesday, August 04, 2015 03:57:17 PM Florian Crouzat wrote:
> On 07/29/2015 08:24 AM, Florian Crouzat wrote:
> > On 07/29/2015 12:39 AM, Burn Alting wrote:
> >> On Tue, 2015-07-28 at 15:23 -0400, Steve Grubb wrote:
> >>> On Tuesday, July 28, 2015 05:26:18 PM Florian Crouzat wrote:
> >>>> Unfortunately, I do not only watch over system-related files and
> >>>> folders
> >>>> but also applicative ones (eg custom path where some private keys are
> >>>> stored, etc) ..
> >>>> My problem is that these folders do not exists on all hosts thus making
> >>>> it impossible to write a generic audit.rules files.
> >>>
> >>> What kernel are you using? And user space package?
> >>>
> >>>> As I said, I have thousands of hosts and I can't imagine deploying
> >>>> different files on every hosts depending on the profile of the host.
> >>>> I know puppet could help me for this kind of stuff but I don't have it
> >>>> yet and even though, it would be difficult to configure.
> >>>
> >>> As of the 2.3 user space release, there is a utility, augenrules which
> >>> takes files in /etc/audit/rules.d/ and compiles them into an
> >>> audit.rules file. So, it would be possible for you to package up some
> >>> rules for bind and install them when you install bind and have your
> >>> package install a
> >>> /etc/audit/rules.d/bind.rules file. You can have a base config, and then
> >>> one for each kind of daemon or role that the machine serves.
> >>>
> >>>> How do you guys usually workaround this issue ? I'm pretty sure I'm not
> >>>> the first one wanting to deploy a generic hardening across many hosts
> >>>> (but maybe I'm the only one using auditd to watch over something else
> >>>> than pure system-related stuff?
> >>>
> >>> Others can chime in here.
> >>
> >> As Steve suggests, you should base you efforts around augenrules ...
> >> that why it was written. If you have a project that delivers a new
> >> capability, then part of the security element of it's transition to
> >> operations would be to have the project identify the sensitive files and
> >> have the system administrators deploy project specific .rules files
> >> in /etc/audit/rules.d to monitor them.
> >>
> >> If you have pre 2.3 audit user space deployments, then it is not
> >> difficult to deploy your own augenrules setup, but don't deploy it in
> >> the 'production' locations ... it's a bitch to remove when a 2.3 audit
> >> user space upgrade comes ... lots of rpm clashes.
> >>
> >> A word to the wise on file watches. If you have a capability who's
> >> 'service/process' continually accesses configuration files you will
> >> typically mask this out by having the service start under the init.d
> >> regime at boot time and configure auditd to not monitor the 'unset'
> >> auid. The problem comes when a sustainment staff member, elevates
> >> privilege, and restarts the service. At this, all file accesses by the
> >> service/process will be attributed to the sustainment staff members uid,
> >> not the 'unset' user. This appears to have been addressed by systemd, so
> >> if your Linux release supports systemd, and you configure your
> >> application to use it appropriately, it will not have the problem.
> >> There are workarounds for the init.d based service regime, but that will
> >> have to be a separate post if ane are interested.
> >
> > Hey,
> >
> > Thanks for the answers.
> >
> > I have both up-to-date EL6 and EL7 hosts with latests kernel available
> > in base channel so I think it means I have >=2.3 auditd package.
> > I'll definitely have a look into augenrules and how to use it.
> > I'll probably come back at you with mores questions after that.
> >
> > Florian
>
> Okay so if I get this straight, I should probably have a default
> *generic* audit file for OS/kernel-related stuff and then deploy on
> specific hosts a bunch of specific rule files that would be compiled
> every now and then by an augenrules cronjob ?
You do not need a cron job. When audit starts, there is a need to load audit
rules into the kernel. The audit software was changed to use augenrules to do
that. It checks to see if they have changes since last compilation and if so
rebuilds them. Otherwise it just loads them through auditctl.
> What would be the best practice to be alerted in case the compilation
> fails (augenrules) ?
I think it returns a failed code of some kind.
-Steve
> That sounds ... reasonnable. But still, I'll have to maintain these
> specific files and find a way to deliver them to these specific hosts.
>
> Florian
>
>
> --
> Linux-audit mailing list
> Linux-audit@redhat.com
> https://www.redhat.com/mailman/listinfo/linux-audit
next prev parent reply other threads:[~2015-08-04 19:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-28 15:26 Watching over non-existent folder to maintain a generic audit.rules file Florian Crouzat
2015-07-28 19:23 ` Steve Grubb
2015-07-28 22:39 ` Burn Alting
2015-07-29 6:24 ` Florian Crouzat
2015-08-04 13:57 ` Florian Crouzat
2015-08-04 19:55 ` Steve Grubb [this message]
2015-08-04 22:26 ` Burn Alting
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=17553516.FC0zugFrpV@x2 \
--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;
as well as URLs for NNTP newsgroup(s).