[Aide] config changes between 0.17.3 and 0.18.3

Paul B. Henson henson at acm.org
Mon Jun 26 23:55:06 EEST 2023


I recently updated a Debian box from 11 to 12, and correspondingly from
aide 0.17.3 to 0.18.3 and discovered the config seems to work quite
differently.

Historically, I would specify the most general stuff at the top and
override going down, for example:

/ Default
=/etc$ L

With 17, this did what I wanted, /etc itself matched the L rule:

[X] d '/etc': equal rule: '=/etc$ (none)
l+p+u+g+i+n+acl+selinux+xattrs+ftype+e2fsattrs+caps'
(/etc/aide/aide.conf:29: '=/etc$ L')

and everything else in /etc matched the default:

[X] d '/etc/udev': selective rule: '/ (none)
l+p+u+g+s+c+m+i+n+md5+sha1+acl+selinux+xattrs+ftype+e2fsattrs+caps'
(/etc/aide/aide.conf:18: '/ Default')
[X] d '/etc/tenshi': selective rule: '/ (none)
l+p+u+g+s+c+m+i+n+md5+sha1+acl+selinux+xattrs+ftype+e2fsattrs+caps'
(/etc/aide/aide.conf:18: '/ Default')
[X] f '/etc/services': selective rule: '/ (none)
l+p+u+g+s+c+m+i+n+md5+sha1+acl+selinux+xattrs+ftype+e2fsattrs+caps'
(/etc/aide/aide.conf:18: '/ Default')
[X] f '/etc/mail.rc': selective rule: '/ (none)
l+p+u+g+s+c+m+i+n+md5+sha1+acl+selinux+xattrs+ftype+e2fsattrs+caps'
(/etc/aide/aide.conf:18: '/ Default')

However, with 18, this only includes /etc in the db and everything else
is skipped:

[X] d '/etc': equal rule: '=/etc$ (none)
l+p+u+g+i+n+acl+selinux+xattrs+ftype+e2fsattrs+caps'
(/etc/aide/aide.conf:29: '=/etc$ L')
<nothing else from /etc included>


Interestingly, when I went to look at the man page, both 17 and 18 say:

       Equals rule:
              =<regex> <attribute expression>

              Files and directories matching the regular expression are added to the database.   The  chil‐
              dren  of  directories are only added if the regular expression ends with a "/".  The children
              of sub-directories are not added at all.

So the behavior of 18 matches the docs and that of 17 does not.

I've been doing this type of config for well over a decade and it's always
worked. I haven't gone back to see when the docs changed (or if they
changed?) but the behavior from 17 to 18 definitely has.


What's the recommended way to do this then? I tried:

/ Default
/etc$ L

but that doesn't work, /etc gets the top level default:

[X] d '/etc': selective rule: '/ (none) l+p+u+g+s+c+m+i+n+md5+sha1+acl+selinux+xattrs+ftype+e2fsattrs+caps' (/etc/aide/aide.conf:18: '/ Default')

I tried changing the order:

/etc$ L
/ Default

and that seems to work? Do I need to not use = rules now, and put more
specific stuff first?

Thanks...


More information about the Aide mailing list