Product SiteDocumentation Site

74.7.4. Примеры

74.7.4.1. Запуск и завершение выполнения функций аудита

Поиск записей аудита, связанных с запуском и завершением функции аудита:
# ausearch -m DAEMON_START -m DAEMON_END
----
time->Wed Mar 26 13:33:53 2025
type=DAEMON_START msg=audit(1742988833.862:4634): op=start ver=4.0.1
format=enriched kernel=6.12.19-6.12-alt1 auid=4294967295 pid=5631 uid=0 ses=4294967295 res=success
----
time->Wed Mar 26 15:12:53 2025
type=DAEMON_END msg=audit(1742994773.359:4635): op=terminate auid=0 uid=0 ses=4294967295 pid=1 res=success
----
time->Wed Mar 26 15:19:07 2025
type=DAEMON_START msg=audit(1742995147.170:2639): op=start ver=4.0.1
format=enriched kernel=6.12.19-6.12-alt1 auid=4294967295 pid=16461 uid=0 ses=4294967295 res=success

74.7.4.2. Модификация конфигурации аудита

События модификации конфигурации аудита, происходящие во время сбора данных аудита, записываются в файл журнала аудита /var/log/audit/audit.log.
Поиск записей аудита, связанных с модификацией конфигурации аудита:
# ausearch -m CONFIG_CHANGE
----
time->Wed Mar 26 15:24:01 2025
type=PROCTITLE msg=audit(1742995441.576:556): proctitle=617564697463746C002D660032
type=SOCKADDR msg=audit(1742995441.576:556): saddr=100000000000000000000000
type=SYSCALL msg=audit(1742995441.576:556): arch=c000003e syscall=44 success=yes exit=60 a0=3 a1=7ffccc6a5f50 a2=3c a3=0 items=0 ppid=2648 pid=16536 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=10 comm="auditctl" exe="/usr/sbin/auditctl" key=(null)
type=CONFIG_CHANGE msg=audit(1742995441.576:556): op=set audit_failure=2 old=1 auid=1000 ses=10 res=1
Можно также создать правило аудита, которое будет отслеживать изменения конфигурации аудита:
# auditctl -a always,exit -F arch=b64 -F path=/etc/audit -F perm=w -F key=audit_config
Найти такие записи аудита можно, выполнив команду:
# ausearch -k audit_config
----
time->Wed Mar 26 15:26:36 2025
type=PROCTITLE msg=audit(1742995596.829:558): proctitle=617564697463746C002D77002F6574632F6175646974002D700077002D6B0061756469745F636F6E666967
type=PATH msg=audit(1742995596.829:558): item=0 name="/etc/audit" inode=1050346 dev=08:02 mode=040700 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=CWD msg=audit(1742995596.829:558): cwd="/root"
type=SOCKADDR msg=audit(1742995596.829:558): saddr=100000000000000000000000
type=SYSCALL msg=audit(1742995596.829:558): arch=c000003e syscall=44 success=yes exit=1080 a0=4 a1=7ffd79dbf240 a2=438 a3=0 items=1 ppid=2648 pid=16559 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=10 comm="auditctl" exe="/usr/sbin/auditctl" key=(null)
type=CONFIG_CHANGE msg=audit(1742995596.829:558): auid=1000 ses=10 op=add_rule key="audit_config" list=4 res=1

74.7.4.3. События, связанные с операцией чтения записей аудита

Можно создать правило аудита, связанное с неуспешными попытками чтения записей аудита:
# auditctl -a always,exit -F arch=b64 -S open -F exit=-EACCES -F key=open -k audit_log_EACCES
# auditctl -a always,exit -F arch=b64 -S open -F exit=-EPERM -F key=open -k audit_log_EPERM
После попыток прочитать данные аудита напрямую из файла /var/log/audit/audit.log и с помощью команды ausearch от имени обычного пользователя:
$ cat /var/log/audit/audit.log
cat: /var/log/audit/audit.log: Отказано в доступе
$ /sbin/ausearch -i -k audit_log
Error opening config file (Отказано в доступе)
NOTE - using built-in end_of_event_timeout: 2
NOTE - using built-in logs: /var/log/audit/audit.log
Error opening /var/log/audit/audit.log (Отказано в доступе
Будут созданы следующие записи, связанные с операцией чтения записей аудита:
# ausearch -i -k audit_log
----
type=PROCTITLE msg=audit(26.03.2025 15:56:57.706:818) : proctitle=auditctl -a always,exit -F arch b64 -S open -F exit -EACCES -F key=open -k audit_log_EACCES
type=SOCKADDR msg=audit(26.03.2025 15:56:57.706:818) : saddr={ saddr_fam=netlink nlnk-fam=16 nlnk-pid=0 }
type=SYSCALL msg=audit(26.03.2025 15:56:57.706:818) : arch=x86_64 syscall=sendto success=yes exit=1080 a0=0x4 a1=0x7ffdd2ea59c0 a2=0x438 a3=0x0 items=0 ppid=5446 pid=22054 auid=user uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts1 ses=56 comm=auditctl exe=/usr/sbin/auditctl key=(null)
type=CONFIG_CHANGE msg=audit(26.03.2025 15:56:57.706:818) : auid=user ses=56 op=add_rule key=open key=audit_log_EACCES list=exit res=yes
----
type=PROCTITLE msg=audit(26.03.2025 15:57:04.099:819) : proctitle=auditctl -a always,exit -F arch b64 -S open -F exit -EPERM -F key=open -k audit_log_EPERM
type=SOCKADDR msg=audit(26.03.2025 15:57:04.099:819) : saddr={ saddr_fam=netlink nlnk-fam=16 nlnk-pid=0 }
type=SYSCALL msg=audit(26.03.2025 15:57:04.099:819) : arch=x86_64 syscall=sendto success=yes exit=1076 a0=0x4 a1=0x7ffeceb891b0 a2=0x434 a3=0x0 items=0 ppid=5446 pid=22056 auid=user uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts1 ses=56 comm=auditctl exe=/usr/sbin/auditctl key=(null)
type=CONFIG_CHANGE msg=audit(26.03.2025 15:57:04.099:819) : auid=user ses=56 op=add_rule key=open key=audit_log_EPERM list=exit res=yes

74.7.4.4. Хранение журнала аудита

Аудит регистрирует события следующего типа:
  • DAEMON_ERR — служба аудита остановилась из-за внутренней ошибки;
  • DAEMON_RESUME — служба аудита возобновила ведение журнал;
  • DAEMON_ROTATE — произошла ротация файлов журнала аудита;
  • DAEMON_ABORT — служба аудита остановилась из-за ошибки.
Поиск записей аудита, сделанных при ротации файлов журнала аудита:
# ausearch -m DAEMON_ROTATE

74.7.4.5. Аудит попыток экспорта информации

Создание правила для записей аудита, связанных с попытками экспортировать информацию:
# auditctl -a always,exit -F arch=b64 -S open,openat
Поиск записей аудита, связанных с попытками экспортировать информацию:
# ausearch -x /usr/bin/rsync | head

74.7.4.6. Аудит событий, связанных с достижением ограничения неуспешных попыток аутентификации

Примечание

Должна быть настроена блокировка учётной записи после последовательных неудачных входов в систему. Например, блокирование учётной записи после четырёх последовательных неудачных входов в систему в течение пяти минут (файл /etc/pam.d/system-auth-local-only):
auth            requisite       pam_faillock.so preauth deny=4 unlock_time=300
auth            sufficient      pam_tcb.so shadow fork nullok
auth            [default=die]   pam_faillock.so authfail deny=4 unlock_time=300
account         required        pam_faillock.so
account         required        pam_tcb.so shadow fork
password        required        pam_passwdqc.so config=/etc/passwdqc.conf
password        required        pam_tcb.so use_authtok shadow fork nullok write_to=tcb
session         required        pam_tcb.so
Поиск записей, связанных с достижением ограничения неуспешных попыток аутентификации:
# ausearch -i -m RESP_ACCT_LOCK -m ANOM_LOGIN_FAILURES
----
type=ANOM_LOGIN_FAILURES msg=audit(26.03.2025 16:39:27.183:926) :
pid=22772 uid=root auid=unset ses=unset msg='op=pam_faillock suid=user
exe=/usr/bin/login hostname=node03 addr=? terminal=tty5 res=success'
----
type=RESP_ACCT_LOCK msg=audit(26.03.2025 16:39:27.183:927) :
pid=22772 uid=root auid=unset ses=unset msg='op=pam_faillock suid=user
exe=/usr/bin/login hostname=node03 addr=? terminal=tty5 res=success'
Событие разблокировки пользователя (faillock --user <пользователь> --reset) попадает в аудит с типом USER_ACCT и msg=pam_faillock:
# ausearch -i -m USER_ACCT

74.7.4.7. Использование механизма идентификации и аутентификации

Поиск записей аудита, связанных с использованием механизма аутентификации:
# ausearch -m USER_AUTH
----
time->Wed Mar 26 15:44:59 2025
type=USER_AUTH msg=audit(1742996699.788:610):
pid=16404 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication grantors=? acct="user"
exe="/usr/bin/login" hostname=node03 addr=? terminal=/dev/tty3 res=failed'
----
time->Wed Mar 26 15:45:23 2025
type=USER_AUTH msg=audit(1742996723.533:613):
pid=16825 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication grantors=pam_userpass,pam_tcb acct="user"
exe="/usr/sbin/sshd" hostname=192.168.0.177 addr=192.168.0.177 terminal=ssh res=success'
Поиск записей аудита, связанных с использованием механизма идентификации:
# ausearch -m USER_LOGIN -i
----
type=USER_LOGIN msg=audit(26.03.2025 15:45:01.212:611) :
pid=16404 uid=root auid=unset ses=unset msg='op=login acct=user
exe=/usr/bin/login hostname=node03 addr=? terminal=/dev/tty3 res=failed'
----
type=USER_LOGIN msg=audit(26.03.2025 15:45:23.609:619) :
pid=16825 uid=root auid=user ses=90 msg='op=login id=user
exe=/usr/sbin/sshd hostname=192.168.0.177 addr=192.168.0.177 terminal=/dev/pts/2 res=success'
Команда aureport позволяет вывести отчёт обо всех попытках входа в систему:
# aureport -l
Login Report
============================================
# date time auid host term exe success event
============================================
1. 26.03.2025 15:45:01 user node03 /dev/tty3 /usr/bin/login no 611
2. 26.03.2025 15:45:22 user 192.168.0.177 sshd /usr/sbin/sshd no 612
3. 26.03.2025 15:45:23 1000 192.168.0.177 /dev/pts/2 /usr/sbin/sshd yes 619
4. 26.03.2025 15:47:45 fgf node03 /dev/tty3 /usr/bin/login no 625
5. 26.03.2025 15:52:42 new node03 /dev/tty3 /usr/bin/login no 729
6. 26.03.2025 15:52:47 1000 node03 /dev/tty3 /usr/bin/login yes 735
Отчёт о неудачных попытках входа в систему:
# aureport -l --failed
Отчёт об изменениях пользовательских учетных записей:
# aureport -m
Иногда aureport предоставляет слишком много информации. В этом случае можно объединить команды ausearch и aureport, чтобы получить нужную информацию. Вывод ausearch при этом должен быть в «raw» формате. Например, получить список узлов, с которых пользователи входили в систему на этой неделе:
# ausearch --start this-week -m user_login --raw | aureport --host --summary

Host Summary Report
===========================
total  host
===========================
9  node03
6  192.168.0.177
1  192.168.0.193

74.7.4.8. Регистрация изменений даты и времени

Для регистрации изменений даты и времени необходимо включить контроль над изменением значения времени.
Запись событий, изменяющих время через clock_settime, settimeofday и adjtimex с правилом в зависимости от архитектуры, в примере для 64 бит (AMD, Intel):
# auditctl -a exit,always -F arch=b64 -S clock_settime -S settimeofday -S adjtimex -k FPT_STM
Изменить время с помощью модуля центра управления системой или в системной консоли, командой date.
Поиск записей аудита, связанных с операцией изменения даты и времени:
# ausearch -k FPT_STM
----
time->Wed Mar 26 16:43:15 2025
type=PROCTITLE msg=audit(1743000195.375:1043): proctitle=64617465002D2D7365743D323032352D30332D32352031363A34333A3134
type=TIME_INJOFFSET msg=audit(1743000195.375:1043): sec=-86402 nsec=623885248
type=SYSCALL msg=audit(1743000195.375:1043): arch=c000003e syscall=227 success=yes exit=0 a0=0 a1=7fffa4d5ca30 a2=0 a3=0 items=0 ppid=23512 pid=24273 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts6 ses=4294967295 comm="date" exe="/usr/bin/date" key="FPT_STM"
Пример удаления правила:
# auditctl -d exit,always -F arch=b64 -S clock_settime -S settimeofday -S adjtimex -k FPT_STM

74.7.4.9. Регистрация событий, изменяющих информацию о пользователях/группах

Для фиксации событий, которые вносят изменения в пользовательские аккаунты, можно создать файл /etc/audit/rules.d/20-account_changes.rules со следующим содержимым:
# audit_account_changes
-a always,exit -F arch=b64 -F path=/etc/group -F perm=wa -F key=audit_account_changes
-a always,exit -F arch=b64 -F path=/etc/passwd -F perm=wa -F key=audit_accout_changes
-a always,exit -F arch=b64 -F path=/etc/gshadow -F perm=wa -F key=audit_account_changes
-a always,exit -F arch=b64 -F path=/etc/shadow -F perm=wa -F key=audit_account_changes
-a always,exit -F arch=b64 -F path=/etc/security/opasswd -F perm=wa -F key=audit_account_changes
Поиск записей аудита, связанных с операциями изменения информации о пользователях/группах:
# ausearch -k audit_account_changes

74.7.4.10. Регистрация запуска ПО

Для аудита запуска ПО создать файл /etc/audit/rules.d/50-execprog.rules с правилами в зависимости от архитектуры, в примере 64 бит (AMD, Intel):
-a  always,exit -F arch=b64 -S open,openat,execve -F exit=-EACCES -F key="AVC"
-a  always,exit -F arch=b64 -S open,openat,execve -F exit=-EPERM -F key="AVC"
Поиск записей аудита:
# ausearch -k AVC