

基于TLS實現(xiàn)ElasticSearch集群加密通訊
作者:“發(fā)顛的小狼”,歡迎轉(zhuǎn)載
? 用途
? ES節(jié)點信息
? Step1. 關(guān)閉服務(wù)
? Step2. 創(chuàng)建CA證書
? Step3. 創(chuàng)建CERT證書
? Step4. 創(chuàng)建密鑰庫
? Step5. 刪除CA證書
? Step6. 修改elasticsearch.yml配置
? Step7. 啟動服務(wù)
? 附. 參考文檔
前情提要:
? 在第一篇《EFK教程 - 快速入門指南》中,闡述了EFK的安裝部署,其中ElasticSearch的架構(gòu)為三節(jié)點,即master、ingest、data角色同時部署在三臺服務(wù)器上。
? 在第二篇《EFK教程 - ElasticSearch高性能高可用架構(gòu)》中,闡述了EFK的data/ingest/master角色的用途及分別部署三節(jié)點,在實現(xiàn)性能大化的同時保障高可用。
? 在第三篇《EFK教程(3) - ElasticSearch冷熱數(shù)據(jù)分離》中,闡述了ES多實例部署,將不同熱度的數(shù)據(jù)存在不同的磁盤上,實現(xiàn)了數(shù)據(jù)冷熱分離、資源合理分配。
前三篇文章,ES集群之間數(shù)據(jù)交互都是明文交互,而在本文中,為ES集群創(chuàng)建CA、CERT證書,實現(xiàn)ElasticSearch集群之間數(shù)據(jù)通過TLS進(jìn)行雙向加密交互。
由于本文是基于上一篇文章《EFK教程(3) - ElasticSearch冷熱數(shù)據(jù)分離》為環(huán)境進(jìn)行闡述,因此節(jié)點信息和上一篇一致:

首先,需要停止所有ElasticSearch、kibana、filebeat服務(wù),待證書配置完成后再啟動
1?? 找任一一臺ElasticSearch節(jié)點服務(wù)器操作即可
cd /opt/elasticsearch/
# --days: 表示有效期多久
sudo -u elasticsearch ./bin/elasticsearch-certutil ca --days 36602?? 務(wù)必將生成的CA證書,傳到安全地方永久存儲,因為后期若需要新增ES節(jié)點,還會用到該證書


3?? 請將elastic-stack-ca.p12證書傳到所有ES實例服務(wù)器上
按上面表格進(jìn)入相對應(yīng)的目錄創(chuàng)建CERT證書
# 在ES目錄中建立證書目錄及給予elasticsearch權(quán)限
mkdir -p config/certs;chown elasticsearch.elasticsearch config/certs -R
# 每一個實例一個證書
# --ca CA證書的文件名,必選參數(shù)
# --dns 服務(wù)器名,多服務(wù)器名用逗號隔開,可選參數(shù)
# --ip 服務(wù)器IP,多IP用逗號隔開,可選參數(shù)
# --out 輸出到哪里,可選參數(shù)
# --days 有效期多久,可選參數(shù)
sudo -u elasticsearch ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 --ip ${本機(jī)IP},127.0.0.1 --out config/certs/cert.p12 --days 3660
# 例如elasticsearch-master-1(192.168.1.31)執(zhí)行命令:sudo -u elasticsearch ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 --ip 192.168.1.31,127.0.0.1 --out config/certs/cert.p12 --days 3660

如果想批量生成CERT證書,請自行查閱附錄鏈接,不過批量生成有時會碰到生成的證書不可用,因此建議一臺一臺生成
按上面表格進(jìn)入相對應(yīng)的目錄創(chuàng)建密鑰庫
# 每一個實例都要操作
# 創(chuàng)建密鑰庫
sudo -u elasticsearch ./bin/elasticsearch-keystore create
# PKCS#12文件的密碼
sudo -u elasticsearch ./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
# 信任庫的密碼
sudo -u elasticsearch ./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password


確認(rèn)keystore、truststore已錄入至密鑰庫
sudo -u elasticsearch ./bin/elasticsearch-keystore list
由于上面創(chuàng)建的elastic-stack-ca.p12含有私鑰,因此為了安全,建議將該文件刪除(請務(wù)必提前備份好,因為后期增加節(jié)點還會用到)
按上面表格進(jìn)入相對應(yīng)的目錄刪除CA證書
rm -f elastic-stack-ca.p12按上面表格對應(yīng)的實例配置conf目錄下elasticsearch.yml
# 在所有實例上加上以下配置
# 開啟transport.ssl認(rèn)證
xpack.security.transport.ssl.enabled: true
# xpack認(rèn)證方式 full為主機(jī)或IP認(rèn)證及證書認(rèn)證,certificates為證書認(rèn)證,不對主機(jī)和IP認(rèn)證,默認(rèn)為full
xpack.security.transport.ssl.verification_mode: full
# xpack包含私鑰和證書的PKCS#12文件的路徑
xpack.security.transport.ssl.keystore.path: certs/cert.p12
# xpack包含要信任的證書的PKCS#12文件的路徑
xpack.security.transport.ssl.truststore.path: certs/cert.p12# 開啟所有ES實例
sudo -u elasticsearch ./bin/elasticsearch
# 開啟filebeat
/opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml -d "publish"
# 開啟kibana
sudo -u kibana /opt/kibana/bin/kibana -c /opt/kibana/config/kibana.ymlhttps://www.elastic.co/guide/en/elasticsearch/reference/current/configuring-tls.html
https://www.elastic.co/guide/en/elasticsearch/reference/7.3/certutil.html另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:EFK教程(4)-ElasticSearch集群TLS加密通訊-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://chinadenli.net/article30/hjopo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、網(wǎng)站設(shè)計公司、網(wǎng)站策劃、域名注冊、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)