kibana添加認證及權限--elasticsearch集群版


1 基礎環境

關閉防火牆和selinux,配置好/etc/hosts,修改最大連接數,配置好本地源和阿里源,安裝jdk1.8;

操作系統:centos7.5

機器信息:

主機名

ip

服務

elk1

192.168.1.223

jdk1.8,es7.2

elk2

192.168.1.224

jdk1.8,es7.2,kibana

elk3

192.168.1.225

jdk1.8,es7.2

2.安裝kibana

1.版本號需要和Elasticsearch 相同,此次試驗安裝在elk2(192.168.1.224)上;
#yum -y install kibana

2.配置Kibana
#cp /etc/kibana/kibana.yml   /etc/kibana/kibana.yml.bak
#編輯Kibana主配置文件
#vim /etc/kibana/kibana.yml
server.port: 5601 
#或者"0.0.0.0"
server.host: "192.168.1.224" 
#elasticsearch主節點        
elasticsearch.hosts: "http://192.168.1.224:9200" 
kibana.index: ".kibana" 
#配置kibana日志輸出到哪里
logging.dest: /home/kibana/log/kibana.log  
#支持中文
i18n.locale: "zh-CN"

3.創建日志目錄文件
#mkdir -pv /home/kibana/log/
#touch /home/kibana/log/kibana.log
#chmod o+rw /home/kibana/log/kibana.log

4.啟動kibana服務,並檢查進程和監聽端口:
#systemctl  enable kibana
#systemctl  start kibana
#ps aux | grep kibana
#netstat -tlanp |grep 5601

5.然后在瀏覽器里進行訪問,如:http://192.168.1.224:5601/ ,此時是沒有用戶名和密碼的,可以直接訪問的:

注意:kibana6.7及以后的版本自帶中文支持;

3. kibana 添加登錄及權限

       官方宣布從6.8和7.1開始,免費提供多項安全功能。其中包括tls加密通信,基於角色訪問控制等功能。
可以使用企業CA證書來完成這一步驟,但是一般情況下,我們可以通過elasticsearch自帶的elasticsearch-certutil的命令生成證書,

然后各節點通過該證書可以進行安全通信。

1.生成證書

搭建好了elasticsearch集群,在主節點(192.168.1.224)上操作,進入elasticsearch目錄,然后執行以下命令。
#使用yum方式安裝的可執行文件路徑
#cd /usr/share/elasticsearch
#生成證書到配置文件目錄
#bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass "" 
注意:此處elasticsearch為集群版,與單節點版添加登錄權限不一致;

# 成功提示

上面命令執行成功后,會在/etc/elasticsearch/文件夾下生成elastic-certificates.p12證書。
# chmod 644 elastic-certificates.p12
注意:默認證書權限是600,需要更改證書權限,否則運行elasticsearch程序的用戶沒有權限讀取,會造成elasticsearch啟動失敗;

2.編輯配置文件,開啟證書訪問

在主節點上編輯配置文件/etc/elasticsearch/elasticsearch.yml,添加內容如下(注意證書路徑)
#vim /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:elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

將上面步驟生成的elastic-certificates.p12證書復制到另外兩個es節點上對應的/etc/elasticsearch/文件夾中,
同時將上面配置內容也都復制到對應節點的elasticsearch.yml文件里;
#三個節點上都操作重啟
#systemctl restart elasticsearch
#systemctl status elasticsearch

3.設置密碼

啟動三個節點,待節點啟動完畢之后,在主節點上elasticsearch目錄,執行以下命令,進行密碼設置:
#cd /usr/share/elasticsearch
#bin/elasticsearch-setup-passwords interactive

為了方便后續使用,這里密碼都設置成一樣;password: 123456

生成的用戶:apm_system/kibana/logstash_system/beats_system/remote_monitoring_user/elastic

密碼都是123456

4.驗證集群設置的賬號和密碼

打開瀏覽器訪問這個地址,出現需要輸入賬號密碼的界面證明設置成功,集群的一個節點

http://192.168.1.224:9200/_security/_authenticate?pretty

賬號密碼:elastic/123456

5.Kibana組件訪問帶有安全認證的Elasticsearch集群

配置文件kibana.yml中修改以下配置
#vim /etc/kibana/kibana.yml
elasticsearch.username: "elkstack"
elasticsearch.password: "elkstack123456"

#重啟kibana生效
#systemctl restart kibana
#systemctl status kibana

#重新登錄http://192.168.1.224:5601,我們將會使用elastic超級用戶進行登錄

賬號密碼:elastic/123456

注意:可以在 Kibana 中配置基於角色的訪問控制,即創建角色和用戶后,使用不同的用戶登錄只能看到自己被授權的部分;

----------------------------------------------------------------------------------------------

參考鏈接:https://www.elastic.co/cn/blog/getting-started-with-elasticsearch-security

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM