Openssl

在 Kibana 上啟用 SSL

  • May 2, 2019

RHEL7 Elastic Stack 6.7.1 不使用 X-Pack。(按照本指南

我在 Kibana 上配置 SSL 超過 5601 時遇到問題。首先我生成了一個密鑰,然後我生成了一個 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

最初我用 CN 創建了 CSR

myhost.mydomain.tld 

然後在它失敗後我創建了一個

https://myhost.mydomain.tld:5601

當我嘗試啟動 Kibana 時,我收到以下錯誤消息:

digital envelope routines:EVP_DecryptFinal_ex:bad decrypt

在嘗試搜尋該主題時,我發現它可能是由不兼容的 OpenSSL 版本引起的 - 但我在同一個系統上,所以這似乎不太可能。

–update– 除此之外,我剛剛創建了一個自簽名證書和 ca 並啟動了 Kibana 並且它是可訪問的。讓我相信問題出在 ca 簽名的證書鏈上。

所以我解決了。我相信錯誤部分是我沒有正確設置 -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。

引用自:https://serverfault.com/questions/965582