標籤:word plugin port highlight repo pos 離線安裝 帳號 plugins
Elasticsearch版本: 5.5.1 (最新穩定版為5.5.2),由於用到IK中文分詞外掛程式,最新版本沒有5.5.2 ,所以使用5.5.1
日期:2017-08-30
第四章:安裝 Search Guard
由於x-pack 的 security 部分是收費的,考慮使用其他外掛程式來替代,傾向於兩款外掛程式,一個是今天的主角 Search Guard, 另一個是readonlyrest
Search Guard 與 Elasticsearch 的版本對照表
search-guard-docs in github
一、停止運行elasticsearch,定位到es主目錄下,執行下面命令:
.\bin\elasticsearch-plugin install -b com.floragunn:search-guard-5:5.4.2-15
執行效果如:
如果在伺服器上沒有網路,可以使用離線安裝方式:
離線安裝步驟:
1、下載對應版本的Search Guard,版本對照表
2、Search Guard 5
3、search-guard-ssl ,後面要用到這個產生認證。
二、配置Search Guard
1、下載search-guard-ssl
git clone https://github.com/floragunncom/search-guard-ssl.git
2、切換到search guard ssl 源碼目錄,進入example-pki-scripts檔案夾,修改example.sh檔案,修改之後如下:
#!/bin/bashOPENSSL_VER="$(openssl version)"if [[ $OPENSSL_VER == *"0.9"* ]]; thenecho "Your OpenSSL version is too old: $OPENSSL_VER"echo "Please install version 1.0.1 or later"exit -1else echo "Your OpenSSL version is: $OPENSSL_VER"fiset -e./clean.sh./gen_root_ca.sh capass changeit./gen_node_cert.sh 1 changeit capass./gen_client_node_cert.sh spock changeit capass./gen_client_node_cert.sh kirk changeit capass./gen_client_node_cert.sh kibana changeit capassrm -f ./*tmp*
3、產生認證:
sh example.sh
4、將example-pki-scripts檔案夾中的node-1-keystore.jks和truststore.jks複製到elasticsearch的配置目錄中(%ES_HOME%/config)
5、配置elasticsearch 基於 TLS 加密通訊,在 elasticsearch.yml 中增加以下內容:
searchguard.ssl.transport.keystore_filepath: node-1-keystore.jkssearchguard.ssl.transport.keystore_password: changeitsearchguard.ssl.transport.truststore_filepath: truststore.jkssearchguard.ssl.transport.truststore_password: changeitsearchguard.ssl.transport.enforce_hostname_verification: false
6、重啟後訪問:http://localhost:9200,發現會報錯,提示沒有初始化 Search Guard 索引。
7、初始化 Search Guard 索引,配置帳號,首先將example-pki-scripts檔案夾中的kirk-keystore.jks和truststore.jks複製到%ES_HOME%\plugins\search-guard-5\sgconfig 檔案夾中
8、在 elasticsearch.yml 中增加以下內容:
searchguard.authcz.admin_dn: - CN=kirk,OU=client,O=client,L=test, C=de
9、重啟elasticsearch,在 \plugins\search-guard-5\ 目錄開啟終端,執行以下命令:
.\tools\sgadmin.bat -ts .\sgconfig\truststore.jks -tspass changeit -ks .\sgconfig\kirk-keystore.jks -kspass changeit -cd .\sgconfig\ -icl -nhnv -h 0.0.0.0
顯示如,則執行成功:
使用瀏覽器訪問:http://localhost:9200 提示輸入密碼,輸入預設使用者: admin admin ,可登陸表示正常。
10、配置REST-API 基於https串連,在 elasticsearch.yml 中增加以下內容:
searchguard.ssl.http.enabled: truesearchguard.ssl.http.keystore_filepath: node-1-keystore.jkssearchguard.ssl.http.keystore_password: changeitsearchguard.ssl.http.truststore_filepath: truststore.jkssearchguard.ssl.http.truststore_password: changeit
重啟後 ,使用瀏覽器訪問:https://localhost:9200 提示輸入密碼,輸入預設使用者: admin admin ,可登陸表示正常
http://localhost:9200 無加密拒絕訪問
參考文章:
http://m.blog.csdn.net/envinfo2012/article/details/76685818
http://blog.csdn.net/lulongzhou_llz/article/details/77099418
http://www.cnblogs.com/Orgliny/p/6168986.html
https://hacpai.com/article/1472803335867?p=1&m=0
http://www.cnblogs.com/ywcz060/p/6950404.html
http://www.cnblogs.com/shifu204/p/6376683.html
Elasticsearch5.X IN Windows 10 系列文章(4)