十四、ES开启密码认证

摘要:
所以我们需要为es head和kibana添加密码认证。4、 为kibana设置密码。1.为kibana配置证书。因为kibana和es之间的连接也需要证书加密通信。mkdir-p/etc/kibana/certscp/etc/selastic search/certs-*/etc/kibana/certs/2.授予kibana主要权限。权限必须为kibanacd/etc/kibana/certs/chownkibana:kibana*3.设置kibana密码验证。这里有两种方法。考虑到安全因素,建议使用第二种方法。

一、为什么要用安全认证

每个人都能使用es-head插件跟kibana查看和修改es数据库,这是十分危险的。
所以需要给es-head和kibana添加密码认证。

二、环境准备

主机名服务IP
es01es+kibana10.154.0.110
es02es10.154.0.111

我这使用的环境是两台es服务器,其中es01上安装了kibana,es-head插件使用的是谷歌扩展插件。

三、给es-head添加密码认证

1、生成证书和密钥

/usr/share/elasticsearch/bin/elasticsearch-certutil ca
/usr/share/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

生成证书和密钥的过程,直接回车即可,使用默认的名字和空密码

2、更改证书所属主并复制给集群其他节点

mkdir /etc/elasticsearch/certs/
cp  /usr/share/elasticsearch/*.p12  /etc/elasticsearch/certs/
chown -R elasticsearch:elasticsearch /etc/elasticsearch/certs/
scp -rp /etc/elasticsearch/certs/ 10.154.0.111:/etc/elasticsearch/certs/

注意,复制到其他节点后需要检查一下所属主,虽然使用了scp -rp但也不是百分百的保证证书所属主还是原来的,这里我发现复制到es02上所属主重新变为了root,一定要检查所属主!

3、修改配置文件开启安全功能

vim /etc/elasticsearch/elasticsearch.yml 
xpack.security.enabled: true #开启安全功能
xpack.security.transport.ssl.enabled: true #开启传输的时候通过SSL加密功能
xpack.security.transport.ssl.verification_mode: certificate #认证模式是证书认证
xpack.security.transport.ssl.keystore.path: certs/elastic-stack-ca.p12 #证书位置
xpack.security.transport.ssl.truststore.path: certs/elastic-stack-ca.p12 #证书位置

这里要注意的是使用的都是elastic-stack-ca.p12文件

4、重启所有节点

systemctl restart elasticsearch

此时访问es-head插件就需要输入密码了,效果如图
十四、ES开启密码认证第1张

kibana已经访问不了了,效果如图
十四、ES开启密码认证第2张

5、给es-head插件设置访问密码

我在es01上做的,需要在安装了kibana的服务器上做如下配置

/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive

十四、ES开启密码认证第3张

接下来给几个账户设置密码,用户名密码都要记好,尤其是elastic这个用户,是用来登录es-head和kibana的用户。

6、重启所有节点的es服务

systemctl restart elasticsearch

此时通过es-head插件连接es01和es02都需要输入用户名密码了,使用elastic用户登录即可。
十四、ES开启密码认证第4张

四、给kibana设置密码

1、给kibana配置证书
因为kibana跟es连接也需要证书加密通讯

mkdir -p /etc/kibana/certs
cp /etc/elasticsearch/certs/elastic-* /etc/kibana/certs/

2、赋予kibana属主权限,权限一定要是kibana

cd /etc/kibana/certs/
chown kibana:kibana *

3、设置kibana密码认证

这里给出两种方法,鉴于安全性考虑推荐使用第二种。

第一种方法:
修改kibana配置文件,这里写入的用户名密码都是明文的,不推荐该方法,了解即可。

vim /etc/kibana/kibana.yml 
#修改46跟47行,设置密码,账户一定要是elastic,密码也一定要是之前设置的密码
elasticsearch.username: "elastic"
elasticsearch.password: "111111"

#修改58跟59行,设置证书路径,要写绝对路径
elasticsearch.ssl.certificate: /etc/kibana/certs/elastic-certificates.p12
elasticsearch.ssl.key: /etc/kibana/certs/elastic-stack-ca.p12

检查修改后的配置文件
十四、ES开启密码认证第5张

第二种方法:
通过keystore配置加密的用户名密码信息

vim /etc/kibana/kibana.yml 
#修改58跟59行,设置证书路径,要写绝对路径
elasticsearch.ssl.certificate: /etc/kibana/certs/elastic-certificates.p12
elasticsearch.ssl.key: /etc/kibana/certs/elastic-stack-ca.p12

#kibana我是使用root账户运行的,需要加上--allow-root选项
/usr/share/kibana/bin/kibana-keystore create --allow-root

#用户名一定要是elastic
/usr/share/kibana/bin/kibana-keystore add elasticsearch.username --allow-root

#密码也是之前设置elastic用户的密码
/usr/share/kibana/bin/kibana-keystore add elasticsearch.password --allow-root

4、重启kibana

systemctl restart kibana

最后效果如下
十四、ES开启密码认证第6张

以后修改密码直接可以在kibana页面修改
十四、ES开启密码认证第7张

五、写在最后

最后一点要说的是,重启elasticsearch和kibana时,一定要查看日志,确认无报错,es服务启动成功才行。

如果有错可以使用XSHELL工具的查找ERROR关键字,查看报错,也可参考es故障排查
十四、ES开启密码认证第8张

参考资料
老男孩教育_day106_视频
官方文档
ES设置密码访问

免责声明:文章转载自《十四、ES开启密码认证》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nacos开机自启Sublime Text 格式化JSON-pretty json下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Elasticsearch入门和基本使用

1. 什么是Elasticsearch? Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统;Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。用于快速存储,搜索和海量数据分析; 2. Elasticsearch的优点 1)横向可扩展性:只需要增加一台机器,添加一些配置即可; 2)分片机制提供...

elasticsearch配置文件解析

1.Cluster(集群)# 集群名称标识了你的集群,自动探查会用到它。默认值为elasticsearch# 如果你在同一个网络中运行多个集群,那就要确保你的集群名称是独一无二的。## cluster.name: my-application 2.Node(节点)# 节点名称会在启动的时候自动生成,所以你可以不用手动配置。你也可以给节点指定一个# 特定的名...

ELK日志分析系统(4)-elasticsearch数据存储

1. 概述 logstash把格式化的数据发送到elasticsearch以后,elasticsearch负责存储搜索日志数据 elasticsearch的搜索接口还是很强大的,这边不详细展开,因为kibana会去调用el的接口; 本文将讲解elasticsearch的相关配置和遇到的问题,至于elasticsearch的相关搜索使用,后面会找个时间整理一...

【推荐】开源项目ElasticAmbari助力 ElasticSearch、Kibana、ambari服务高效运维管理

此文转载自:https://zyc88.blog.csdn.net/article/details/112007608 概述 ElasticAmbari为Ambari的一组自定义服务,为Elastic的产品提供安装和管理的支持。 项目地址: https://github.com/ChengYingOpenSource/ElasticAmbari 开源不易...

SkyWalking8.3.0安装

一:下载SkyWalking文件 访问github地址:https://github.com/apache/skywalking 官方给出的文档地址:https://github.com/apache/skywalking/tree/master/docs/en 安装直接去:https://github.com/apache/skywalking/tags...

Elasticsearch之curl删除

   扩展下, Elasticsearch之curl删除索引库 [hadoop@djt002 elasticsearch-2.4.3]$ curl -XDELETE 'http://192.168.80.200:9200/zhouls/emp/1'{"found":true,"_index":"zhouls","_type":"emp","_id":"1"...