Compare commits

...
Sign in to create a new pull request.

16 commits

Author SHA1 Message Date
Fedora Release Engineering
3b76bcd11a Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 03:31:38 +00:00
Cropi
9a67d750d4 Adjust default config to avoid false positives in /etc 2025-10-16 09:46:00 +02:00
Cropi
c4ba6e2926 Add explanatory comment for /boot/grub2/grubenv exclusion
Document why /boot/grub2/grubenv is excluded from AIDE monitoring.  The
file's timestamp gets modified continuously due to the "boot_success"
implementation, which would cause unnecessary noise in security
monitoring reports.
Do not monitor link count in /var/log/journal
2025-10-09 09:42:32 +02:00
Cropi
8479fabb2f Accomodate for constantly changing log files
Many log files constantly change, especially if those are rotated.
Many of those files have changing xattrs, e2fsattrs, caps and acl(s).
So let's not monitor them, unless there will be many false positives.
2025-09-24 08:16:59 +02:00
Cropi
307529a587 Do not monitor acl on /var/log/journal 2025-09-23 14:59:21 +02:00
Cropi
5634fe3236 Adjust ordering of /root files 2025-09-23 12:17:43 +02:00
Cropi
2ed6802a1a Do not include mtime/ctime in regular files 2025-09-23 11:51:37 +02:00
Cropi
32855bb235 Update LOG in config file 2025-09-23 11:08:10 +02:00
Attila Lakatos
e8239e55d5 Merge #9 Add .rpmlintrc file 2025-09-23 07:46:52 +00:00
Cropi
c9baefb299 Add .rpmlintrc file 2025-09-23 09:36:35 +02:00
Cropi
d25ee9c764 Adjust /var/log/journal monitoring in default config file
By default, log files are expected to grow but persistent journal files are not handled correctly. The persistent journal is stored in /var/log/journal, hence fall into LOG rule.Unfortunately since some version of Fedora, the journal files get an extended attribute user.crtime_usec which updates when the file rotates.
Make sure to leave this out from the report.
2025-09-23 08:23:48 +02:00
Cropi
9566357ccc Remove deprecated config file /etc/nscd.conf
https://fedoraproject.org/wiki/Changes/RemoveNSCD
2025-09-17 11:29:15 +02:00
Cropi
8a1c97dba1 Replace ntp with chrony config files 2025-09-17 11:28:32 +02:00
Attila Lakatos
18145fe46d Merge #7 Modernize aide configuration file 2025-09-09 09:26:01 +00:00
Cropi
9201249285 Refactor aide.conf 2025-09-09 10:23:07 +02:00
Cropi
7aad76e824 Rebase to 0.19.2
Resolves: rhbz#2389391
Resolves: rhbz#2389389
CVE-2025-54389
CVE-2025-54409
2025-08-20 08:33:36 +02:00
5 changed files with 230 additions and 116 deletions

2
.gitignore vendored
View file

@ -19,3 +19,5 @@ aide-0.14.tar.gz.asc
/aide-0.18.8.tar.gz.asc /aide-0.18.8.tar.gz.asc
/aide-0.19.1.tar.gz /aide-0.19.1.tar.gz
/aide-0.19.1.tar.gz.asc /aide-0.19.1.tar.gz.asc
/aide-0.19.2.tar.gz
/aide-0.19.2.tar.gz.asc

323
aide.conf
View file

@ -111,31 +111,32 @@ report_url=stdout
# Use 'aide --version' to list the default compound groups. # Use 'aide --version' to list the default compound groups.
# You can create custom rules like this. # You can create custom rules like this.
# With MHASH... # Note: Removed deprecated/removed hashsums (tiger, haval, crc32, crc32b, whirlpool, md5, sha1, rmd160, gost)
# ALLXTRAHASHES = sha1+rmd160+sha256+sha512+whirlpool+tiger+haval+gost+crc32 ALLXTRAHASHES = sha256+sha512+sha512_256+sha3_256+sha3_512+stribog256+stribog512
ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger # Everything but access time (Ie. all changes) - updated with modern hashsums
# Everything but access time (Ie. all changes)
EVERYTHING = R+ALLXTRAHASHES EVERYTHING = R+ALLXTRAHASHES
# Sane, with multiple hashes # Base + sha512 (strong)
# NORMAL = R+rmd160+sha256+whirlpool NORMAL = R+sha512-m-c
NORMAL = FIPSR+sha512
# For directories, don't bother doing hashes # Content only - added file type and strong hash
DIR = p+i+n+u+g+acl+selinux+xattrs CONTENT = ftype+sha512
# Access control only # For directories, don't bother doing hashes - added file type and link name
PERMS = p+i+u+g+acl+selinux DIR = ftype+p+i+l+n+u+g+acl+selinux+xattrs
# Logfile are special, in that they often change # Access control only - added file type and link name
LOG = > PERMS = ftype+p+u+g+acl+selinux+xattrs
# Just do sha256 and sha512 hashes # Logfiles are special, in that they often change due to log rotation
LSPP = FIPSR+sha512 # Track only: permissions, file type, user, group, number of links, SELinux context, extended attributes
# Allow new files (ANF) and allow removed files (ARF) due to log rotation techniques
# Don't track: size, inodes, timestamps, checksums and some special attributes (these change frequently with log rotation)
LOG = p+ftype+u+g+n+ANF+ARF+selinux+xattrs
# Some files get updated automatically, so the inode/ctime/mtime change # Some files get updated automatically, so the inode/ctime/mtime change
# but we want to know when the data inside them changes # but we want to know when the data inside them changes - updated with modern hash
DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256 DATAONLY = ftype+p+l+n+u+g+s+acl+selinux+xattrs+sha256
# Next decide what directories/files you want in the database. # Next decide what directories/files you want in the database.
@ -144,124 +145,220 @@ DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256
/sbin NORMAL /sbin NORMAL
/lib NORMAL /lib NORMAL
/lib64 NORMAL /lib64 NORMAL
/opt NORMAL # Monitor /opt selectively to avoid noise from auto-updating applications
/opt CONTENT
/usr NORMAL /usr NORMAL
/root NORMAL
# These are too volatile # These are too volatile
!/usr/src !/usr/src
!/usr/tmp !/usr/tmp
# Admins dot files constantly change, just check perms
/root/\..* PERMS
!/root/.xauth*
/root NORMAL
# Check only permissions, inode, user and group for /etc, but # Check only permissions, inode, user and group for /etc, but
# cover some important files closely. # cover some important files closely.
/etc PERMS
!/etc/mtab !/etc/mtab
# Ignore backup files # Ignore backup files
!/etc/.*~ !/etc/.*~
/etc/exports NORMAL
/etc/fstab NORMAL
/etc/passwd NORMAL
/etc/group NORMAL
/etc/gshadow NORMAL
/etc/shadow NORMAL
/etc/security/opasswd NORMAL
/etc/hosts.allow NORMAL # trusted databases
/etc/hosts.deny NORMAL /etc/hosts$ NORMAL
/etc/host.conf$ NORMAL
/etc/hostname$ NORMAL
/etc/issue$ NORMAL
/etc/issue.net$ NORMAL
/etc/protocols$ NORMAL
/etc/services$ NORMAL
/etc/localtime$ NORMAL
/etc/alternatives NORMAL
/etc/mime.types$ NORMAL
/etc/terminfo NORMAL
/etc/exports$ NORMAL
/etc/fstab$ NORMAL
/etc/passwd$ NORMAL
/etc/group$ NORMAL
/etc/gshadow$ NORMAL
/etc/shadow$ NORMAL
/etc/subgid$ NORMAL
/etc/subuid$ NORMAL
/etc/skel NORMAL
/etc/sssd NORMAL
/etc/swid NORMAL
/etc/system-release-cpe$ NORMAL
/etc/tmux.conf$ NORMAL
/etc/xattr.conf$ NORMAL
/etc/sudoers NORMAL # networking
/etc/skel NORMAL /etc/firewalld NORMAL
!/etc/NetworkManager/system-connections
/etc/NetworkManager NORMAL
/etc/networks$ NORMAL
/etc/dhcp NORMAL
/etc/wpa_supplicant NORMAL
/etc/resolv.conf$ DATAONLY
/etc/logrotate.d NORMAL # logins and accounts
/etc/login.defs$ NORMAL
/etc/resolv.conf DATAONLY /etc/libuser.conf$ NORMAL
/var/log/faillog$ PERMS
/etc/nscd.conf NORMAL /var/log/lastlog$ PERMS
/etc/securetty NORMAL /var/run/faillock PERMS
/etc/pam.d NORMAL
/etc/security NORMAL
/etc/securetty$ NORMAL
/etc/polkit-1 NORMAL
/etc/sudo.conf$ NORMAL
/etc/sudoers$ NORMAL
/etc/sudoers.d NORMAL
# Shell/X starting files # Shell/X starting files
/etc/profile NORMAL /etc/profile$ NORMAL
/etc/bashrc NORMAL /etc/profile.d NORMAL
/etc/bash_completion.d/ NORMAL /etc/bashrc$ NORMAL
/etc/login.defs NORMAL /etc/bash_completion.d NORMAL
/etc/zprofile NORMAL /etc/zprofile$ NORMAL
/etc/zshrc NORMAL /etc/zshrc$ NORMAL
/etc/zlogin NORMAL /etc/zlogin$ NORMAL
/etc/zlogout NORMAL /etc/zlogout$ NORMAL
/etc/profile.d/ NORMAL /etc/X11 NORMAL
/etc/X11/ NORMAL /etc/shells$ NORMAL
# Pkg manager # Pkg manager
/etc/yum.conf NORMAL /etc/dnf NORMAL
/etc/yumex.conf NORMAL /etc/yum.repos.d NORMAL
/etc/yumex.profiles.conf NORMAL
/etc/yum/ NORMAL # auditing
/etc/yum.repos.d/ NORMAL # AIDE produces an audit record, so this becomes perpetual motion.
/var/log/audit PERMS
/etc/audit NORMAL
/etc/libaudit.conf$ NORMAL
/etc/aide.conf$ NORMAL
# System logs with proper logrotate handling
/etc/rsyslog.conf$ NORMAL
/etc/rsyslog.d NORMAL
/etc/logrotate.conf$ NORMAL
/etc/logrotate.d NORMAL
/etc/systemd/journald.conf$ NORMAL
# Log directory
/var/log LOG
# Journal files - exclude xattrs and link count due to systemd journal's user.crtime_usec extended attribute changes and new directory creation
/var/log/journal LOG-xattrs-n
/var/log LOG
/var/run/utmp LOG /var/run/utmp LOG
# secrets
/etc/pkcs11 NORMAL
/etc/pki NORMAL
/etc/ssl NORMAL
/etc/certmonger NORMAL
/var/lib/systemd/random-seed$ PERMS
# init system
/etc/systemd NORMAL
/etc/sysconfig NORMAL
/etc/rc.d NORMAL
/etc/tmpfiles.d NORMAL
/etc/machine-id$ NORMAL
# boot config
/etc/default NORMAL
/etc/grub.d NORMAL
/etc/grub2.cfg$ NORMAL
/etc/dracut.conf$ NORMAL
/etc/dracut.conf.d NORMAL
# glibc linker
/etc/ld.so.cache$ NORMAL
/etc/ld.so.conf$ NORMAL
/etc/ld.so.conf.d NORMAL
/etc/ld.so.preload$ NORMAL
# kernel config
/etc/sysctl.conf$ NORMAL
/etc/sysctl.d NORMAL
/etc/modprobe.d NORMAL
/etc/modules-load.d NORMAL
/etc/depmod.d NORMAL
/etc/udev NORMAL
/etc/crypttab$ NORMAL
#### Daemons ####
# cron jobs
/var/spool/at CONTENT
/etc/at.allow$ CONTENT
/etc/at.deny$ CONTENT
/etc/anacrontab$ NORMAL
/etc/cron.allow$ NORMAL
/etc/cron.deny$ NORMAL
/etc/cron.d NORMAL
/etc/cron.daily NORMAL
/etc/cron.hourly NORMAL
/etc/cron.monthly NORMAL
/etc/cron.weekly NORMAL
/etc/crontab$ NORMAL
/var/spool/cron/root CONTENT
# time keeping
/etc/chrony.conf$ NORMAL
/etc/chrony.keys$ NORMAL
# mail
/etc/aliases$ NORMAL
/etc/aliases.db$ NORMAL
/etc/postfix NORMAL
# ssh
/etc/ssh/sshd_config$ NORMAL
/etc/ssh/ssh_config$ NORMAL
# stunnel
/etc/stunnel NORMAL
# ftp
/etc/vsftpd CONTENT
# printing
/etc/cups NORMAL
/etc/cupshelpers NORMAL
/etc/avahi NORMAL
# web server
/etc/httpd NORMAL
# dns
/etc/named NORMAL
/etc/named.conf$ NORMAL
/etc/named.iscdlv.key$ NORMAL
/etc/named.rfc1912.zones$ NORMAL
/etc/named.root.key$ NORMAL
# xinetd
/etc/xinetd.conf$ NORMAL
/etc/xinetd.d NORMAL
# IPsec
/etc/ipsec.conf$ NORMAL
/etc/ipsec.secrets$ NORMAL
/etc/ipsec.d NORMAL
# USBGuard
/etc/usbguard NORMAL
# Now everything else
/etc PERMS
# This gets new/removes-old filenames daily # This gets new/removes-old filenames daily
!/var/log/sa !/var/log/sa
# As we are checking it, we've truncated yesterdays size to zero. # As we are checking it, we've truncated yesterdays size to zero.
!/var/log/aide.log !/var/log/aide.log
# LSPP rules...
# AIDE produces an audit record, so this becomes perpetual motion.
# /var/log/audit/ LSPP
/etc/audit/ LSPP
/etc/libaudit.conf LSPP
/usr/sbin/stunnel LSPP
/var/spool/at LSPP
/etc/at.allow LSPP
/etc/at.deny LSPP
/etc/cron.allow LSPP
/etc/cron.deny LSPP
/etc/cron.d/ LSPP
/etc/cron.daily/ LSPP
/etc/cron.hourly/ LSPP
/etc/cron.monthly/ LSPP
/etc/cron.weekly/ LSPP
/etc/crontab LSPP
/var/spool/cron/root LSPP
/etc/login.defs LSPP
/etc/securetty LSPP
/var/log/faillog LSPP
/var/log/lastlog LSPP
/etc/hosts LSPP
/etc/sysconfig LSPP
/etc/inittab LSPP
/etc/grub/ LSPP
/etc/rc.d LSPP
/etc/ld.so.conf LSPP
/etc/localtime LSPP
/etc/sysctl.conf LSPP
/etc/modprobe.conf LSPP
/etc/pam.d LSPP
/etc/security LSPP
/etc/aliases LSPP
/etc/postfix LSPP
/etc/ssh/sshd_config LSPP
/etc/ssh/ssh_config LSPP
/etc/stunnel LSPP
/etc/vsftpd.ftpusers LSPP
/etc/vsftpd LSPP
/etc/issue LSPP
/etc/issue.net LSPP
/etc/cups LSPP
# With AIDE's default verbosity level of 5, these would give lots of # With AIDE's default verbosity level of 5, these would give lots of
# warnings upon tree traversal. It might change with future version. # warnings upon tree traversal. It might change with future version.
# #
@ -269,7 +366,7 @@ DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256
#=/home DIR #=/home DIR
# Ditto /var/log/sa reason... # Ditto /var/log/sa reason...
!/var/log/and-httpd !/var/log/httpd
# /boot/grub2/grubenv's timestamp is getting modified continuously due to "boot_success" implementation
!/boot/grub2/grubenv
# Admins dot files constantly change, just check perms
/root/\..* PERMS

15
aide.rpmlintrc Normal file
View file

@ -0,0 +1,15 @@
# RPMlint configuration for aide package
# These warnings are expected and intentional for security reasons
# AIDE log directory has restricted permissions (700) for security
# Log files may contain sensitive security information
addFilter("aide.* non-standard-dir-perm /var/log/aide 700")
# AIDE configuration file has restricted permissions (600) for security
# Configuration reveals what files/directories are monitored
addFilter("aide.* non-readable /etc/aide.conf 600")
# FSF address in COPYING file is outdated - this is an upstream issue
# The license text contains the old FSF address format
addFilter("aide.* incorrect-fsf-address /usr/share/licenses/aide/COPYING")

View file

@ -1,6 +1,6 @@
Summary: Intrusion detection environment Summary: Intrusion detection environment
Name: aide Name: aide
Version: 0.19.1 Version: 0.19.2
Release: %autorelease Release: %autorelease
URL: https://github.com/aide/aide URL: https://github.com/aide/aide
License: GPL-2.0-or-later License: GPL-2.0-or-later

View file

@ -1,2 +1,2 @@
SHA512 (aide-0.19.1.tar.gz) = 5f345458acdc79072b8293ea19a6846f2f7ab2eca36729ff1dc6fe06595a40f46af5aac57c8b02b4d144a4ad649b2a1d7f8e3bb216f0fa3d48a7023abf0029b1 SHA512 (aide-0.19.2.tar.gz) = 08506c2302e34794fa08a27caaa1e714ba736d46351c577234f2c3d2623ea82b243b3318061a369a46d6961a782f42fbb8edd42d1d4de6949e7fc30c87865830
SHA512 (aide-0.19.1.tar.gz.asc) = d5bb3b8ec7dec229a01ae2e2588cc64caf9eaf2e9a71593c2d43662eb25f0afca9d955de7eeba13ca10dbe09f5b66e3b653ab018aa4c16f0531c368335b5e6de SHA512 (aide-0.19.2.tar.gz.asc) = ebc04f22a49ec6b378dca4930574edcd46919281297bc1d5e09f5839a6fab3a38762462b7d852a82b7045313f9c24208bfff49a561d8afd04e9116be7096169a