介绍
介绍
前面福哥带着大家学会了elastic官方的用于管理Elasticsearch搜索引擎的工具Kibana的安装使用,大家可以看到Kibana可以针对Elasticsearch进行完全的索引、数据的操作,但是Kibana缺又不需要登录就可以使用,这有点太不安全了!
其实Kibana不用登录不是Kibana自己的问题,是我们的Elasticsearch搜索引擎没有开启安全认证的原因,如果ES开启了认证那么Kibana就会需要登录才能使用了!
今天福哥就带着大家学习如果开启Elasticsearch的HTTP安全认证~
环境
镜像版本 | elasticsearch:6.8.18、kibana:6.8.18 |
操作系统 | CentOS 7 x86_64 2009 |
服务器 | TFCentOS7x64 |
IP | 192.168.168.68 |
端口 | 9200、5601 |
使用
启动Elasticsearch
首先把Elasticsearch启动起来。
docker start tfelasticsearch
生成TLS证书
进入到tfelasticsearch的容器里面,进入到Elasticsearch的bin目录下面,使用证书工具elasticsearch-certutil生成TLS证书,最后设置证书文件所有者为elasticsearch。
docker exec -ti tfelasticsearch bash cd /usr/share/elasticsearch/bin/ ./elasticsearch-certutil cert -out ../config/elasticsearch_certificate.p12 -pass "" chown elasticsearch ../config/elasticsearch_certificate.p12
开启ES认证
编辑/usr/share/elasticsearch/config/elasticsearch.yml配置文件,增加如下配置信息。
# security xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: elasticsearch_certificate.p12 xpack.security.transport.ssl.truststore.path: elasticsearch_certificate.p12
设置密码
现在可以设置密码了,进入到Elasticsearch的容器里面,进入到Elasticsearch的bin目录下面,使用elasticsearch-setup-passwords工具设置密码。
docker exec -ti tfelasticsearch bash cd /usr/share/elasticsearch/bin/ ./elasticsearch-setup-passwords interactive
Kibana配置ES用户名和密码
现在进入到tfkibana的容器里面,把Elasticsearch开启安全认证时候设置的kibana的用户名和密码配置到/usr/share/kibana/config/kibana.yml里面。
elasticsearch.username: "kibana" elasticsearch.password: "********"
总结
今天福哥带着大家学习了开启Elasticsearch搜索引擎的安全认证的方法,设置了用户名和密码之后再使用ES就安全多了!使用Kibana操作ES也安全多了!