天天看點

ElasticSearch學習三:安全相關配置

一:叢集身份認證與使用者鑒權

elasticsearch預設是沒有開啟任何安全防範措施的,任何人隻要知道了IP和端口就可以通路資料。為此,可以通過x-pack插件開啟使用者身份認證與鑒權功能。

1.安裝x-pack

下載下傳安裝包x-pack-6.2.3.zip

elasticsearch上安裝x-pack

在每個es節點上執行 bin/elasticsearch-plugin install file:x-pack-6.2.3.zip

kibana上安裝x-pack

在安裝kibana的機器上執行 bin/kibana-plugin install file:x-pack-6.2.3.zip

2.更改 elasticsearch 的密碼

在 elasticsearch/bin/x-pack下,執行./setup-passwords interactive然後回車設定密碼。

隻需在一台機器上執行,其他節點隻要安裝了x-pack插件就可以直接加入,無需再設定密碼。

3.kibana上設定es密碼

打開 kibana.yml 設定:

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

二:叢集内部安全通信

es從6.8開始提供了多項安全功能。通過TLS可以加密通信,防止被抓包洩露敏感資訊。

TLS:TLS協定要求Trusted Certificate Authority(CA)簽發的X.509的證書

證書認證的不同級别

  • Certificate:節點加入叢集需要使用想用CA簽發的證書
  • Full Verfication:節點加入叢集需要使用想用CA簽發的證書,還需要驗證Hostname或IP位址
  • No Verfication:任何節點都可以加入,開發環境用于診斷目的

1. 生成CA憑證 bin/elasticsearch-certutil ca (CA憑證:elastic-stack-ca.p12)

2. 生成節點證書 bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 (節點證書:elastic-certificates.p12)

在config目錄下建立certs檔案夾,将elastic-stack-ca.p12和elastic-certificates.p12拷貝到certs下

3. 編輯配置檔案,開啟證書通路 編輯配置檔案/etc/elasticsearch/elasticsearch.yml,添加如下配置 ```yml xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate # 證書認證級别 xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

将上面步驟生成的elastic-certificates.p12證書複制到另外兩個es節點上對應的/etc/elasticsearch/檔案夾中,同時将上面

xpack.security.*配置選項也都複制到對應節點的elasticsearch.yml檔案裡

4.重新啟動節點

三:叢集與外部間的安全通信

1. 編輯配置檔案,開啟elasticsearch https服務 編輯配置檔案/etc/elasticsearch/elasticsearch.yml,添加如下配置 xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate # 證書認證級别 xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

重新開機服務

2.配置kibana連接配接https

1)使用openssl将證書轉化為.pem格式

在es安裝目錄下運作

openssl pkcs12 -in elastic-certificates.p12 -cacerts -nokeys -out elastic-ca.pem

将其拷貝到certs目錄下

2)在kibana目錄下編輯kibana配置檔案,添加如下配置

elasticsearch.hosts:["https://localhost:9200"]

elasticsearch.ssl.certificateAuthorities:["elastic-ca.pem路徑"]

elasticsearch.ssl.vertificationMode: certificate\

3)重新開機kibana服務

這樣,kibana就可以連接配接開啟https後的es叢集了~

繼續閱讀