Elasticsearch 未授权访问漏洞修复

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

漏洞描述

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎基于RESTful web接口。Elasticsearch是用Java开发的并作为Apache许可条款下的开放源码发布是当前流行的企业级搜索引擎。设计用于云计算中能够达到实时搜索稳定可靠快速安装使用方便。

通常情况下Elasticsearch 未对敏感信息进行过滤导致任意用户可读取敏感信息。

修复方案

1.限制IP访问

禁止未授权IP访问ElasticSearch端口(默认9200)。

2.通过ES插件形式来增加访问验证

例如

①shield

②X-Pack

③search-guard

④elasticsearch-http-basic

⑤ReadOnly REST

3.架设nginx反向代理服务器

设置Nginx认证来实现elasticsearch的登录认证。

修复过程

我采用的是设置X-Pack校验的方式。

我的es版本为 elasticsearch:7.16.1

1、配置 es配置文件 elasticsearch/config/elasticsearch.yml

xpack.security.enabled: true                                                                                                                                             
xpack.license.self_generated.type: basic                                                                                                                                 
xpack.security.transport.ssl.enabled: false 

这里我为单节点且没设置ssl证书所以这里设置xpack.security.transport.ssl.enabled: false

2、重启es并生成密码

#重启es 
docker restart elasticsearch

#进入容器
dockee exec -it elasticsearch /bin/bash

#到bin目录初始化密码 两种方式选择其一就行
./bin/elasticsearch-setup-passwords interactive #手动设置密码
./bin/elasticsearch-setup-passwords auto #自动生成密码

3、kibana配置密码

#进入容器
docker exec -it kibana1 /bin/bash
进入配置目录
cd  config/
#编辑配置文件并配置账号密码server.publicBaseUrl 为kibana访问地址
vim kibana.yml
#重启kibana
docker restart kibana1

4、访问页面已经需要密码验证

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6