审核安全设置编辑

您可以使用审计日志记录来记录与安全相关的事件,例如身份验证失败、连接被拒绝和数据访问事件。此外,还会记录通过 API 对安全配置所做的更改,例如创建、更新和删除本机内置用户、角色角色映射API 密钥

审计日志仅在某些订阅级别可用。有关更多信息,请参阅https://elastic.ac.cn/subscriptions

如果配置了审计设置,则必须在集群中的每个节点上设置这些设置。静态设置(例如 xpack.security.audit.enabled)必须在每个节点的 elasticsearch.yml 中配置。对于动态审计设置,请使用集群更新设置 API来确保该设置在所有节点上都相同。

常规审计设置编辑

xpack.security.audit.enabled

(静态) 设置为 true 以在节点上启用审计。默认值为 false。这会将审计事件放入每个节点上名为 <clustername>_audit.json 的专用文件中。

如果启用,则必须在集群中所有节点的 elasticsearch.yml 中配置此设置。

已审计事件设置编辑

可以使用以下设置来控制事件以及有关记录内容的一些其他信息

xpack.security.audit.logfile.events.include
(动态) 指定要在审计输出中打印的事件类型。此外,可以使用 _all 来全面审计所有事件,但这通常是不鼓励的,因为它会变得非常冗长。默认列表值包含:access_denied, access_granted, anonymous_access_denied, authentication_failed, connection_denied, tampered_request, run_as_denied, run_as_granted, security_config_change
xpack.security.audit.logfile.events.exclude
(动态) 从包含列表中排除指定的事件类型。这在 events.include 设置包含特殊值 _all 的情况下很有用。默认值为空列表。
xpack.security.audit.logfile.events.emit_request_body

(动态) 指定是否将来自 REST 请求的完整请求正文作为某些类型审计事件的属性包含在内。此设置可用于审计搜索查询

默认值为 false,因此不会打印请求正文。

请注意,在将请求正文包含在审计事件中时,敏感数据可能会以纯文本形式进行审计,即使所有安全 API(例如更改用户密码的 API)在审计时都会过滤掉凭据。

本地节点信息设置编辑

xpack.security.audit.logfile.emit_node_name
(动态) 指定是否在每个审计事件中包含节点名称作为字段。默认值为 false
xpack.security.audit.logfile.emit_node_host_address
(动态) 指定是否在每个审计事件中包含节点的 IP 地址作为字段。默认值为 false
xpack.security.audit.logfile.emit_node_host_name
(动态) 指定是否在每个审计事件中包含节点的主机名作为字段。默认值为 false
xpack.security.audit.logfile.emit_node_id
(动态) 指定是否在每个审计事件中包含节点 ID 作为字段。与节点名称(如果管理员更改配置文件中的设置,则其值可能会更改)不同,节点 ID 在集群重新启动后会保留,并且管理员无法更改它。默认值为 true

审计日志文件事件忽略策略编辑

以下设置会影响忽略策略,这些策略可以对打印到日志文件中的审计事件进行细粒度控制。具有相同策略名称的所有设置组合在一起形成一个策略。如果事件匹配任何策略的所有条件,则会忽略该事件并且不会打印该事件。大多数审计事件都受忽略策略的约束。唯一的例外是 security_config_change 类型的事件,除非完全排除,否则无法过滤掉这些事件。

xpack.security.audit.logfile.events.ignore_filters.<policy_name>.users
(动态) 用户名或通配符列表。指定的策略不会打印与这些值匹配的用户的审计事件。
xpack.security.audit.logfile.events.ignore_filters.<policy_name>.realms
(动态) 身份验证领域名称或通配符列表。指定的策略不会打印这些领域中用户的审计事件。
xpack.security.audit.logfile.events.ignore_filters.<policy_name>.actions
(动态) 操作名称或通配符列表。可以在审计事件的 action 字段中找到操作名称。指定的策略不会打印与这些值匹配的操作的审计事件。
xpack.security.audit.logfile.events.ignore_filters.<policy_name>.roles
(动态) 角色名称或通配符列表。指定的策略不会打印具有这些角色的用户的审计事件。如果用户具有多个角色,其中一些角色受策略覆盖,则该策略不会覆盖此事件。
xpack.security.audit.logfile.events.ignore_filters.<policy_name>.indices
(动态) 索引名称或通配符列表。当事件中的所有索引都与这些值匹配时,指定的策略不会打印审计事件。如果事件涉及多个索引,其中一些索引受策略覆盖,则该策略不会覆盖此事件。