常用的插件主要包括:elasticsearch-http-basic,search-guard,shield
由於shield是收費的暫時還未研究(研究后統一補充)
search-guard主要用於elasticsearch2.x以后的版本(研究后統一補充)
elasticsearch-http-basic主要用於elasticsearch1.x的版本
基於目前我們es集群大部分都是1.5.2版本的,所以主要使用http-basic來控制來自http請求的訪問。
二、elasticsearch-http-basic安裝:
1.下載elasticsearch-http-basic-1.5.1.jar(下載地址:https://github.com/Asquera/elasticsearch-http-basic/releases)
2.在ES的plugins文件夾下新建http-basic文件夾
3.把下載的 elasticsearch-http-basic-1.5.1.jar拷貝到新建的http-basic文件夾下
4.修改ES的配置文件elasticsearch.yml,在文件末尾添加以下配置:
配置名 默認值 說明
http.basic.enabled true 開關,開啟會接管全部HTTP連接
http.basic.user "admin" 賬號
http.basic.password "admin_pw" 密碼
http.basic.ipwhitelist ["localhost", "127.0.0.1"] 白名單內的ip訪問不需要通過賬號和密碼,支持ip和主機名,不支持ip區間或正則
http.basic.trusted_proxy_chains [] 信任代理列表
http.basic.log false 把無授權的訪問事件添加到ES的日志
http.basic.xforward "" 記載代理路徑的header字段名
5.重啟ES集群
三、目前我們主要通過http.basic.ipwhitelist 白名單 + 用戶名、密碼來控制外部機器對ES集群的http請求,
1.在白名單內的ip列表用戶無需驗證可直接通過ES節點的ip地址訪問ES,白名單外的用戶無權訪問ES集群
2.由於白名單無法控制通過域名的訪問,如果要通過域名訪問ES必須要通過用戶名和密碼來訪問