概述
简介
在Elasticsearch中,可以使用 audit logging(审核日志) 来记录安全相关的事件,例如:鉴权失败、拒绝连接、数据访问事件。另外,通过 APIs 对安全配置的改变,例如:创建、更新、删除 native(原生的) 和 built-in(内嵌的)用户、roles(角色)、role mappings(角色映射)、API keys(API 秘钥)也会被记录。
并非所有的订阅等级(购买的级别)都支持审计配置,参见:Subscriptions | Elastic Stack Products & Support | Elastic
如果要配置,要保证集群中所有节点的配置是一致的。对于静态配置,在所有的节点的 elasticsearch.yml 中都要配置。对于动态配置,可以通过 cluster update settings API 来保证集群内所有节点的配置一致。
正文
统一审计配置
xpack.security.audit.enabled
默认是 false ,设置为 true 开启审计配置。开启后,Elasticsearch会将审计日志放到每个节点的 <clustername>_audit.json 。
如果开启后,必须在集群内所有节点的 elasticsearch.yml 中配置。
审计事件配置
xpack.security.audit.logfile.events.include
(动态配置)指定需要输出的 kind of events(事件类型)。
可以使用 _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
(动态配置)排除指定事件类型,默认为空。
xpack.security.audit.logfile.events.emit_request_body
(动态配置)指定来自REST请求中哪些事件类型需要包括完整的请求体,可以用来审计查询请求。
请求体会包含明文信息,如果是包含敏感信息的请求,则需要注册,如修改密码等。
本地节点信息配置
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是固定的。
审计日志文件事件忽略策略
忽略配置可以用来控制忽略那些满足配置策略事件。
相同名称的策略会组合成一个单独的策略,如果事件满足组合策略中任何一个策略,都不会写入到审计日志中。
唯一例外是:对于 security_config_change 类型的事件,不会受忽略策略的影响,只能通过 xpack.security.audit.logfile.events.include 来排除。
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
(动态配置)索引名称集合或索引名称正则,当事件中所有的索引都满足政策时,事件不会被记录到审计日志中。
总结
审计日志主要用来记录集群中的敏感操作,或用来辅助分析,如分析查询。
本文讲了如何设置审计日志相关配置。
最后
以上就是大意泥猴桃为你收集整理的2-2-3 零基础入门ElasticSearch——审计安全配置简介正文总结的全部内容,希望文章能够帮你解决2-2-3 零基础入门ElasticSearch——审计安全配置简介正文总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复