X-Pack是Elastic Stack擴展功能,提供安全性,警報,監視,報告,機器學習和許多其他功能。 ES7.0+之后,默認情況下,當安裝Elasticsearch時,會安裝X-Pack,無需單獨再安裝。
自6.8以及7.1+版本之后,基礎級安全永久免費。
基礎版本安全功能列表如下:
1.為集群創建認證機構
文件根目錄下執行
bin/elasticsearch-certutil ca
依次輸入回車(文件使用默認名),密碼
2.節點頒發證書
證書實現加密通信的原理
TLS需要X.509證書(X.509 證書是一個數字證書,它使用 X.509 公有密鑰基礎設施標准將公有密鑰與證書中包含的身份相關聯。X.509 證書由一家名為證書頒發機構 (CA) 的可信實體頒發。CA 持有一個或多個名為 CA 證書的特殊證書,它使用這種證書來頒發 X.509 證書。只有證書頒發機構才有權訪問 CA 證書)才能對與之通信的應用程序執行加密和身份驗證。 為了使節點之間的通信真正安全,必須對證書進行驗證。
在Elasticsearch集群中驗證證書真實性的推薦方法是信任簽署證書的證書頒發機構(CA)。
這樣,只需要使用由同一CA簽名的證書,即可自動允許該節點加入集群。
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 #依次輸入上一個步驟的密碼。回車(文件使用默認名),密碼(建議與上一步密碼相同)
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password #並輸入第一步輸入的密碼
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password #並輸入第一步輸入的密碼
3.多節點配置
將生成的elastic-certificates.p12、elastic-stack-ca.p12文件mv到config目錄下,並連同elasticsearch.keystore 文件 scp到其他節點的config目錄中。
scp elastic-certificates.p12 elasticsearch.keystore elastic-stack-ca.p12 root@192.168.1.100:/home/wes/elasticsearch-7.6.1/config/
4.修改配置
在elasticsearch-7.6.1/config/elasticsearch.yml中增加一下配置,啟用x-pack安全組件,啟用ssl加密通信,並且配置認證證書:
#---------------------security------------------ # xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12 #
配置修改完成后,重啟es服務,重啟成功后
http://192.168.60.110:9201/ 訪問Es服務要輸入用戶名和密碼
5.密碼設置
通過設置訪問密碼,這是elastic用戶和其他一些系統內置用戶的密碼
bin/elasticsearch-setup-passwords interactive