0

我正在使用 auditd 模块运行 AuditBeat,并且我注意到一些过滤规则在创建事件和 AuditBeat 发布事件之间增加了显着延迟。

例如:考虑以下规则,它过滤掉不是 message_types PATH、SYSCALL 或 CWD 的事件。

-a never,exclude -F msgtype!=SYSCALL -F msgtype!=PATH -F msgtype!=CWD

从 AuditBeat 日志中:

2021-07-22T16:38:11.822+0200    DEBUG   [processors]    processing/processors.go:203    Publish event: {
  "@timestamp": "2021-07-22T14:38:09.791Z",
  "@metadata": {
    "beat": "auditbeat",
    "type": "_doc",
    "version": "7.11.1"
  },
  . 
  .
  .
  "process": {
    "ppid": 9599,
    "name": "touch",
    "executable": "/usr/bin/touch",
    "pid": 18287
  }
}
2021-07-22T16:38:12.329+0200    DEBUG   [kafka] kafka/client.go:371 finished kafka batch

可以看出,在触摸事件发生之前有 2 秒的延迟,该事件由 Auditbeat 发布:

2021-07-22T14:38:09.791

对比

2021-07-22T16:38:11.822

但是,排除“黑名单”而不是“白名单”似乎不会引入相同延迟的过滤器。

考虑以下过滤器,它们定义要排除哪些 message_types,而不是不排除哪些 message_types:

-a always,exclude -F msgtype=user_acct
-a always,exclude -F msgtype=add_group
-a always,exclude -F msgtype=add_user
-a always,exclude -F msgtype=cred_disp
-a always,exclude -F msgtype=cred_acq
-a always,exclude -F msgtype=cred_refr
-a always,exclude -F msgtype=crypto_key_user
-a always,exclude -F msgtype=crypto_login
-a always,exclude -F msgtype=user_auth
-a always,exclude -F msgtype=user_avc
-a always,exclude -F msgtype=user_logout

从 Auditbeat 日志中:

2021-07-22T16:47:25.227+0200    DEBUG   [processors]    processing/processors.go:203    Publish event: {
  "@timestamp": "2021-07-22T14:47:25.207Z",
  "@metadata": {
    "beat": "auditbeat",
    "type": "_doc",
    "version": "7.11.1"
  },
  .
  .
  .
  "process": {
    "pid": 18685,
    "ppid": 9599,
    "title": "touch hello",
    "name": "touch",
    "executable": "/usr/bin/touch",
    "working_directory": "/var/entimice"
  }
}
2021-07-22T16:47:25.729+0200    DEBUG   [kafka] kafka/client.go:371 finished kafka batch

从日志中可以看出,时间差要合理得多:

2021-07-22T14:47:25.207

对比

 2021-07-22T16:47:25.227

由于有很多不同的 message_types ( https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/sec-audit_record_types ) 使用第一条规则显然更方便,而不是一个 100 多岁的规则来捕获我不感兴趣的所有 message_types。

我想知道是什么导致了这种延迟,以及是否可以以某种方式规避它。

4

0 回答 0