X-Pack是Elastic Stack擴充功能,提供安全性,警報,監視,報告,機器學習和許多其他功能。 ES7.0+之後,預設情況下,當安裝Elasticsearch時,會自動安裝X-Pack,無需單獨再安裝。自6.8以及7.1+版本之後,基礎級安全永久免費。
從上面啟動ES并通路我們可以發現在通路ES過程中我們沒有任何安全認證就可以直接通路并操作ES,這在生産環境下如果端口号向外暴露的話對資料安全性無法得到保障。當然還有其它解決方案比如使用nginx作代理防護這裡就不作過多介紹。
1、ElasticSearch開啟X-Pack
- 修改es配置檔案:
cd elasticsearch/config
vi elasticsearch.yml
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuATN2MTO0IjMwIDOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
再最後新增如下配置項:
xpack.security.enabled: true
- 生成節點證書
借助elasticsearch-certutil指令生成證書:
bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
- 配置通信證書
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
- 重新開機elasticsearch服務
- 重新設定密碼
執行設定使用者名和密碼的指令,需要為4個使用者分别設定密碼:elastic、kibana、logstash_system、beats_system
1、可以自動設定密碼
bin/elasticsearch-setup-passwords auto
2、也可以手動設定密碼
bin/elasticsearch-setup-passwords interactive
這裡我們采用手動設定的方式:
- 驗證
通路es
輸入使用者名、密碼:
等于成功:
2、Kibina配置修改
修改kibina的配置檔案。添加如下配置:
通路Kibina位址,同樣需要輸入使用者名及密碼:
輸入使用者名、密碼,登入: