ELK——elasticsearch 认证

本文内容

最近 ELK 搭建完成,赶紧着手把认证做啦~要是什么人都能用 head 插件访问,可受不了~

结果,还真经历了点坎坷~

0x01 需求

能想到的大概有如下几点:

  • 账号认证(登录)是必须的。解决 ES 匿名访问的问题。head 插件简单易用,可惜不提供认证功能。
  • 要能单点登录就锦上添花了。ES 是个集群,在一个节点登录,肯定不期望换了一个节点,再登录一次吧。
  • 若能授权管理那就更完美了。对不同的账号区别对待,控制对 ES INDEX 的访问。

对于这几个需求,应该看你更关注哪个,以及项目进度。

背景

ES 2.1.1

方案选择

找了相关资料,如果你想用 ES 2.2.* 以上版本,能选择的不多。因为,ELK 更新速度太快,很多插件,跟不上。比如,elasticsearch-head 插件,接下来提到的 elasticsearch-http-basic 验证插件,支持到 ES 1.7,作者明确说不支持 2 以上版本,可官网都已经出到 2.2.1 啦~

下面说一下,有几个选择:

  • elasticsearch-http-basic。的确简单,提供账号验证和白名单功能,可惜不支持 ES 1.7 以上版本。因为,作者在 github 上提供源代码,也提供编译后 jar 包,最新版本是 1.5,但我们粗略知道 ES 从 2.* 版本开始,所有插件都需要 plugin-descriptor.properties 文件,可 elasticsearch-http-basic 没有,想试试加一个是否好使,看了源代码,知道会调用什么类,但不好使,又发现,该插件依赖的 elasticsearch jar 包的版本只有 1.5,显然过低,结果还真是,运行 ES 报错,提示找不到 AbstractPlugin 类(自定义插件都需要继承该类),看来高版本的 ES 已经去掉或重新命名了该类——此路不通。而且,只能问题一
  • kibana-authentication-proxy。现在可能不叫这个名字,但是针对 kibana 肯定是有认证的,支持“Google OAuth2, BasicAuth(multiple users supported) and CAS Authentication”,能解决单点登录,跟 elasticsearch-http-basic 一起使用,能解决第一个和第三个问题,但是个人感觉 kibana,版本杂了点,kibana 3和 kibana 4 思路和目标完全不同,对 ES 的版本要求比较严格。
  • Shield。ELK 官方提供,文档自然丰富,功能也强大,能满足所有需求。另外,还能实现集群之间的单点登录。但有人说该插件是收费的,不过我最近按了,没看出有收费的意思啊。难道,之前是收费的,现在不收费了。
  • search-guard。功能丰富,还免费,除了不能实现单点登录,其他都可以。但跟 elasticsearch-http-basic 的情况一样——不支持高版本 ES,而且署复杂,文档较少,这样的插件实在不敢用。
  • nginx,原理很简单,ngnix 有单点登录,如果把 nginx 放在 ES 集群前面,那自然可以实现认证,但感觉仅此而已,再复杂点的需求,估计就实现不了了~而且,试想,如果我只是想实现登录功能(单点登录),还要搞台服务器,是不是有点说不过去啊。ES 集群本身就能自己做均衡负载,我要 nginx 难道只为了做认证?
  • 再就是使用 LADP 或者 AD 账号进行验证。有点生僻,我觉得啊,就不研究了~

因此,我选择了 Shield 插件。

简单起见,先不说开启 Shield 的SSL/TLS 加密身份验证功能(HTTPS 就是基础此)。我的理解是,集群内部通信是加密的,比如,节点发现,同步数据,传递密码当当然是加密最好。

时间: 2024-12-06 22:30:01

ELK——elasticsearch 认证的相关文章

[Big Data - ELK] ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这

ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事

CentOS 7.x安装ELK(Elasticsearch+Logstash+Kibana)

第一次听到ELK,是新浪的@ARGV 介绍内部使用ELK的情况和场景,当时触动很大,原来有那么方便的方式来收集日志和展现,有了这样的工具,你干完坏事,删除日志,就已经没啥作用了. 很多企业都表示出他们很关心安全,不过他们压根就没看过和关注过自己服务器的日志,这是有点讽刺的.先把日志管理好,然后我们再去深入讨论安全. Mirantis的Fuel,已经引入ELK作为OpenStack的监控工具,所以我们也需要重点去学习一下ELK. 刚好看到一个老外的视频,介绍CentOS 7安装ELK,讲的很实在,

ELK(ElasticSearch+Logstash+Kibana)日志分析工具

日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事

ELK(elasticsearch+logstash+kibana)开源日志分析平台搭建

环境介绍 System:   CentOS7.2 x86_64 hostname: elk-server.huangming.org IP Address: 10.0.6.42.10.17.83.42 本篇的ELK环境为单机部署方式,即将ELK所有的软件包都安装在一台服务器上,配置如下: CPU:   4c Mem:   8G Disk:  50 一.Elasticsearch安装 1.安装jdk 1.8及以上的版本(安装过程略) [[email protected] elk]# java -v

elk/elasticsearch+fluentd+kibana

分布式日志收集系统 日志收集系统采用elasticsearch+fluentd+kibana,用fluentd代替elk社区里的logstash,logstas的插件是最多的,同时logstash的性能和资源消耗太高,经某站大佬压力测试,在环境为2核4g的云计算服务器上,logstash写入qps极限为8000,通过结合易瑞现有询报价系统,同时也是用户3000+的项目产品,logstash负载压力显然承受不住,服务器资源消耗太严重,所以基于以上考虑采用新型日志收集产品fluentd来代替logs

[elk]elasticsearch实现冷热数据分离

本文以最新的elasticsearch-6.3.0.tar.gz为例,为了节约资源,本文将副本调为0, 无client角色 https://www.elastic.co/blog/hot-warm-architecture-in-elasticsearch-5-x 以前es2.x版本配置elasticsearch.yml 里的node.tag: hot这个配置不生效了 被改成了这个 node.attr.box_type: hot es架构 各节点的es配置 master节点: [[email p

ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程

1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id  id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储.我们可以将elasticsearch和关系型数据库进行比较,index相当于关系型数据库中的database,type相当于table,而id就相当于表中的主键,elasticsearch中一个文档存储的一个json则能视为是关系型数据库中一张表的一行数据,而ID就是他的主键,在理解了es的存储结构

elk(elasticsearch、logstast,kibana)filebeat部署与实践

1.elk说明elk全称:elasticsearch:是一个分布式.高扩展.高实时的搜索与数据分析引擎;简称eslogstash:是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的"存储库"中;如elasticsearch中kibana:是为 Elasticsearch设计的开源分析和可视化平台.你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互.你可以很容易实现高级的数据分析和可视化,以图标的形