2-2-3 零基础入门ElasticSearch——审计安全配置

简介

        在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_deniedrun_as_grantedsecurity_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

        (动态配置)索引名称集合或索引名称正则,当事件中所有的索引都满足政策时,事件不会被记录到审计日志中。

总结

        审计日志主要用来记录集群中的敏感操作,或用来辅助分析,如分析查询。

        本文讲了如何设置审计日志相关配置。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值