日志审计事件忽略策略
编辑日志审计事件忽略策略
编辑全面的审计跟踪对于确保问责制至关重要。它在事件响应期间提供巨大的价值,甚至可能需要用于证明合规性。
已审计系统的缺点在于不可避免的性能损失。事实上,审计跟踪会消耗不再可用于用户查询的 *I/O 操作*。有时,审计跟踪的冗余性可能会成为一个问题,事件类型限制(由 include
和 exclude
定义)无法缓解。
审计事件忽略策略 是一种更精细的方式来调整审计跟踪的冗余性。这些策略定义了匹配将被忽略(即:不打印)的审计事件的规则。规则匹配审计事件属性的值,并补充 include
或 exclude
方法。想象一下审计事件的语料库和用于剔除不需要的事件的策略。除一个例外外,所有审计事件都受忽略策略的影响。例外是类型为 security_config_change
的事件,除非完全排除,否则无法过滤掉。
使用审计事件忽略策略时,您承认可能会出现问责差距,这可能会导致非法行为无法被检测到。请在系统架构发生变化时及时查看这些策略。
策略是一组命名的筛选规则。每个筛选规则都应用于单个事件属性,即 users
、realms
、actions
、roles
或 indices
属性之一。筛选规则定义了一个 Lucene 正则表达式 列表,其中任何一个必须与审计事件属性的值匹配才能使规则匹配。如果构成策略的所有规则都与事件匹配,则策略与事件匹配。如果审计事件与任何策略匹配,则会被忽略(因此不会打印)。所有其他不匹配的事件将按通常方式打印。
所有策略都在 xpack.security.audit.logfile.events.ignore_filters
设置命名空间下定义。例如,以下名为 *example1* 的策略匹配来自 *kibana_system* 或 *admin_user* 主体并在 *app-logs*** 通配符形式的索引上操作的事件。
xpack.security.audit.logfile.events.ignore_filters: example1: users: ["kibana_system", "admin_user"] indices: ["app-logs*"]
*kibana_system* 用户生成的并在多个索引上操作的审计事件(其中一些索引与索引通配符不匹配)将不会匹配。正如预期的那样,所有其他用户(即使只在与 *indices* 筛选器匹配的索引上操作)生成的事件也不会匹配此策略。
不同类型的审计事件可能具有不同的属性。如果事件不包含某些策略为其定义筛选器的属性,则事件将不会与策略匹配。例如,以下策略将永远不会匹配 authentication_success
或 authentication_failed
事件,而不管用户的角色如何,因为这些事件模式不包含 role
属性。
xpack.security.audit.logfile.events.ignore_filters: example2: roles: ["admin", "ops_admin_*"]
同样,任何具有多个角色的用户事件(其中一些角色与正则表达式不匹配)也不会匹配此策略。
为完整起见,尽管实际用例应该很少见,但筛选器可以使用空字符串 ("") 或空列表 ([]) 匹配事件的缺失属性。例如,以下策略将匹配不具有 indices
属性的事件(anonymous_access_denied
、authentication_success
和其他类型),以及在 *next* 索引上的事件。
xpack.security.audit.logfile.events.ignore_filters: example3: indices: ["next", ""]