1. 程式人生 > >x-pack 功能介紹及配置傳輸層安全性(TLS / SSL)

x-pack 功能介紹及配置傳輸層安全性(TLS / SSL)

x-pack功能使用:

功能名稱 檔案配置格式 適用元件
圖形展示 xpack.graph.enabled 只使用於kibana元件
報表統計 pack.reporting.enabled 只使用於kibana元件
報警通知 xpack.watcher.enabled 只適用於elasticsearch元件
安全認證 xpack.security.enabled 適用於elk的三個元件
監控跟蹤 xpack.monitoring.enabled 適用於elk的三個元件
裝置資源分配 xpack.ml.enabled 適用於elasticsearch和kibana元件

啟用和禁用X-Pack功能:
預設情況下,所有X-Pack功能都已啟用。 可以在elasticsearch.ymlkibana.ymllogstash.yml配置檔案中啟用或禁用特定的X-Pack功能。

#設定                     #描述
xpack.graph.enabled       #設定為false以禁用X-Pack圖形功能。
xpack.ml.enabled          #設定為false以禁用X-Pack機器學習功能。
xpack.monitoring.enabled  #設定為false以禁用X-Pack監視功能。
xpack.reporting.enabled #設定為false以禁用X-Pack報告功能。 xpack.security.enabled #設定為false以禁用X-Pack安全功能。 xpack.watcher.enabled #設定為false以禁用Watcher。


如果您擁有非試用許可證並且想要使用X-Pack安全性,則必須配置TLS以進行節點間通訊。

此要求適用於具有多個節點的群集,並適用於在單個節點上偵聽外部介面的群集。使用回送介面的單節點群集不具備此要求。有關更多資訊,請參閱 加密通訊

/usr/local/elk/elasticsearch-6.2
.3/bin/x-pack/certutil ca

2.為叢集中的每個節點生成證書和私鑰

/usr/local/elk/elasticsearch-6.2.3/bin/x-pack/certutil cert --ca elastic-stack-ca.p12

3.在config目錄下建立certs目錄,將生成的p12檔案拷貝進去
4.啟用TLS並指定訪問節點證書所需的資訊
在elasticsearch.yml配置檔案中新增如下幾行:

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

5.如果使用密碼保護節點的證書,將密碼新增到elasticsearch祕鑰庫:

bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

需要在所有es節點執行,如果以root使用者執行完上述命令,需要修改elasticsearch.keystore檔案的屬主屬組

6.執行/bin/x-pack/setup-passwords interactive
7.拷貝生成的證書到其他節點(不能再其他節點直接生成)

# vim instances.yml   #使用靜默模式建立,需要建立一個包含有關例項資訊的YAML檔案
instances:
  - name: "node2"
    ip:
      - "192.168.20.101"
  - name: "node3"
    ip:
      - "192.168.20.102"

2.生成證書:

/usr/local/elk/elasticsearch-6.0.0/bin/x-pack/certgen -in instances.yml
#生成證書時會提示選擇一個目錄(certs.zip必須是不存在的檔案)

3.解壓,然後將相應的node-x和ca分發到各個節點。
4.配置elasticsearch.yml,新增如下內容:(以node2為例)

xpack.security.enabled: true
xpack.ssl.key: /usr/local/elk/elasticsearch-6.0.0/config/certs/node2/node2.key
xpack.ssl.certificate: /usr/local/elk/elasticsearch-6.0.0/config/certs/node2/node2.crt
xpack.ssl.certificate_authorities: /usr/local/elk/elasticsearch-6.0.0/config/certs/ca/ca.crt
xpack.security.transport.ssl.enabled: true

5.重啟es
6.初始化es預設賬號的密碼:

/usr/local/elk/elasticsearch-6.0.0/bin/x-pack/setup-passwords interactive

7.在kibana.yml配置檔案中新增如下幾行:

elasticsearch.username: "kibana"
elasticsearch.password: "123456"   #初始化設定的密碼

8.重啟kibana