雲服務器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南


文章轉載自:https://mp.weixin.qq.com/s/iPfh9Mkwxf5lieiqt6ltxQ

服務器是命令行模式登錄,沒法以瀏覽器方式訪問。而官方推薦的快捷部署方式,在kibana 端提供的訪問方式如下:

i Kibana has not been configured.
 Go to http://localhost:5601/?code=368039 to get started.

這個 localhost 針對的是雲服務器,在我們本機是搞不定的。

更進一步說,官方提供的快捷的部署方式,針對的是本機有瀏覽器可以訪問的場景,沒有或者鮮有考慮雲服務器部署情況。

最終還得回歸本源:自己搞安全的方式,不用官方自動生成的 CA 和 密鑰方式進行安全通信。

  • 一方面:Elasticsearch 可控。
  • 另一方面:與之安全通信的 Kibana 端 可用。

TLS tcp 加密通信設置

步驟1:先用默認的安裝方式搞定 Elasticsearrch 安全配置

這一步,保存一下 elastic 密碼,最后 kibana 訪問要用。

驗證機制:

步驟2:Elasticsearch 端改成自己生成CA 和 證書

參考:https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup.html

# 生成或創建認知中心。
./bin/elasticsearch-certutil ca

# 生成 TCP tls 加密通信的證書
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

步驟3:修改 elasticsearch.yml 的安全配置

設置:集群名稱(按照業務需求來)設置:節點名稱(按照業務需求來)設置:TLS 安全加密,參考如下:

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

注意:這和自動生成的是一樣的。改一下認證名稱就可以。

步驟4:將密碼存儲在密鑰庫(這一步是坑,必須過!!)

這一步貌似 7.X 沒有!

如果您在創建節點證書時輸入了密碼,請運行以下命令將密碼存儲在 Elasticsearch 密鑰庫中:

./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

到這里,其實 TCP 安全通信部分配置完畢。

如果,此時啟動 Elasticsearch, 至少不會報 TLS 加密相關的錯誤了。

由於,沒有設置 Https,此時啟動會報 http.p12 相關的 https 認證的錯誤。

Https 加密通信設置

參考:https://www.elastic.co/guide/en/elasticsearch/reference/current/security-basic-setup-https.html

這塊步驟非常多,直接按照官方文檔來,就沒有問題。

步驟1:生成 Http 的證書

./bin/elasticsearch-certutil http

步驟2:將生成的 zip 文件解壓縮為 elasticsearch 和 kibana 兩個文件夾。

zip 文件:elasticsearch-ssl-http.zip,解壓縮后截圖如下所示:

這兩個分別就是:ES 端 Https 的安全加密機制和 kibana與ES 端加密通信機制所需。

官方給出的 sample-elasticsearch.yml 和 sample-kibana.yml 暖暖的,很貼心。

步驟3:在elasticsarch 端配置生成的 http.p12 證書。

其實我們用默認之前生成的就可以。

只需要把新生成的證書拷貝到給定的 config/certs 路徑下面就可以。

步驟4:將密碼存儲在密鑰庫(這一步是坑,必須過!!)

./bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password

到這里,其實 Elasticsearch 單獨啟動已沒有報錯了。

kibana 安全配置

其實:sample-kibana.yml 給出詳細說明。

與elasticsearch 端默認的Http通信要改成 Https

使用生成的證書

前提:證書拷貝到 config 路徑下面

需要配置非 elastic 管理員賬戶和密碼

注意:7.X 版本 可以使用 elastic 賬戶的,8.0 安全需要,已被禁用。

默認給出了 kibana_system 賬戶,密碼可以借助 reset_password 命令行工具實現。

./bin/elasticsearch-reset-password -u kibana_system 

會自己幫我們生成密碼,拷貝一下即可。

然后改動配置,參考如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM