[TOC]
一、elastic stack 根底平安
1. 生成证书
1.1 机会: 启动Elasticsearch之前
1.2 借助certutil工具-生成ca证书
./bin/elasticsearch-certutil ca
证书文件名为: elastic-stack-ca.p12
1.3 借助certutil工具-生成证书(在任一节点)
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
证书名为: elastic-certificates.p12
1.4 将elastic-certificates.p12证书copy到所有node的config下
2. 利用生成证书-加密节点间通信
2.1 elasticsearch.yml:配置cluster.name
# 集群内的节点name雷同cluster.name: my-cluster
2.2 elasticsearch.yml:配置node.name
# 每个节点不同node.name: node1
2.3 elasticsearch.yml:退出certificate配置:
因为应用了ca证书制作颁发的certificates证书,verification mode就指定它, 前面还有ca生成的http证书, 配置就是http的(前面再说)
xpack.security.transport.ssl.enabled: truexpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.client_authentication: requiredxpack.security.transport.ssl.keystore.path: elastic-certificates.p12xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
2.4. 后面3个步骤在所有节点上操作完
3. 在所有的节点上, start elasticsearch
4.对于证书文件的阐明
4.1 elastic-stack-ca.p12 蕴含
- 你的CA的公共证书
- 你要为各节点签订证书要用的私钥
4.2 elastic-certificates.p12
这个文件是一个 keystore 文件, 蕴含:
- 节点证书
- 节点私钥key
- CA证书(可易了解为前面有我就不必ca了)
4.3 keystore 是什么
密钥(key)和证书(certificates)存在一个文件中称为keystore。
在keystore里,蕴含两种数据:
- 密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采纳非对称加密)
- 可信赖的证书实体(trusted certificate entries)——只蕴含公钥
Keystore能够了解为寄存利用签名的文件。