mklauber/aide
is a puppet module for managing Aide (Advanced Intrustion Detection Environment). It allows you to define Rules and File/folder watches via defined types. Refer to the Aide manual for details about Aide configuration options.
This project is no longer actively maintained. While bug fixes will be accepted, no new features will be added. The author makes no promises about the ability of this module to work with newer versions of puppet.
The simplest use of mklauber/aide
is to place a watch on the root directory, as follows.
aide::watch { 'example':
path => '/',
rules => 'p'
}
This example adds the line / R
which watches the permissions of all files on the operating system. Obviously, this is a simplistic, non useful solution.
aide::watch { 'example':
path => '/etc',
rules => 'p+md5'
}
This example adds the line /etc p+md5
which watches /etc
with both permissions and md5sums. This could also be implemented as follows.
aide::watch { 'example':
path => '/etc',
rules => ['p', 'md5']
}
Sometimes you wish to use the same rule to watch multiple directories, and in keeping with the Don't Repeat Yourself(DRY) viewpoint, we should create a common name for the rule. This can be done via the aide::rule
stanza.
aide::rule { 'MyRule':
name => 'MyRule',
rules => ['p', 'md5']
}
aide::watch { '/etc':
path => '/etc',
rules => 'MyRule'
}
aide::watch { 'otherApp':
path => '/path/to/other/config/dir',
rules => 'MyRule'
}
Here we are defining a rule in called MyRule which will add the line MyRule = p+md5
. The next two stanzas can reference that rule. They will show up as /etc MyRule
and /path/to/other/config/dir MyRule
.
aide::watch { '/var/log':
path => '/etc',
type => 'exclude'
}
This with ignore all files under /var/log. It adds the line !/var/log
to the config file.
aide::watch { '/var/log/messages':
path => '/etc',
type => 'equals',
rules => 'MyRule'
}
This with watch only the file /var/log/messages. It will ignore /var/log/messages/thingie. It adds the line =/var/log/messages MyRule
to the config file.