Kibana中如何使用*.p12文件(Kibana链接Https保护的ES集群)

目前ES配置中,可以使用*.p12文件配置TLS和Https。详细的配置过程可以参见官方文档Encrypting communications in Elasticsearch,若英文不想看,也可常见我的博客加密ElasticSearch通信,为此官方文档的简要译文。

p12文件在ELasticSearc配置中可以使用,但是在Kibana配置中无法使用,此问题已经被ElasticSearch的官方开发人员在论坛中回复过,详情可见How use .p12 key for TLS in Kibana。

根据Kibana的官方文档,当我们的ES集群使用了Https时,需要配置

elasticsearch.ssl.certificateAuthorities: /path/to/your/cacert.pem

由于我们在配置ES时,签名证书是P12格式,明显不是.pem或者.crt(以上配置也可使用crt)格式。为了完成配置,我们可以从P12文件导出crt格式的根签名公钥证书文件。在WIN10上操作,需要我们安装openssl工具,或者在Linux系统上完成,也必须具备openssl工具。

详细步骤总结如下:

  1. 下载openssl工具并安装。常见地址https://www.openssl.org/source/或者https://sourceforge.net/projects/gnuwin32/files/openssl/0.9.8h-1/openssl-0.9.8h-1-setup.exe/download?use_mirror=nchc进行下载并安装;
  2. 从p12文件分离出crt文件。命令行操作代码openssl pkcs12 -in eastcom-bas-ca.p12 -clcerts -nokeys -out bas-ca.crt。
    红色字体为p12文件。分离操作也可参看博客如何分离p12(或pfx)文件中的证书和私钥;
  3. 配置Kibana.yml文件
    server.host: "127.0.0.1"
    elasticsearch.url: "https://10.8.23.90:9250"
    elasticsearch.username: "elastic"
    elasticsearch.password: "elastic"
    #根授权证书
    elasticsearch.ssl.certificateAuthorities: E:\soft\elk\kibana-6.4.3-windows-x86_64\config\certs\bas-ca.crt
    elasticsearch.ssl.verificationMode: certificate

    xpack.monitoring.enabled: true
    xpack.security.enabled: true
    xpack.ml.enabled: true
    xpack.watcher.enabled: true
    xpack.graph.enabled: true
  4. 运行Kibana检验,可成功连接上Https保护的ES集群。
     

你可能感兴趣的:(kibana)