====== Система Linux Auditing ======
* [[http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html|Linux audit files to see who made changes to a file]]
* [[http://www.xakep.ru/post/54897/|Аудит системных событий в Linux]]
Сценарий: отслеживаем события чтения/записи/добавления в файлы passwd и shadow
===== Установка и запуск системы аудита =====
# apt install auditd
===== Настройка правил аудита событий =====
# auditctl -D
# auditctl -w /etc/passwd -p rwa -k passwords-files
# auditctl -w /etc/shadow -p rwa -k passwords-files
# auditctl -l
# cat /etc/audit/audit.rules
ubuntu24/debian12# cat /etc/audit/rules.d/audit.rules
...
-w /etc/passwd -p rwa -k passwords-files
-w /etc/shadow -p rwa -k passwords-files
# service auditd restart
===== Генерация событий =====
user1$ touch /etc/passwd
user1$ cat /etc/shadow
===== Поиск событий =====
# cat /var/log/audit/audit.log
# ausearch -f /etc/passwd
# ausearch -k passwords-files
===== Дополнительные материалы =====
==== Рекомендованный набор правил ====
# cat /etc/audit/rules.d/soc.rules
# Аудит входа/выхода пользователей
-w /var/log/faillog -p wa -k logins
-w /var/run/faillock -p wa -k logins
# Контроль за изменениями пользователей и групп
-w /etc/passwd -p wa -k usermod
-w /etc/group -p wa -k groupmod
-w /etc/shadow -p wa -k shadowmod
-w /etc/gshadow -p wa -k gshadowmod
# Контроль за добавление/удаление пользователей
-w /usr/sbin/useradd -p x -k user_add
-w /usr/sbin/userdel -p x -k user_del
-w /usr/sbin/usermod -p x -k user_mod
# Аудит изменений прав доступа к файлам
-a always,exit -F arch=b64 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_mod
-a always,exit -F arch=b32 -S chmod,fchmod,fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_mod
# Аудит использования команд sudo
-a always,exit -F path=/usr/bin/sudo -F perm=x -k sudo_usage
# контроль за изменением sudoers
-w /etc/sudoers -p wa -k priv_change
-w /etc/sudoers.d/ -p wa -k priv_change
# Аудит изменения времени системы
-a always,exit -F arch=b64 -S adjtimex,settimeofday -k time_change
-a always,exit -F arch=b32 -S adjtimex,settimeofday -k time_change
# контроль за изменениями /etc/passwd, /etc/shadow, /etc/group и /etc/gshadow
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/group -p wa -k identity
# Контроль за изменениями системных конфигурационных файлов
-w /etc/sysctl.conf -p wa -k sysctl
-w /etc/hosts -p wa -k network
-w /etc/resolv.conf -p wa -k dns
-w /etc/gshadow -p wa -k identity
# Контроль за изменениями изменение правил iptables
-w /sbin/iptables -p x -k firewall
-w /sbin/ip6tables -p x -k firewall
-w /usr/sbin/nft -p x -k firewall
-w /etc/firewalld -p wa -k firewall
# Контроль за изменением файлов SSH
-w /etc/ssh/sshd_config -p wa -k sshd_config
# Логирование команд, выполненных с правами root
-a exit,always -F arch=b64 -F euid=0 -S execve -k ssh_commands
-a exit,always -F arch=b32 -F euid=0 -S execve -k ssh_commands