Elasticsearch SSL认证/证书制作

制作目的

在上一篇《elasticsearch7.X x-pack破解》中,我们启用了x-pack模块,elasticsearch集群中,如果使用了x-pack,那么集群中的各节点之间通讯就必须安全认证。为了解决节点间通讯的认证问,我们需要制作证书。

内容简介

本文的主要内容是指导SSL制作过程。

步骤

    1. 生成证书
      一、cd到es安装目录下,如:cd /data/platform/elasticsearch/elasticsearch-7.0.0
      然后执行:bin/elasticsearch-certutil  ca

      这里先让你输入ca文件名,我已经生成过了,所以我的文件名就不能再用elastic-stack-ca.p12。然后需要输入密码,如:elastic-segi0409。输入完密码后按回车,这时你的bin目录下会有一个文件名为elastic-stack-ca.p13的密钥库生成,包含证书颁发机构证书信息和用于签名的私钥信息。
      二、 创建私钥:bin/elasticsearch-certutil  cert --ca elastic-stack-ca.p13

      这里需要输入第一步设置的密码(elastic-segi0409),然后再输入输出的文件名,如:elastic-certificates.p13,回车后bin目录下会生成一个名为elastic-certificates.p13的文件
      三、目录配置
      文件生成后,需要放入对应的目录。创建certs目录:mkdir config/certs,拷贝两个文件到创建的目录中,如:

      这两个文件是之前本人已经创建并在使用中。
    2. 证书拷贝至所有elasticsearch节点
      把certs目录scp到集群的所有节点
    3. elasticsearch集群启用SSL
      在elasticsearch.yml中增加配置:

      xpack.security.transport.ssl.enabled: true
      xpack.security.transport.ssl.verification_mode: certificate
      xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
      xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

    4. elasticsearch各节点为xpack.security.transport添加密码
      bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
      bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

      注意:密码为创建证书时设置的密码
    5. 重启所有节点即可

          PS:制作SSL后,原来的licenses可能会失效,我在线上操作该步骤的时候整个集群的license就失效了,需要重新按上一篇《elasticsearch7.X x-pack破解》申请lincese并导入。

【版权声明】

本文版权归作者(深圳伊人网网络有限公司)和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。如您有任何商业合作或者授权方面的协商,请给我留言:siqing0822@163.com

posted @ 2020-05-25 10:15  非洲羚羊  阅读(4880)  评论(0编辑  收藏  举报