簡體   English   中英

審計日志的 Logstash 過濾器模式?

[英]Logstash filter pattern for Audit logs?

我正在使用 Syslog 從我的 VM 收集所有級別的日志,包括 AuditD 日志,並保存在 Syslog 服務器的集中位置。 然后我使用 filebeat 將我所有的 VM 日志推送到 ELK 堆棧。 同時推送到logstash。 我想將以下詳細信息與我的 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"

從上面的例子中,我可以得到 1578986719 的 auid,但不能得到 AUID 的 giri。

請幫助我將 AUID 作為字符串獲取。

希望此模式有助於將 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}\"%{GREEDYDATA} SYSCALL=%{GREEDYDATA:syscall} AUID=\"%{GREEDYDATA:user}\" UID

或者,如果您只對用戶名和 AUID 感興趣,則可以使用以下模式:

(?=.*auid=%{NUMBER:uid_audit})(?=.*AUID=\"%{DATA:user}\")

這不依賴於日志格式保持不變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM