/var/log/audit/audit.log
.
/etc/autofs.conf
:
# auditctl -w /etc/autofs.conf -p warx -k autofs
auditd
запущена, выполнение следующей команды создаст новое событие в файле журнала аудита:
$ cat /etc/autofs.conf
/var/log/audit/audit.log
:
type=SYSCALL msg=audit(1699990009.349:368): arch=c000003e syscall=257 success=yes exit=3 a0=ffffff9c a1=7ffc39880600 a2=0 a3=0 items=1 ppid=5701 pid=8223 auid=501 uid=501 gid=501 euid=501 suid=501 fsuid=501 egid=501 sgid=501 fsgid=501 tty=pts1 ses=11 comm="cat" exe="/bin/cat" key="autofs"ARCH=x86_64 SYSCALL=openat AUID="test" UID="test" GID="test" EUID="test" SUID="test" FSUID="test" EGID="test" SGID="test" FSGID="test" type=CWD msg=audit(1699990009.349:368): cwd="/home/test" type=PATH msg=audit(1699990009.349:368): item=0 name="/etc/autofs.conf" inode=1354087 dev=08:02 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="root" OGID="root" type=PROCTITLE msg=audit(1699990009.349:368): proctitle=636174002F6574632F6175746F66732E636F6E66Данное событие состоит из четырех записей, имеющих один серийный номер и одну и ту же отметку времени. Каждая запись состоит из нескольких пар
имя=значение
, разделенных пробелом или запятой. Ниже каждая запись рассмотрена подробнее.
Примечание
ausearch
можно использовать параметр -i
для автоматического преобразования шестнадцатеричных значений в удобочитаемые эквиваленты.
type=SYSCALL
— тип записи. Значение SYSCALL указывает, что запись была вызвана системным вызовом ядра;
msg=audit(1699990009.349:368)
— в поле msg записывается:
имя=значение
, зависящие от события, предоставляемые приложениями ядра или пользовательского пространства;
arch=c000003e
— содержит информацию об архитектуре ЦП системы. Значение c000003e закодировано в шестнадцатеричном формате (c000003e интерпретируется как x86_64);
syscall=257
— тип системного вызова, отправленного ядру. Утилита ausyscall
позволяет преобразовывать номера системных вызовов в их удобочитаемые эквиваленты. В данном примере 257 — системный вызов openat;
success=yes
— указывает, был ли системный вызов, записанный в этом конкретном событии, успешным или неудачным. В данном примере вызов успешный;
exit=3
— значение, указывающее код выхода, возвращаемый системным вызовом. Это значение варьируется для разных системных вызовов;
a0=ffffff9c a1=7ffc39880600 a2=0 a3=0
— первые четыре аргумента системного вызова в этом событии, закодированные в шестнадцатеричной системе счисления;
items=1
— количество вспомогательных записей PATH, следующих за записью системного вызова;
ppid=5701
— идентификатор родительского процесса;
pid=8223
— идентификатор процесса (PID);
auid=501
— идентификатор пользователя аудита, то есть логин. Этот идентификатор присваивается пользователю при входе в систему и наследуется каждым процессом, даже если личность пользователя меняется, например, при переключении учетных записей пользователей с помощью команды su -
;
uid=501
— идентификатор пользователя, запустившего анализируемый процесс. Идентификатор пользователя можно интерпретировать в имя пользователя с помощью команды ausearch -i --uid UID
;
gid=501
— идентификатор группы пользователя, запустившего анализируемый процесс;
euid=501
— эффективный идентификатор пользователя, запустившего анализируемый процесс;
suid=501
— установленный идентификатор пользователя, запустившего анализируемый процесс;
fsuid=501
— идентификатор пользователя файловой системы, запустившего анализируемый процесс;
egid=501
— эффективный идентификатор группы пользователя, запустившего анализируемый процесс;
sgid=501
— заданный групповой идентификатор пользователя, запустившего анализируемый процесс;
fsgid=501
— идентификатор группы файловой системы пользователя, запустившего анализируемый процесс;
tty=pts1
— терминал, с которого был вызван анализируемый процесс;
ses=11
— идентификатор сеанса, из которого был вызван анализируемый процесс;
comm="cat"
— имя команды, которая использовалась для вызова анализируемого процесса;
exe="/bin/cat"
— путь к исполняемому файлу, который использовался для запуска анализируемого процесса;
key="autofs"
— определенная администратором строка, связанная с правилом, создавшим это событие в журнале аудита;
type=CWD
— тип записи. Значение CWD используется для записи рабочего каталога, из которого был выполнен процесс, вызвавший системный вызов, указанный в первой записи. Цель этой записи — записать местоположение текущего процесса на случай, если относительный путь будет зафиксирован в связанной записи PATH. Так можно восстановить абсолютный путь;
cwd="/home/test"
— путь к каталогу, в котором был вызван системный вызов.
type=PATH
— событие аудита содержит запись типа PATH для каждого пути, который передается системному вызову в качестве аргумента. В этом событии аудита в качестве аргумента использовался только один путь (/etc/autofs.conf);
item=0
— указывает, какой элемент из общего числа элементов, указанных в записи типа SYSCALL, является текущей записью. Это число начинается с нуля; значение 0 означает, что это первый элемент;
name="/etc/autofs.conf"
— путь к файлу или каталогу, который был передан системному вызову в качестве аргумента;
inode=1354087
— номер индексного дескриптора, связанный с файлом или каталогом, записанным в этом событии. Отобразить файл или каталог, связанный с номером индексного дескриптора можно, выполнив команду:
# find / -inum 1354087 -print
/etc/autofs.conf
dev=08:02
— вспомогательный и основной идентификатор устройства, которое содержит файл или каталог, записанный в этом событии (в данном примере /dev/08/02
);
mode=0100644
— права доступа к файлу или каталогу, закодированные в числовой форме, возвращаемые командой stat в поле st_mode (в данном примере -rw-r--r--);
ouid=0
— идентификатор пользователя владельца объекта;
ogid=0
— идентификатор группы владельца объекта;
rdev=00:00
— записанный идентификатор устройства только для специальных файлов. В данном случае он не используется, поскольку записанный файл является обычным файлом;
cap_fp=0
— данные, относящиеся к настройке разрешенных возможностей файловой системы для объекта файла или каталога;
cap_fi=0
— данные, относящиеся к настройке унаследованных возможностей файловой системы для объекта файла или каталога;
cap_fe=0
— установка эффективного бита возможностей файловой системы объекта файла или каталога;
cap_fver=0
— версия возможностей файловой системы объекта файла или каталога.
type=PROCTITLE
— тип записи. Значение PROCTITLE указывает, что эта запись содержит полную командную строку, которая инициировала это событие аудита, вызванное системным вызовом ядра;
proctitle
— полная командная строка, которая использовалась для запуска анализируемого процесса. Поле закодировано в шестнадцатеричном формате. Текст декодируется в команду, которая вызвала это событие аудита. При поиске записей аудита с помощью команды ausearch
следует использовать параметр -i
для автоматического преобразования шестнадцатеричных значений в удобочитаемые эквиваленты. Значение 636174002F6574632F6175746F66732E636F6E66 интерпретируется в «cat /etc/autofs.conf».
ausearch -i
:
# ausearch -i -k autofs
----
type=PROCTITLE msg=audit(14.11.2023 21:26:49.349:368) : proctitle=cat /etc/autofs.conf
type=PATH msg=audit(14.11.2023 21:26:49.349:368) : item=0 name=/etc/autofs.conf inode=1354087 dev=08:02 mode=file,644 ouid=root ogid=root rdev=00:00 nametype=NORMAL cap_fp=none cap_fi=none cap_fe=0 cap_fver=0 cap_frootid=0
type=CWD msg=audit(14.11.2023 21:26:49.349:368) : cwd=/home/test
type=SYSCALL msg=audit(14.11.2023 21:26:49.349:368) : arch=x86_64 syscall=openat success=yes exit=3 a0=AT_FDCWD a1=0x7ffc39880600 a2=O_RDONLY a3=0x0 items=1 ppid=5701 pid=8223 auid=test uid=test gid=test euid=test suid=test fsuid=test egid=test sgid=test fsgid=test tty=pts1 ses=11 comm=cat exe=/bin/cat key=autofs