Я собираю все уровни журналов, включая журналы AuditD, с моей виртуальной машины, используя Syslog, и храню их в централизованном месте, которое является сервером Syslog. Затем я помещаю все журналы моей виртуальной машины в стек ELK, используя filebeat. Пока нажимаю на лого sh. Я хочу отделить следующие детали от моих журналов auditD
1) User Name
2) What command he executed
Я использовал следующий шаблон для разделения того же самого, но я не могу получить имя пользователя в виде строки, так как AUID принимает как целое число.
Используемый шаблон
type=%{WORD:audit_type} msg=audit\(%{NUMBER:audit_epoch}:%{NUMBER:audit_counter}\): arch=%{NOTSPACE} syscall=%{NUMBER:syscall_number} success=(?<syscall_sucess>(yes|no)) exit=%{NUMBER:syscall_exit_code} %{GREEDYDATA:syscall_arguments} items=%{NUMBER:syscall_path_records} ppid=%{NUMBER:syscall_parent_pid} pid=%{NUMBER:syscall_pid} auid=%{NUMBER:uid_audit} uid=%{NUMBER:running_uid} gid=%{NUMBER:group_id} euid=%{NUMBER:uid_effective} suid=%{NUMBER:uid_set} fsuid=%{NUMBER:uid_fs} egid=%{NUMBER:gid_effective} sgid=%{NUMBER:gid_set} fsgid=%{NUMBER:gid_fs} tty=%{NOTSPACE:tty} ses=%{NUMBER:session_id} comm=\"%{GREEDYDATA:command}\" exe=\"%{GREEDYDATA:exec_file}\" key=\"%{GREEDYDATA:audit_rule}\" SYSCALL=\"%{GREEDYDATA:syscall}\" AUID=\"%{GREEDYDATA:user}\"
Мой пример ввода
type=SYSCALL msg=audit(1582540425.222:375): arch=c000003e syscall=59 success=yes exit=0 a0=55ea2c3d1f90 a1=55ea2c2e2c20 a2=55ea2c41f570 a3=0 items=2 ppid=16081 pid=16249 auid=1578986719 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="sudo" exe="/usr/bin/sudo" key="rootact"#035ARCH=x86_64 SYSCALL=execve AUID="giri" UID="root" GID="root" EUID="root" SUID="root" FSUID="root" EGID="root" SGID="root" FSGID="root"
из приведенного выше примера I может получить auid как 1578986719, но не как giri, который является AUID.
Пожалуйста, помогите мне получить AUID в виде строки.