Merge "Documentation entry for AIDE"
This commit is contained in:
commit
e0dd404274
@ -209,3 +209,130 @@ The following parameters can be set for a rule:
|
|||||||
* **destination**: The destination cidr associated to the rule.
|
* **destination**: The destination cidr associated to the rule.
|
||||||
|
|
||||||
* **extras**: Hash of any additional parameters supported by the puppetlabs-firewall module.
|
* **extras**: Hash of any additional parameters supported by the puppetlabs-firewall module.
|
||||||
|
|
||||||
|
AIDE - Intrusion Detection
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
AIDE (Advanced Intrusion Detection Environment) is a file and directory
|
||||||
|
integrity checker. It is used as medium to reveal possible unauthorized file
|
||||||
|
tampering / changes.
|
||||||
|
|
||||||
|
AIDE creates an integrity database of file hashes, which can then be used as a
|
||||||
|
comparison point to verify the integrity of the files and directories.
|
||||||
|
|
||||||
|
The TripleO AIDE service allows an operator to populate entries into an AIDE
|
||||||
|
configuration, which is then used by the AIDE service to create an integrity
|
||||||
|
database. This can be achieved using an environment file with the following
|
||||||
|
structure::
|
||||||
|
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::Services::Aide: ../puppet/services/aide.yaml
|
||||||
|
|
||||||
|
parameter_defaults:
|
||||||
|
AideRules:
|
||||||
|
'TripleORules':
|
||||||
|
content: 'TripleORules = p+sha256'
|
||||||
|
order : 1
|
||||||
|
'etc':
|
||||||
|
content: '/etc/ TripleORules'
|
||||||
|
order : 2
|
||||||
|
'boot':
|
||||||
|
content: '/boot/ TripleORules'
|
||||||
|
order : 3
|
||||||
|
'sbin':
|
||||||
|
content: '/sbin/ TripleORules'
|
||||||
|
order : 4
|
||||||
|
'var':
|
||||||
|
content: '/var/ TripleORules'
|
||||||
|
order : 5
|
||||||
|
'not var/log':
|
||||||
|
content: '!/var/log.*'
|
||||||
|
order : 6
|
||||||
|
'not var/spool':
|
||||||
|
content: '!/var/spool.*'
|
||||||
|
order : 7
|
||||||
|
'not /var/adm/utmp'
|
||||||
|
content: '!/var/adm/utmp$ '
|
||||||
|
order: 8
|
||||||
|
'not nova instances'
|
||||||
|
content: '!/var/lib/nova/instances.*'
|
||||||
|
order: 9
|
||||||
|
|
||||||
|
If above environment file were saved as `aide.yaml` it could then be passed to
|
||||||
|
the `overcloud deploy` command as follows::
|
||||||
|
|
||||||
|
openstack overcloud deploy --templates -e /path/to/aide.yaml
|
||||||
|
|
||||||
|
Let's walk through the different values used here.
|
||||||
|
|
||||||
|
First an 'alias' name `TripleORules` is declared to save us repeatedly typing
|
||||||
|
out the same attributes each time. To the alias we apply attributes of
|
||||||
|
`p+sha256`. In AIDE terms this reads as monitor all file permissions `p` with an
|
||||||
|
integrity checksum of `sha256`. For a complete list of attributes that can be
|
||||||
|
used in AIDE's config files, refer to the `AIDE MAN page <http://aide.sourceforge.net/stable/manual.html#config>`_.
|
||||||
|
|
||||||
|
Complex rules can be created using this format, such as the following::
|
||||||
|
|
||||||
|
MyAlias = p+i+n+u+g+s+b+m+c+sha512
|
||||||
|
|
||||||
|
The above would translate as monitor permissions, inodes, number of links, user,
|
||||||
|
group, size, block count, mtime, ctime, using sha256 for checksum generation.
|
||||||
|
|
||||||
|
Note, the alias should always have an order position of `1`, which means that
|
||||||
|
it is positioned at the top of the AIDE rules and is applied recursively to all
|
||||||
|
values below.
|
||||||
|
|
||||||
|
Following after the alias are the directories to monitor. Note that regular
|
||||||
|
expressions can be used. For example we set monitoring for the `var` directory,
|
||||||
|
but overwrite with a not clause using `!` with `'!/var/log.*'` and
|
||||||
|
`'!/var/spool.*'`.
|
||||||
|
|
||||||
|
Further AIDE values
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The following AIDE values can also be set.
|
||||||
|
|
||||||
|
`AideConfPath`: The full POSIX path to the aide configuration file, this
|
||||||
|
defaults to `/etc/aide.conf`. If no requirement is in place to change the file
|
||||||
|
location, it is recommended to stick with the default path.
|
||||||
|
|
||||||
|
`AideDBPath`: The full POSIX path to the AIDE integrity database. This value is
|
||||||
|
configurable to allow operators to declare their own full path, as often AIDE
|
||||||
|
database files are stored off node perhaps on a read only file mount.
|
||||||
|
|
||||||
|
`AideDBTempPath`: The full POSIX path to the AIDE integrity temporary database.
|
||||||
|
This temporary files is created when AIDE initializes a new database.
|
||||||
|
|
||||||
|
'AideHour': This value is to set the hour attribute as part of AIDE cron
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
'AideMinute': This value is to set the minute attribute as part of AIDE cron
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
'AideCronUser': This value is to set the linux user as part of AIDE cron
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
'AideEmail': This value sets the email address that receives AIDE reports each
|
||||||
|
time a cron run is made.
|
||||||
|
|
||||||
|
'AideMuaPath': This value sets the path to the Mail User Agent that is used to
|
||||||
|
send AIDE reports to the email address set within `AideEmail`.
|
||||||
|
|
||||||
|
Cron configuration
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The AIDE TripleO service allows configuration of a cron job. By default it will
|
||||||
|
send reports to `/var/log/audit/`, unless `AideEmail` is set, in which case it
|
||||||
|
will instead email the reports to the declared email address.
|
||||||
|
|
||||||
|
AIDE and Upgrades
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
When an upgrade is performed, the AIDE service will automatically regenerate
|
||||||
|
a new integrity database to ensure all upgraded files are correctly recomputed
|
||||||
|
to possess a updated checksum.
|
||||||
|
|
||||||
|
If `openstack overcloud deploy` is called as a subsequent run to an initial
|
||||||
|
deployment *and* the AIDE configuration rules are changed, the TripleO AIDE
|
||||||
|
service will rebuild the database to ensure the new config attributes are
|
||||||
|
encapsulated in the integrity database.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user