Product SiteDocumentation Site

73.8.4. Примеры

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

Поиск записей аудита, связанных с запуском и завершением функции аудита:
# ausearch -m DAEMON_START -m DAEMON_END
----
time->Mon Nov 13 08:46:48 2023
type=DAEMON_START msg=audit(1699858008.579:1767): op=start ver=3.1.2
format=enriched kernel=5.10.194-std-def-alt1 auid=4294967295 pid=2524 uid=0 ses=4294967295 res=success
----
time->Mon Nov 13 09:47:31 2023
type=DAEMON_END msg=audit(1699861651.992:1768): op=terminate
auid=0 uid=0 ses=4294967295 pid=1 res=success
----
time->Tue Nov 14 09:38:26 2023
type=DAEMON_START msg=audit(1699947506.800:4888): op=start ver=3.1.2
format=enriched kernel=5.10.194-std-def-alt1 auid=4294967295 pid=2525 uid=0 ses=4294967295 res=success

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

События модификации конфигурации аудита, происходящие во время сбора данных аудита записываются в файл журнала аудита /var/log/audit/audit.log.
Поиск записей аудита, связанных с модификацией конфигурации аудита:
# ausearch -m CONFIG_CHANGE
----
time->Tue Nov 14 09:38:26 2023
type=CONFIG_CHANGE msg=audit(1699947506.822:5): op=set
audit_backlog_wait_time=60000 old=60000 auid=4294967295 ses=4294967295 res=1
----
time->Tue Nov 14 16:43:14 2023
type=CONFIG_CHANGE msg=audit(1699972994.820:1207):
auid=500 ses=3 op=add_rule key="audit_config" list=4 res=1
Можно также создать правило аудита, которое будет отслеживать изменения конфигурации аудита:
# auditctl -w /etc/audit -p w -k audit_config
Найти такие записи аудита можно, выполнив команду:
# ausearch -k audit_config
----
time->Tue Nov 14 16:43:14 2023
type=CONFIG_CHANGE msg=audit(1699972994.820:1207): auid=500 ses=3 op=add_rule key="audit_config" list=4 res=1

73.8.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 logs: /var/log/audit/audit.log
Error opening /var/log/audit/audit.log (Отказано в доступе)
Будут созданы следующие записи, связанные с операцией чтения записей аудита:
# ausearch -i -k audit_log
----
type=PROCTITLE msg=audit(24.05.2018 18:13:11.849:216) :
proctitle=auditctl -a always,exit -F arch b64 -S open -F exit -EPERM -F key=open -k audit_log_EPERM
type=SOCKADDR msg=audit(24.05.2018 18:13:11.849:216) :
saddr={ saddr_fam=netlink nlnk-fam=16 nlnk-pid=0 }
type=SYSCALL msg=audit(24.05.2018 18:13:11.849:216) :
arch=x86_64 syscall=sendto success=yes exit=1076 a0=0x4 a1=0x7ffd13ee81e0 a2=0x434 a3=0x0 items=0 ppid=5423 pid=5919 auid=user uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts0 ses=3 comm=auditctl exe=/sbin/auditctl key=(null)
type=CONFIG_CHANGE msg=audit(24.05.2018 18:13:11.849:216) :
auid=user ses=3 op=add_rule key=open key=audit_log_EPERM list=exit res=yes

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

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

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

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

73.8.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(14.11.2023 17:36:01.837:123232) :
pid=26656 uid=root auid=unset ses=unset msg='pam_faillock uid=root  exe=/bin/login hostname=pbs addr=? terminal=tty2 res=success'
----
type=RESP_ACCT_LOCK msg=audit(14.11.2023 17:36:01.837:123233) :
pid=26656 uid=root auid=unset ses=unset msg='pam_faillock uid=root  exe=/bin/login hostname=pbs addr=? terminal=tty2 res=success'
Событие разблокировки пользователя (faillock --user test --reset) попадает в аудит с типом USER_ACCT и msg=pam_faillock:
# ausearch -i -m USER_ACCT

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

Поиск записей аудита, связанных с использованием механизма аутентификации:
# ausearch -m USER_AUTH
----
time->Tue Nov 14 17:37:28 2023
type=USER_AUTH msg=audit(1699976248.331:123242):
pid=27368 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication grantors=?
acct="?" exe="/bin/login" hostname=pbs addr=? terminal=/dev/tty2 res=failed'

----
time->Tue Nov 14 17:56:28 2023
type=USER_AUTH msg=audit(1699977388.507:123325):
pid=27621 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication
grantors=pam_userpass,pam_tcb acct="test" 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(14.11.2023 17:36:10.321:123241) :
pid=27368 uid=root auid=unset ses=unset msg='op=login acct=test
exe=/bin/login hostname=pbs addr=? terminal=/dev/tty2 res=failed'
----

type=USER_LOGIN msg=audit(14.11.2023 17:56:28.569:123331) :
pid=27621 uid=root auid=test ses=145 msg='op=login id=test
exe=/usr/sbin/sshd hostname=192.168.0.177 addr=192.168.0.177 terminal=/dev/pts/7 res=success
Команда aureport позволяет вывести отчёт обо всех попытках входа в систему:
# aureport -l
Login Report
============================================
# date time auid host term exe success event
============================================
1. 24.10.2023 21:58:15 user 192.168.0.177 sshd /usr/sbin/sshd no 394615
…
43. 14.11.2023 17:49:59 test 192.168.0.177 sshd /usr/sbin/sshd no 123267
44. 14.11.2023 17:50:01 501 192.168.0.177 /dev/pts/6 /usr/sbin/sshd yes 123280
45. 14.11.2023 17:56:22 test 192.168.0.177 sshd /usr/sbin/sshd no 123322
46. 14.11.2023 17:56:24 test 192.168.0.177 sshd /usr/sbin/sshd no 123324
47. 14.11.2023 17:56:28 501 192.168.0.177 /dev/pts/7 /usr/sbin/sshd yes 123331
Отчёт о неудачных попытках входа в систему:
# aureport -l --failed
Отчёт об изменениях пользовательских учетных записей:
# aureport -m

73.8.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->Tue Nov 14 18:07:27 2023
type=PROCTITLE msg=audit(1699978047.591:188): proctitle=6461746500303532343138303832303138
type=TIME_INJOFFSET msg=audit(1699978047.591:188): sec=-172799968 nsec=406875048
type=SYSCALL msg=audit(1699978047.591:188): arch=c000003e syscall=227 success=yes exit=0 a0=0 a1=7ffc85a10900 a2=0 a3=0 items=0 ppid=5423 pid=5879 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=3 comm="date" exe="/bin/date" key="FPT_STM"
Пример удаления правила:
# auditctl -d exit,always -F arch=b64 -S clock_settime -S settimeofday -S adjtimex -k FPT_STM

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

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

73.8.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