在上一篇文章中ElasticSearch+Kibana+Elasticsearch-analysis-ik系统环境搭建_志飞的博客-优快云博客
介绍了环境的搭建,但是没有设置密码,不设密码,无疑是不安全的,数据都有可能被删光,所以数据传输需要证书,访问需要设置密码。
ElasticSearch设置密码
1)为 ES 集群创建节点认证中心 ,生成证书 (直接回车,设置空密码)
$ ./bin/elasticsearch-certutil ca
一路回车完成后会生成一个文件:elastic-stack-ca.p12
$ ./bin/elasticsearch-certutil cert --ca ./elastic-stack-ca.p12
直接回车。默认会生成文件 elastic-certificates.p12。
将这个两个文件拷贝到另一个节点上,###若使用SCP传到另一个节点的话 注意目录文件的身份,是新建用户es不是root
==============================================================================================================================
中间会让输入路径跟密码,路径可以不输,直接回车,但是密码我们还是回车生成。完成后会生成一个文件:elastic-stack-ca.p12
默认文件会在 ES 根目录产生,名为 elastic-stack-ca.p12。
然后可以将文件 elastic-stack-ca.p12 复制到每个 ES 节点的根目录下。
2)为集群中的每个节点创建证书和私钥(每个节点都要执行以下内容)生成证书和密钥。(直接回车,设置空密码)
$ ./bin/elasticsearch-certutil cert --ca ./elastic-stack-ca.p12
可以设置密码,也可以直接回车。默认会生成文件 elastic-certificates.p12。
=============================================================================================================================================
3)将生成的文件复制到配置文件目录下:
$ mv ./elastic-stack-ca.p12 ./config/
$ mv ./elastic-certificates.p12 ./config/
4)开启ES 配置文件的认证参数,修改配置文件(去掉#)
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
如果之前节点证书设置了密码,将密码添加到 keystore (上面我设置的都是空密码,所以这一步我不需要执行)
5)设定密码
$ ./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password 密码:为空
$ ./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password 密码:为空 跟前面的输入保持一致
6)重启ES集群
ps -ef | grep elasticsearch
kill 进程ID号
重启:./bin/elasticsearch -d
或者进程号写进文件
./bin/elasticsearch -p /tmp/elasticsearch-pid -d
7)设定验证密码
$ ./bin/elasticsearch-setup-passwords interactive (如果报错,删除data,重启es,再执行)
设置内置用户密码 (设置完,直接就可以通过用户和密码访问集群了)
elasticsearch 默认用户名 elastic 密码是刚才执行$ ./bin/elasticsearch-setup-passwords interactive命令时自行设置的,测试我设置的是123456
curl http://118.118.133.73:9200/_cat/nodes -u username:passwords
查看集群节点:http://118.118.133.73:9200/_cat/nodes?v
验证集群磁盘分配情况:http://118.118.133.73:9200/_cat/allocation?v
验证集群健康状况:http://118.118.133.73:9200/_cat/health?v
查看集群的索引数: http://118.118.133.73:9200/_cat/indices?v
Kibana设置户名和密码
vi /usr/local/kibana/kibana-7.3.0-linux-x86_64/config/kibana.yml
设置
server.port: 5601 #这个不一定需要配置
server.host: "0.0.0.0" #配置IP 建议设置0.0.0.0,方便访问
elasticsearch.hosts: ["http://10.118.133.73:9200"]
i18n.locale: "zh-CN" #默认是英文,这个是中文设置
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
那么访问kibana主页
http://131.252.133.73:5601
用户名和密码是 elastic 123456,否则用其他用户名和密码会出现403 forbidden禁止访问的错
好,逐步完善,加油!

本文档详细介绍了如何为Elasticsearch集群设置安全认证,包括生成证书、配置节点间通信、设定用户密码以及Kibana的用户名和密码。通过这些步骤,可以确保数据传输的安全并限制未经授权的访问。
2827

被折叠的 条评论
为什么被折叠?



