ES--es7.6.1开通安全防护认证流程

1.啥是X-Pack?

X-Pack是Elastic Stack扩展功能,提供安全性,警报,监视,报告,机器学习和许多其他功能。 ES7.0+之后,默认情况下,当安装Elasticsearch时,会安装X-Pack,无需单独再安装。

  • 1、5.X版本之前:没有x-pack,是独立的:security安全,watch查看,alert警告等独立单元。
  • 2、5.X版本:对原本的安全,警告,监视,图形和报告做了一个封装,形成了x-pack。
  • 3、6.3 版本之前:需要额外安装。
  • 4、6.3版本及之后:已经集成在一起发布,无需额外安装,基础安全属于付费黄金版内容。 7 .1版本:基础安全免费。

自6.8以及7.1+版本之后,基础级安全永久免费。

基础版本安全功能列表如下:
ES--es7.6.1开通安全防护认证流程_第1张图片

2.ES配置

2.1集群化配置(docker环境)

1.进入ES docker容器,生成节点证书

借助elasticsearch-certutil命令生成证书
(在elasticsearch目录下执行/usr/share/elasticsearch)

/usr/share/elasticsearch/bin/elasticsearch-certutil.bat ca -out config/elastic-certificates.p12 -pass ""

//-out 指定证书生成路径,-pass 默认无密码
注:只需要使用由同一CA签名的证书,即可自动允许该节点加入集群
ES--es7.6.1开通安全防护认证流程_第2张图片

2.配置加密通信

启用安全功能后,必须使用TLS来确保节点之间的通信已加密。
在elasticsearch.yml中心新增配置如下:

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 

具体配置如下:

cluster.name: es-docker
node.name: es-nodename
network.bind_host: 0.0.0.0
network.publish_host: ***.***.***.*** ##本机ip地址
http.port: 9200 ## 开放端口
transport.tcp.port: 9300 ##开放tcp端口
http.cors.enabled: true
http.cors.allow-origin: "*"
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
node.master: true 
node.data: true
discovery.seed_hosts: ["***.***.***.***:9300","elasticsearch2:10293","elasticsearch1:10193"]
cluster.initial_master_nodes: ["es-nodename1","es-nodename2","es-nodename3"]

注意:
1.最好将证书与配置文件放在同一目录下
2.生成的这书最好手动赋一下权 chmod 644 *.ca

3.设置集群密码

ES中内置了几个管理其他集成组件的账号即:apm_system, beats_system, elastic, kibana, logstash_system, remote_monitoring_user,使用之前,首先需要添加一下密码:

/bin/elasticsearch-setup-passwords interactive
  • interactive:给用户一一设置密码。
  • auto:自动生成密码。

ES--es7.6.1开通安全防护认证流程_第3张图片
注意:必须配置好xpack之后,才能设置密码。否则会报错。
如果这个地方报如下错误:

Failed to determine the health of the cluster running at http://192.168.3.42:9200
Unexpected response code [503] from calling GET http://192.168.3.42:9200/_cluster/health?pretty
Cause: master_not_discovered_exception

It is recommended that you resolve the issues with your cluster before running elasticsearch-setup-passwords.
It is very likely that the password changes will fail when run against an unhealthy cluster.
Do you want to continue with the password setup process [y/N]y

可能是有脏数据导致,此时可以停掉es,删除 data 数据目录,然后重新启动在进行操作。

4.配置其他节点
  • 将配置好的带证书的文件copy到另外的其他节点下,放在同样目录下
  • elasticsearch.yml 复制新增配置和配置好的节点一样
  • 除了node.name使用各自主机名之外,其他配置都一样。
5.配置完成,重启各个节点

配置完毕之后,可以通过如下方式访问es服务:

curl -XGET -u elastic 'localhost:9200/_xpack/security/user?pretty'
curl 127.0.0.1:9200 -u elastic

附录:
https://blog.csdn.net/laoyang...
http://www.eryajf.net/3500.html

你可能感兴趣的:(elasticsearch)