在 Kibana 上启用 SSL

在 Kibana 上启用 SSL

RHEL7 Elastic Stack 6.7.1 未使用 X-Pack。(以下本指南

我在 5601 上配置 Kibana 上的 SSL 时遇到了麻烦。首先,我生成了一个密钥,然后生成了一个 CSR 并将其发送给 CA。我检索了证书并获得了两个可用证书。Base 64 编码和使用 pkcs7 格式的 CA 证书链的 Base 64 编码。

我检索了两者,将 Base64 放在 mycert.cer 文件中,将 pcks7 放在 mycert.p7b 文件中。使用以下方法将 pcks7 转换为 pem

openssl pkcs7 -print_certs -in /etc/kibana/certs/mycert.p7b -out /etc/kibana/certs/mycert.pem

我确保 .key、.cer 和 .pem 位于 /etc/kibana/cert 文件夹中,并将所有权:组更改为 kibana。

在 kibana.yml 中我输入

server.ssl.enabled: true 
server.ssl.certificate:/etc/kibana/certs/mycert.cer
server.ssl.key: /etc/kibana/certs/mycert.key 
elasticsearch.ssl.certificate: /etc/kibana/certs/mycert.pem

最初我创建 CSR 时使用的 CN 是

myhost.mydomain.tld 

然后失败后我创建了一个

https://myhost.mydomain.tld:5601

当我尝试启动 Kibana 时收到以下错误消息:

digital envelope routines:EVP_DecryptFinal_ex:bad decrypt

在尝试搜索该主题时,我发现它可能是由不兼容的 OpenSSL 版本引起的 - 但我使用同一个系统,所以这种情况似乎不太可能。

--更新-- 除此之外,我刚刚创建了一个自签名证书和 CA,它立即启动了 Kibana,并且可以访问。这让我相信问题出在 CA 签名的证书链上。

答案1

所以我解决了。我认为错误部分是我没有正确设置 -ext。

我重新创建了密钥和 CSR(我的 CA 一定很喜欢我)严格遵循

keytool -genkey                  \
        -alias     node01        \ 
        -keystore  node01.jks    \ 
        -keyalg    RSA           \
        -keysize   2048          \
        -validity  712           \
        -ext san=dns:node01.example.com,ip:192.168.1.1 

然后将 CSR 与此一起。

keytool -certreq                   \
        -alias      node01         \ 
        -keystore   node01.jks     \
        -file       node01.csr     \
        -keyalg     rsa            \
        -ext san=dns:node01.example.com,ip:192.168.1.1 

这次我确保使用了 -ext 选项(文档说它是可选的),并确保别名和扩展名准确无误。我没有使用密钥库,它只是在本地安装。

然后,我在本地保存了密钥、base64 证书和 PKCS7 版本 - 将 PKCS7 转换为 PEM,并设置我的 Kibana 来查找 crt、密钥和 pem。

相关内容