天天看點

ElasticSearch啟用安全認證功能和設定登入密碼

作者:專攻術業程式員

1、生成證書和秘鑰

/usr/share/elasticsearch/bin/elasticsearch-certutil ca

/usr/share/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

ElasticSearch啟用安全認證功能和設定登入密碼

在生成證書的過程中,都直接按回車,不需輸入密碼。

ElasticSearch啟用安全認證功能和設定登入密碼
ElasticSearch啟用安全認證功能和設定登入密碼

2、複制證書和秘鑰到所有節點的配置目錄下

cp elastic-certificates.p12 elastic-stack-ca.p12 /etc/elasticsearch/

scp elastic-* root@es2:/etc/elasticsearch/

設定秘鑰的權限和屬性

#chmod 777 elastic-*

#chown elasticsearch:elasticsearch elastic-*

3、修改ealsticsearch每個節點的配置

xpack.security.enabled: true

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12

ElasticSearch啟用安全認證功能和設定登入密碼

修改完後,需要重新開機服務

#systemctl restart elasticsearch

4、設定使用者名和密碼

#/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive

在部署過程中,遇到以下問題

ElasticSearch啟用安全認證功能和設定登入密碼

主要原因是由于隻在一個節點上操作,而在操作時叢集還沒恢複,當叢集的節點都運作時,再執行設定密碼的指令後,就成功了。

還有一個問題是,如果需要重新設定密碼,可以删除.security-7索引即可。

ElasticSearch啟用安全認證功能和設定登入密碼

[root@elk1 elasticsearch]# curl -XDELETE 127.0.0.1:9200/.security-7 -u elastic:123456

看到{"acknowledged":true},表示删除成功

5、通路驗證

ElasticSearch啟用安全認證功能和設定登入密碼

6、部署問題

如果隻是配置如下第一項,而沒有配置後面四個SSL相關的配置,則會出現如下無法啟動服務的報錯。

xpack.security.enabled: true

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: /etc/elasticsearch/elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: /etc/elasticsearch/elastic-certificates.p12

ElasticSearch啟用安全認證功能和設定登入密碼

在後面文章中,還會介紹跟kibana結合,配置登入的web頁面。

kibana配置修改

由于elasticsearch已經配置為需要密碼通路,是以kibana的配置中需要寫入賬号資訊

#vi /etc/kibana/kibana.yml

elasticsearch.username: "kibana_system"

elasticsearch.password: "********"

ElasticSearch啟用安全認證功能和設定登入密碼

繼續閱讀