X-Pack是Elastic Stack擴展功能,提供安全性,警報,監視,報告,機器學習和許多其他功能。 ES7.0+之後,默認情況下,當安裝Elasticsearch時,會安裝X-Pack,無需單獨再安裝。
自6.8以及7.1+版本之後,基礎級安全永久免費。
默認情況下,擁有安全免費許可證時,Elasticsearch安全功能被禁用。 要啟用安全功能,需要設置xpack.security.enabled。
在每個節點的elasticsearch.yml配置文件中,新增:
使用範圍:配置傳輸層安全性適用於具有多個節點的集群以及需要外網通信訪問的單節點ES。
使用環回地址127.0.0.1的單節點ES可以不用配置。
Elasticsearch節點可能存儲是機密的數據,而無處不在的網絡攻擊對這些數據垂涎欲滴。
網絡攻擊包括對數據的嗅探,對數據的操縱,以及試圖獲得對服務器的訪問權限,進而訪問存儲數據的文件。
保護節點的安全有助於降低來自網絡的攻擊的風險 。
1、證書實現加密通信的原理
TLS需要X.509證書(X.509 證書是壹個數字證書,它使用 X.509 公有密鑰基礎設施標準將公有密鑰與證書中包含的身份相關聯。X.509 證書由壹家名為證書頒發機構 (CA) 的可信實體頒發。CA 持有壹個或多個名為 CA 證書的特殊證書,它使用這種證書來頒發 X.509 證書。只有證書頒發機構才有權訪問 CA 證書)才能對與之通信的應用程序執行加密和身份驗證。 為了使節點之間的通信真正安全, 必須對證書進行驗證 。
在Elasticsearch集群中驗證證書真實性的推薦方法是信任簽署證書的證書頒發機構(CA)。
這樣,只需要使用由同壹CA簽名的證書,即可自動允許該節點加入集群。
2、借助elasticsearch-certutil命令生成證書
啟用安全功能後,必須使用TLS來確保節點之間的通信已加密。
在elasticsearch.yml中心新增配置如下:
借助:elasticsearch-setup-passwords 設置集群密碼。
核心:
auto - 隨機生成密碼。
interactive - 自定義不同用戶的密碼。
註意:必須配置好xpack之後,才能設置密碼。否則會報錯。
最簡單的方法,
假定是初始部署集群階段。
X-Pack安全配置的核心三步驟:
這些對於安全來說只是皮毛,更多的角色、權限、Space需要借助Kibana實現。
5.1 pom文件
5.2修改配置文件