ELK7.X 添加X-Pack安全性功能

Posted jimmylin33

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK7.X 添加X-Pack安全性功能相关的知识,希望对你有一定的参考价值。

一.X-Pack的定义

x-pack是一个Elastic Stack扩展,它提供安全性、警报、监视、报告、机器学习和许多其他功能。安装ElasticSearch 7.X版本时,会默认安装X-Pack。

这篇文章我们只讲设置它安全性的配置。

 

二.准备环境(WINDOW环境下)

1.Elasticsearch Head浏览器插件,在各浏览器应用中心搜索安装即可

技术图片

 (QQ浏览器示例,其他浏览器类似)

2.安装配置好ELK(7.X版本),能够正常运行(偷懒一点只装Elasticsearch和Elasticsearch Head浏览器插件也可以)

 

三.配置X-Pack安全性

1.确定主节点,因为接下来的操作要在主节点bin目录进行

技术图片

有星星标志的是主节点

2.打开PowerShell并切换到主节点bin目录

技术图片

3.生成证书

a) 输入命令./elasticsearch-certutil ca生成证书

b) 输入证书保存路径和密码

c) 输入命令./elasticsearch-certutil cert --ca .configelastic-stack-ca.p12, 生成第二个证书(注意命令最后参数是第一个证书的相对路径)

d) 输入第一个证书密码进行验证

e) 输入第二个证书保存的路径和密码

技术图片

 

技术图片

4.将elasticsearch节点密码添加至elasticsearch-keystore

a) 输入命令

./elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

b) 输入第二个证书的密码进行验证

c) 输入命令

./elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

d) 输入第二个证书的密码进行验证

 技术图片

5.打开主节点config目录,拷贝两证书和密码保存档到另外的elasticsearch node config目录

技术图片

技术图片

 

6.修改elasticsearch各个节点config目录下的elasticsearch.yml文件

a) 添加以下配置属性,注意证书的相对路径

xpack.security.enabled: true

xpack.license.self_generated.type: basic

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: ..configelastic-certificates.p12

xpack.security.transport.ssl.truststore.path: ..configelastic-certificates.p12

 技术图片

 

7.重启elasticsearch主节点

 技术图片

 技术图片

 

8.待所有的elasticsearch所有节点重启完毕后,设置elasticsearch 节点密码

a)执行设置密码命令

./elasticsearch-setup-passwords interactive

b)按PowerShell提示操作,按y确定继续操作

c)设置各个系统预设users密码(为了方便记忆可以设置成一样的,后面在kibana可以进行修改)

技术图片

 技术图片

 

9.修改kibana配置

a) 停止kibana服务

b) 进入kibana config目录修改kibana.yml档,添加以下属性配置(注意密码是设置节点elastic用户名的密码)

elasticsearch.username: "elastic"

elasticsearch.password: "您设置的密码"

c) 重启kibana

技术图片

 

10.同理修改logstash配置

a) 进入logstash目录,修改logstash.conf文件

b) 找到output属性节点,在所有elasticsearch配置中加上使用者和密码配置

user=> "elastic"

password=> "您设置的密码"

c) 保存档,然后打开系统服务重启logstash服务

技术图片

 

四.成果展现

1.访问ES的都需要输入密码

a)Kibana

b)logstash

c)还有你代码里请求ES的API,在请求中加上basic验证附加elasticsearch用户名密码

d)Elasticsearch Head

技术图片

 

 

2.修改用户名密码或者用户权限角色

技术图片

 

 技术图片

 

好了,这篇文章到此结束!

参考文献如下(感谢以下文献作者的分享):

1.https://www.elastic.co/guide/en/elasticsearch/reference/master/setup-xpack.html#

2.https://www.cnblogs.com/snail90/p/11444393.html

3.https://juejin.im/post/5c9c58fa5188250ef95d8b3c

以上是关于ELK7.X 添加X-Pack安全性功能的主要内容,如果未能解决你的问题,请参考以下文章

elk使用x-pack实现安全认证及权限管理功能

Helm安装带验证的ElasticSearch 6.x 7.x 集群

Elasticsearch + Kibana + X-Pack

ELK的安全解决方案 X-Pack

x-pack

Elasticsearch:添加账户密码并配置可以elasticsearch-head连接