Michael Schwendt 699918
# Example configuration file for AIDE.
Michael Schwendt 699918
Michael Schwendt 699918
@@define DBDIR /var/lib/aide
Michael Schwendt 699918
Michael Schwendt 699918
# The location of the database to be read.
Michael Schwendt 699918
database=file:@@{DBDIR}/aide.db.gz
Michael Schwendt 699918
Michael Schwendt 699918
# The location of the database to be written.
Michael Schwendt 699918
#database_out=sql:host:port:database:login_name:passwd:table
Michael Schwendt 699918
#database_out=file:aide.db.new
Michael Schwendt 699918
database_out=file:@@{DBDIR}/aide.db.new.gz
Michael Schwendt 699918
Michael Schwendt 699918
# Whether to gzip the output to database
Michael Schwendt 699918
gzip_dbout=yes
Michael Schwendt 699918
Michael Schwendt 699918
# Default.
Michael Schwendt 699918
verbose=5
Michael Schwendt 699918
Michael Schwendt 699918
report_url=file:/var/log/aide.log
Michael Schwendt 699918
report_url=stdout
Michael Schwendt 699918
#report_url=stderr
Michael Schwendt 699918
#NOT IMPLEMENTED report_url=mailto:root@foo.com
Michael Schwendt 699918
#NOT IMPLEMENTED report_url=syslog:LOG_AUTH
Michael Schwendt 699918
Michael Schwendt 699918
# These are the default rules.
Michael Schwendt 699918
#
Michael Schwendt 699918
#p:      permissions
Michael Schwendt 699918
#i:      inode:
Michael Schwendt 699918
#n:      number of links
Michael Schwendt 699918
#u:      user
Michael Schwendt 699918
#g:      group
Michael Schwendt 699918
#s:      size
Michael Schwendt 699918
#b:      block count
Michael Schwendt 699918
#m:      mtime
Michael Schwendt 699918
#a:      atime
Michael Schwendt 699918
#c:      ctime
Michael Schwendt 699918
#acl:           Access Control Lists
Michael Schwendt 699918
#selinux        SELinux security context
Michael Schwendt 699918
#xattrs:        Extended file attributes
Michael Schwendt 699918
#S:      check for growing size
Michael Schwendt 699918
#md5:    md5 checksum
Michael Schwendt 699918
#sha1:   sha1 checksum
Michael Schwendt 699918
#sha256:        sha256 checksum
Michael Schwendt 699918
#sha512:        sha512 checksum
Michael Schwendt 699918
#rmd160: rmd160 checksum
Michael Schwendt 699918
#tiger:  tiger checksum
Michael Schwendt 699918
Michael Schwendt 699918
#haval:  haval checksum (MHASH only)
Michael Schwendt 699918
#gost:   gost checksum (MHASH only)
Michael Schwendt 699918
#crc32:  crc32 checksum (MHASH only)
Michael Schwendt 699918
#whirlpool:     whirlpool checksum (MHASH only)
Michael Schwendt 699918
Michael Schwendt 699918
#R:             p+i+n+u+g+s+m+c+acl+selinux+xattrs+md5
Michael Schwendt 699918
#L:             p+i+n+u+g+acl+selinux+xattrs
Michael Schwendt 699918
#E:             Empty group
Michael Schwendt 699918
#>:             Growing logfile p+u+g+i+n+S+acl+selinux+xattrs
Michael Schwendt 699918
Michael Schwendt 699918
# You can create custom rules like this.
Michael Schwendt 699918
# With MHASH...
Michael Schwendt 699918
# ALLXTRAHASHES = sha1+rmd160+sha256+sha512+whirlpool+tiger+haval+gost+crc32
Michael Schwendt 699918
ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
Michael Schwendt 699918
# Everything but access time (Ie. all changes)
Michael Schwendt 699918
EVERYTHING = R+ALLXTRAHASHES
Michael Schwendt 699918
Michael Schwendt 699918
# Sane, with multiple hashes
Michael Schwendt 699918
# NORMAL = R+rmd160+sha256+whirlpool
Michael Schwendt 699918
NORMAL = R+rmd160+sha256
Michael Schwendt 699918
Michael Schwendt 699918
# For directories, don't bother doing hashes
Michael Schwendt 699918
DIR = p+i+n+u+g+acl+selinux+xattrs
Michael Schwendt 699918
Michael Schwendt 699918
# Access control only
Michael Schwendt 699918
PERMS = p+i+u+g+acl+selinux
Michael Schwendt 699918
Michael Schwendt 699918
# Logfile are special, in that they often change
Michael Schwendt 699918
LOG = >
Michael Schwendt 699918
Michael Schwendt 699918
# Just do md5 and sha256 hashes
Michael Schwendt 699918
LSPP = R+sha256
Michael Schwendt 699918
Michael Schwendt 699918
# Some files get updated automatically, so the inode/ctime/mtime change
Michael Schwendt 699918
# but we want to know when the data inside them changes
Michael Schwendt 699918
DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+md5+sha256+rmd160+tiger
Michael Schwendt 699918
Michael Schwendt 699918
# Next decide what directories/files you want in the database.
Michael Schwendt 699918
Michael Schwendt 699918
/boot   NORMAL
Michael Schwendt 699918
/bin    NORMAL
Michael Schwendt 699918
/sbin   NORMAL
Michael Schwendt 699918
/lib    NORMAL
Michael Schwendt 699918
/opt    NORMAL
Michael Schwendt 699918
/usr    NORMAL
Michael Schwendt 699918
/root   NORMAL
Michael Schwendt 699918
# These are too volatile
Michael Schwendt 699918
!/usr/src
Michael Schwendt 699918
!/usr/tmp
Michael Schwendt 699918
Michael Schwendt 699918
# Check only permissions, inode, user and group for /etc, but
Michael Schwendt 699918
# cover some important files closely.
Michael Schwendt 699918
/etc    PERMS
Michael Schwendt 699918
!/etc/mtab
Michael Schwendt 699918
# Ignore backup files
Michael Schwendt 699918
!/etc/.*~
Michael Schwendt 699918
/etc/exports  NORMAL
Michael Schwendt 699918
/etc/fstab    NORMAL
Michael Schwendt 699918
/etc/passwd   NORMAL
Michael Schwendt 699918
/etc/group    NORMAL
Michael Schwendt 699918
/etc/gshadow  NORMAL
Michael Schwendt 699918
/etc/shadow   NORMAL
Michael Schwendt 699918
/etc/security/opasswd   NORMAL
Michael Schwendt 699918
Michael Schwendt 699918
/etc/hosts.allow   NORMAL
Michael Schwendt 699918
/etc/hosts.deny    NORMAL
Michael Schwendt 699918
Michael Schwendt 699918
/etc/sudoers NORMAL
Michael Schwendt 699918
/etc/skel NORMAL
Michael Schwendt 699918
Michael Schwendt 699918
/etc/logrotate.d NORMAL
Michael Schwendt 699918
Michael Schwendt 699918
/etc/resolv.conf DATAONLY
Michael Schwendt 699918
Michael Schwendt 699918
/etc/nscd.conf NORMAL
Michael Schwendt 699918
/etc/securetty NORMAL
Michael Schwendt 699918
Michael Schwendt 699918
# Shell/X starting files
Michael Schwendt 699918
/etc/profile NORMAL
Michael Schwendt 699918
/etc/bashrc NORMAL
Michael Schwendt 699918
/etc/bash_completion.d/ NORMAL
Michael Schwendt 699918
/etc/login.defs NORMAL
Michael Schwendt 699918
/etc/zprofile NORMAL
Michael Schwendt 699918
/etc/zshrc NORMAL
Michael Schwendt 699918
/etc/zlogin NORMAL
Michael Schwendt 699918
/etc/zlogout NORMAL
Michael Schwendt 699918
/etc/profile.d/ NORMAL
Michael Schwendt 699918
/etc/X11/ NORMAL
Michael Schwendt 699918
Michael Schwendt 699918
# Pkg manager
Michael Schwendt 699918
/etc/yum.conf NORMAL
Michael Schwendt 699918
/etc/yumex.conf NORMAL
Michael Schwendt 699918
/etc/yumex.profiles.conf NORMAL
Michael Schwendt 699918
/etc/yum/ NORMAL
Michael Schwendt 699918
/etc/yum.repos.d/ NORMAL
Michael Schwendt 699918
Michael Schwendt 699918
/var/log   LOG
Michael Schwendt 699918
# This gets new/removes-old filenames daily
Michael Schwendt 699918
!/var/log/sa
Michael Schwendt 699918
# As we are checking it, we've truncated yesterdays size to zero.
Michael Schwendt 699918
!/var/log/aide.log
Michael Schwendt 699918
Michael Schwendt 699918
# LSPP rules...
Michael Schwendt 699918
# AIDE produces an audit record, so this becomes perpetual motion.
Michael Schwendt 699918
# /var/log/audit/ LSPP
Michael Schwendt 699918
/etc/audit/ LSPP
Michael Schwendt 699918
/etc/libaudit.conf LSPP
Michael Schwendt 699918
/usr/sbin/stunnel LSPP
Michael Schwendt 699918
/var/spool/at LSPP
Michael Schwendt 699918
/etc/at.allow LSPP
Michael Schwendt 699918
/etc/at.deny LSPP
Michael Schwendt 699918
/etc/cron.allow LSPP
Michael Schwendt 699918
/etc/cron.deny LSPP
Michael Schwendt 699918
/etc/cron.d/ LSPP
Michael Schwendt 699918
/etc/cron.daily/ LSPP
Michael Schwendt 699918
/etc/cron.hourly/ LSPP
Michael Schwendt 699918
/etc/cron.monthly/ LSPP
Michael Schwendt 699918
/etc/cron.weekly/ LSPP
Michael Schwendt 699918
/etc/crontab LSPP
Michael Schwendt 699918
/var/spool/cron/root LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/login.defs LSPP
Michael Schwendt 699918
/etc/securetty LSPP
Michael Schwendt 699918
/var/log/faillog LSPP
Michael Schwendt 699918
/var/log/lastlog LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/hosts LSPP
Michael Schwendt 699918
/etc/sysconfig LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/inittab LSPP
Michael Schwendt 699918
# Grub isn't in LSPP, but pretend it is
Michael Schwendt 699918
/etc/grub/ LSPP
Michael Schwendt 699918
/etc/rc.d LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/ld.so.conf LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/localtime LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/sysctl.conf LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/modprobe.conf LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/pam.d LSPP
Michael Schwendt 699918
/etc/security LSPP
Michael Schwendt 699918
/etc/aliases LSPP
Michael Schwendt 699918
/etc/postfix LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/ssh/sshd_config LSPP
Michael Schwendt 699918
/etc/ssh/ssh_config LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/stunnel LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/vsftpd.ftpusers LSPP
Michael Schwendt 699918
/etc/vsftpd LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/issue LSPP
Michael Schwendt 699918
/etc/issue.net LSPP
Michael Schwendt 699918
Michael Schwendt 699918
/etc/cups LSPP
Michael Schwendt 699918
Michael Schwendt 699918
# With AIDE's default verbosity level of 5, these would give lots of
Michael Schwendt 699918
# warnings upon tree traversal. It might change with future version.
Michael Schwendt 699918
#
Michael Schwendt 699918
#=/lost\+found    DIR
Michael Schwendt 699918
#=/home           DIR
Michael Schwendt 699918
Michael Schwendt 699918
# Dito /var/log/sa reason...
Michael Schwendt 699918
!/var/log/and-httpd