Elasticsearch安全集群构建的常见问题

集群之间的互信问题:

我们再使用ccs或者是ccr的时候,会出现集群之间的互信问题,这里的解决方式是,集群之间使用相同的跟CA机构颁发的证书就行了

方式一:

Elasticsearch:使用不同的 CA 更新安全证书 (一)_elastic-certificates.p12-CSDN博客Elasticsearch:使用不同的 CA 更新安全证书 (二)_elasticsearch-certutil-CSDN博客

方式二:

上面的方式保证了在生成证书elastic-stack-ca.p12时,不包含ca的私钥,更加的安全。

大家也可以参考es官方的方式解决这个问题:

Set up basic security for the Elastic Stack | Elasticsearch Guide [8.18] | Elastic

Set up basic security for the Elastic Stack plus secured HTTPS traffic | Elasticsearch Guide [8.18] | Elastic

生成enrollment失效问题  

ES 节点的 HTTP 层 SSL 配置的 Keystore 不包含 PrivateKey 类型的证书。这里我使用命令给大家展示一下:

但是大家需要注意的是,如果想要使用下面的方式,上面进行互信的方式一定是第二种,也就是elastic-stack-ca.p12文件中一定要有ca的私钥,之后大家接着下面的操作进行执行就可以了。

首先,大家可以使用我们es自带的keystore工具查看:

[elastic@localhost bin]$ pwd
/elasticsearch/es9200/jdk/bin
[elastic@localhost bin]$ ./keytool -keystore /elasticsearch/es9200/config/certs/http.p12 -list
输入密钥库口令:
密钥库类型: PKCS12
密钥库提供方: SUN

您的密钥库包含 2 个条目

ca, 2026年5月25日, trustedCertEntry,
证书指纹 (SHA-256): B7:86:B4:37:02:1C:06:78:23:C8:BC:35:2D:3D:BD:4B:B6:8D:A6:AF:62:B1:B8:5F:5C:CA:5C:73:4A:70:91:B0
http, 2026年5月22日, PrivateKeyEntry,
证书指纹 (SHA-256): 7F:1E:DA:9F:AD:F0:8B:80:5E:AD:50:21:91:BC:78:9B:67:A3:9D:21:57:7C:D0:B5:94:34:A0:85:2F:1F:C4:04

其中的 TrustedCertEntry 是在官方文档 Basic Security plus HTTPS 步骤中生成 HTTP PKCS12 Keystore 时,使用在 Basic Security 步骤生成的 Keystore 作为 CA Cert 自动导入的。

但 ES 需要的是一个证书颁发机构提供的 PrivateKeyEntry,也就是说,你需要的是像下面这样的输出:

http_ca, Sep 6, 2022, PrivateKeyEntry,
Certificate fingerprint (SHA-256): 9E:56:B1:38:F7:49:C7:7D:07:F0:E1:8A:D6:EC:9B:56:DF:86:7D:D6:90:46:86:77:99:6B:D1:9E:9C:4F:F0:03

因此我们把上面 TrustedCertEntry 替换为 PrivateKeyEntry 即可。

接着执行如下命令:

keytool -importkeystore -destkeystore <filename-your-HTTP-PKCS12.p12> -srckeystore <filename-PKCS12-contains-CA-Cert.p12> -srcstoretype PKCS12

我的命令如下:

/elasticsearch/es9200/jdk/bin/keytool -importkeystore -destkeystore /elasticsearch/es9200/config/certs/http.p12 -srckeystore /elasticsearch/es9200/elastic-stack-ca.p12 -srcstoretype PKCS12

之后验证一下:

执行命令:

-keystore /elasticsearch/es9200/config/certs/http.p12 -list

作者环境命令;

[elastic@localhost es9200]$ ./jdk/bin/keytool -keystore /elasticsearch/es9200/config/certs/http.p12 -list
ca, 2026年5月25日, PrivateKeyEntry,
证书指纹 (SHA-256): CB:0B:6A:63:22:0B:A7:04:AC:C2:3B:AE:F4:37:A2:07:2E:02:76:A1:02:D3:6D:07:2B:88:4C:A6:F4:38:94:7C
http, 2026年5月22日, PrivateKeyEntry,
证书指纹 (SHA-256): 7F:1E:DA:9F:AD:F0:8B:80:5E:AD:50:21:91:BC:78:9B:67:A3:9D:21:57:7C:D0:B5:94:34:A0:85:2F:1F:C4:04

接着执行就可以生成token了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值