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。