Watching over non-existent folder to maintain a generic audit.rules file

Florian Crouzat tech at floriancrouzat.net
Tue Aug 4 13:57:17 UTC 2015


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 ?

What would be the best practice to be alerted in case the compilation
fails (augenrules) ?

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





More information about the Linux-audit mailing list