审计安全设置

编辑

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

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

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

常规审计设置

编辑
xpack.security.audit.enabled

(静态) 设置为 true 以启用节点上的审计。默认值为 false。这会将审计事件放置在每个节点上名为 <集群名称>_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
(动态) 从 include 列表中排除指定的事件类型。当 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
(动态) 索引名称或通配符的列表。当事件中的所有索引都与这些值匹配时,指定的策略将不打印审计事件。如果事件涉及多个索引,其中一些索引在策略范围内,则该策略将涵盖此事件。