x-pack 功能介紹及配置傳輸層安全性(TLS / SSL)
阿新 • • 發佈:2019-01-08
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.yml
,kibana.yml
和logstash.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