首页 > 代码库 > elasticsearch 服务安全配置

elasticsearch 服务安全配置

一、目前主要通过插件的形式来控制:

常用的插件主要包括: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必须要通过用户名和密码来访问

elasticsearch 服务安全配置