Docker操作Elasticsearch和Kibana增加用户密码安全验证

简介: 昨天公司说现场生产的机器ES和Kibana没有增加密码等安全验证,我想这不是最基础的嘛,怎么连密码都没有,赶紧围绕着生产环境自己写了一个方案,马上让现场人员进行部署,具体的操作流程如下:

一、需求说明

 elasticsearchkibana默认情况下均未使用用户登录验证,因为kibanaelasticsearch上索引具备增删改查的能力,为了数据安全我们需要配置用户验证。这里只针对已经现场部署的程序进行的升级和配置,具体配置参照如下步骤。

二、配置步骤

1、前置条件

已经完成elasticsearchkibana的安装,安装步骤参照平台部署手册进行操作,涉及到的镜像可以从Harbor仓库中拉取。

2、修改elasticsearch配置文件

链接到部署平台的服务器,并进入到目录/data/es/config下,修改es的配置文件es.yml

1.   [root@7a90ca1c4fef bin]# vim /data/es/config/es.yml

2.   #添加如下配置

3.   xpack.security.enabled: true

4.   xpack.ml.enabled: true

5.   xpack.security.transport.ssl.enabled: true

3、重启es

1.   [root@7a90ca1c4fef bin]# docker restart es  

4、配置elasticsearch密码

进入es容器当中的/usr/share/elasticsearch/bin目录下,检查是否安装了x-pack,如果提示以下信息说明已经默认安装。

1.   [root@7a90ca1c4fef bin]# docker exec -it es /bin/bash  

2.   [root@7a90ca1c4fef bin]# ./elasticsearch-plugin install x-pack  

3.   ERROR: this distribution of Elasticsearch contains X-Pack by default  

 

然后执行./bin/elasticsearch-setup-passwords interactive命令设置密码

1.   [root@7a90ca1c4fef bin]# ./elasticsearch-setup-passwords interactive  

2.   Unexpected response code [403] from calling GET http://172.30.158.5:9200/_xpack/security/_authenticate?pretty  

3.   It doesn't look like the X-Pack security feature is available on this Elasticsearch node.  

4.   Please check if you have installed a license that allows access to X-Pack Security feature.  

5.    

6.   ERROR: X-Pack Security is not available.

 

注意:在设置密码时如果出现上述情况,执行以下操作,如果没有出现则跳过。

由于这个版本默认带的licensebasic的,不支持security这类商业特性。可以将license改为trial。退出容器,然后在物理机器上执行如下命令。

1.   [root@TAGE_VT_PLATFORM config]# curl -H "Content-Type: application/json" -XPOST http://192.168.30.157:9200/_xpack/license/start_trial?acknowledge=true  

2.   {"acknowledged":true,"trial_was_started":true,"type":"trial"}  

3.   [root@TAGE_VT_PLATFORM config]#  

然后进入容器,再次设置密码,这里设置密码会为eskibanelogstash等设置相同的密码,全部选y并设置统一密码就可以。用户名统一为默认elastic

1.   [root@7a90ca1c4fef bin]# docker exec -it es /bin/bash  

2.   [root@9287f1af91a0 bin]# ./elasticsearch-setup-passwords interactive  

3.   Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.  

4.   You will be prompted to enter passwords as the process progresses.  

5.   Please confirm that you would like to continue [y/N]y  

6.    

7.    

8.   Enter password for [elastic]:  

9.   Reenter password for [elastic]:  

10. Enter password for [apm_system]:  

11. Reenter password for [apm_system]:  

12. Enter password for [kibana]:  

13. Reenter password for [kibana]:  

14. Enter password for [logstash_system]:  

15. Reenter password for [logstash_system]:  

16. Enter password for [beats_system]:  

17. Reenter password for [beats_system]:  

18. Enter password for [remote_monitoring_user]:  

19. Reenter password for [remote_monitoring_user]:  

20. Changed password for user [apm_system]  

21. Changed password for user [kibana]  

22. Changed password for user [logstash_system]  

23. Changed password for user [beats_system]  

24. Changed password for user [remote_monitoring_user]  

25. Changed password for user [elastic]  

26. [root@9287f1af91a0 bin]#  

访问ES地址查看是否需要密码登录,默认用户名为elastichttp://192.168.30.157:9200/_cluster/health?pretty

image.pngimage.png

 

5、修改kibana配置

如下标红的命令一定要加,并且是ES配置的用户和密码。

1.   [es@test1 kibana]$ vim /data/kibana/config/kibana.yml  

2.   #添加如下配置  

3.   server.name: kibana  

4.   server.host: "0.0.0.0"  

5.   elasticsearch.url: "http://192.168.30.157:9200"  

6.   elasticsearch.username: 'elastic'  

7.   elasticsearch.password: 'h123456'  

8.   xpack.monitoring.ui.container.elasticsearch.enabled: true  

9.   i18n.locale: "zh-CN" 

6、重启kibana

1.   [root@TAGE_VT_PLATFORM config]# docker rm -f kibana  

2.   kibana  

3.   [root@TAGE_VT_PLATFORM config]# sh /opt/itage/bin/kibana/start.sh  

4.   MIDDLE_WARE_VER中间件版本:v2.3.0  

5.   Error: No such container: kibana  

6.   797c9af10442178312f0bccf12bf5a7e90caf98c7fb6d124fc4f7dd8b6dbe4b0  

7.   [root@TAGE_VT_PLATFORM config]#

7、重新访问kibana

image.png

8、登录后界面

image.png

配置了eskibana用户名密码验证后,Java程序连接es同理需要添加用户名密码验证代码。只需要在yml文件中加入ES用户名和密码即可。

1.   elasticsearch:  

2.    schema: http  

3.    address: 192.168.123.165 #你的服务器地址  

4.    connectTimeout: 5000  

5.    socketTimeout: 5000  

6.    connectionRequestTimeout: 5000  

7.    maxConnectNum: 100  

8.    maxConnectPerRoute: 100  

9.    UserName: elastic #elasticsearch账号  

10.  Password: h123456 #elasticsearch密码  

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
6714 0
|
存储 监控 安全
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
1203 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
1589 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
运维 监控 数据可视化
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
592 1
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
JSON 自然语言处理 数据库
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
概念、ik分词器、倒排索引、索引和文档的增删改查、RestClient对索引和文档的增删改查
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
存储 安全 数据安全/隐私保护
在Docker中,Docker安全么?
在Docker中,Docker安全么?

热门文章

最新文章