Elasticsearch 集群未授权访问使用ReadOnly REST插件修复(elasticsearch增加http鉴权)

一:业务背景

  1. 线上集群版本 elasticsearch-5.6.15
    在这里插入图片描述
  2. ES在默认安装后,不提供任何形式的安全防护,运维安全扫描发现漏洞,要求项目组进行修复
    在这里插入图片描述

二:方案调研

  1. 设置Nginx反向代理,让用户在访问ES集群的时候需要提供用户验证信息,这个方法目前使用比较普遍。特别是针对ES低版本基础版、开源版;

  2. 安装免费的security插件,比如Search Guard、ReadOnly REST

  3. ES的商业包 x-pack的Basic版 ,从ES6.8基础版开始免费使用一些基础的安全功能,比如身份验证、用户鉴权

基于要求:1. 既不修改 线上版本,2. 也不增加新组件如nginx
决定使用插件方式添加鉴权

xpack : 对于5.x免费支持不好
elasticsearch-http-basic: 已经很久没有维护
决定使用 ReadOnly REST

三:下载安装

  1. 选择对应的es版本,并填入有效邮箱,就可以收到下载链接
    https://readonlyrest.com/download/
    在这里插入图片描述

  2. 安装插件

[es目录]/bin/elasticsearch-plugin install  file:///tmp/readonlyrest-X.Y.Z_esW.Q.U.zip

注意 file:// 后面跟下载文件绝对路径

  1. 创建配置文件 readonlyrest.yml
  • 进入es的config文件夹(即elasticsearch.yml所在的文件夹)
    在此示例中,配置ReadonlyREST对所有HTTP请求都要求基本身份验证,否则返回:401 Unauthorized
readonlyrest:
    access_control_rules:

    - name: "Require HTTP Basic Auth"
      type: allow
      auth_key: user:password
  • es 6.4.0 以上还需要把X-Pack禁用,编辑elasticsearch.yml
xpack.security.enabled: false
  1. 启动es
bin/elasticsearch -d

四:测试

api直连

ip与端口号与自己配置为准

curl -vvv -u user:password "http://10.128.123.45:9200/_cat/indices"

或者查看集群状态

curl  -vvv -u user:password  -XGET http://10.128.123.45:9200/_cat/health?v&ts=false

代码连接

代码连接需要增加两项配置

es.net.http.auth.user
基本身份验证用户名
es.net.http.auth.pass
基本身份验证密码
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修复Elasticsearch授权访问的建议如下: 1. 配置文件修改:在Elasticsearch的配置文件elasticsearch.yml中,将xpack.security.enabled设置为true,将xpack.security.transport.ssl.enabled设置为true。这样可以启用安全功能,并启用SSL加密传输。\[3\] 2. 重启Elasticsearch并生成密码:使用命令docker restart elasticsearch重启Elasticsearch容器。然后使用命令docker exec -it elasticsearch /bin/bash进入容器,并在bin目录下执行以下命令之一来生成密码: - 手动设置密码:执行./bin/elasticsearch-setup-passwords interactive命令,按照提示手动设置密码。\[2\] - 自动生成密码:执行./bin/elasticsearch-setup-passwords auto命令,系统将自动生成密码。\[2\] 3. 重启Elasticsearch:在修改完配置文件和生成密码后,需要重新启动Elasticsearch容器,以使配置生效。使用命令docker restart elasticsearch重新启动容器。\[2\] 通过以上步骤,您可以修复Elasticsearch授权访问的问题,并增加安全性保护。 #### 引用[.reference_title] - *1* *2* [Elasticsearch 授权访问漏洞修复](https://blog.csdn.net/LIARRR/article/details/128952684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Windows下Elasticsearch授权访问【原理扫描】漏洞修复](https://blog.csdn.net/lisongyue123/article/details/118609372)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值