[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: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.client_authentication: required
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.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 能够了解为寄存利用签名的文件。