相关文章推荐
面冷心慈的花卷  ·  Interacting with code ...·  3 月前    · 
豪情万千的键盘  ·  Loading an html form ...·  3 月前    · 
大力的铁板烧  ·  【论文笔记】强化学习DQN专题经典论文6篇_ ...·  2 年前    · 
爱逃课的墨镜  ·  Oracle数据库,结果集已关闭(SQLEx ...·  2 年前    · 
博学的黄瓜  ·  windows10环境下curl ...·  3 年前    · 
Code  ›  Elasticsearch未授权访问检测修复开发者社区
elasticsearch javascript
https://cloud.tencent.com/developer/article/2098577
单身的皮带
2 年前
Al1ex

Elasticsearch未授权访问检测修复

前往小程序,Get 更优 阅读体验!
立即前往
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
Al1ex
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > Elasticsearch未授权访问检测修复

Elasticsearch未授权访问检测修复

作者头像
Al1ex
发布 于 2022-09-07 17:05:54
3.4K 0
发布 于 2022-09-07 17:05:54
举报
文章被收录于专栏: 网络安全攻防
备注:本文重在检测合修复,适合甲方人员查阅
漏洞简介

Elasticsearch使用JAVA语言开发并作为Apache许可条款下的开放源码发布,它是当前流行的企业级搜索引擎,其增删改查操作全部由HTTP接口完成,如果Elasticsearch服务直接披露在公网环境中且未对服务访问端口(默认;9200)进行认证配置(Elasticsearch授权模块需要付费,所以免费开源的Elasticsearch可能存在未授权访问漏洞),则攻击者可以拥有Elasticsearch的所有权限,之后对数据进行任意操作,业务系统将面临敏感数据泄露、数据丢失、数据遭到破坏甚至遭到攻击者的勒索。

漏洞成因

Elasticsearch未授权访问漏洞的成因主要有以下几个方面:

  • Elasticsearch服务披露在公网且允许远程访问
  • Elasticsearch服务端口(默认:9200)未设置认证
漏洞利用
环境介绍
  • 目标靶机:Ubuntu
  • 目标地址:192.168.17.154
环境搭建

Step 1:JDK版本1.8+

Step 2:创建一个elasticsearch用户,elasticsearch不能root执行

代码语言: javascript
复制
useradd al1ex
passwd al1ex
su al1ex

Step 3:下载环境并进行安装

代码语言: javascript
复制
#下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz
#解压安装包
tar -xzf elasticsearch-7.10.0-linux-x86_64.tar.gz

Step 4:编辑elasticsearch-7.10.0/config/elasticsearch.yml,修改以下内容

a、编辑node.name 名称

b、数据存储和日志存储路径放开注释

代码语言: javascript
复制
path.data: /home/r00t/elasticsearch-7.10.0/data
path.logs: /home/r00t/elasticsearch-7.10.0/logs

c、设置IP限制、端口设置、跨越设置

代码语言: javascript
复制
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"

d、设置启动服务器的标识符

代码语言: javascript
复制
cluster.initial_master_nodes: ["node-1"]

Step 5、修改al1ex用户的可创建文件描述权限,使用命令"vim /etc/security/limits.conf"编辑文件,在最后面追加如下内容:

代码语言: javascript
复制
* hard nofile 65536
* soft nofile 65536

Step 6:通过命令"vim /etc/sysctl.conf'修改用户可以拥有的VMA的数量,在最后面追加如下内容

代码语言: javascript
复制
#fs.protected_symlinks=0
vm.max_map_count=655360

Step 9:设置文件权限

代码语言: javascript
复制
chown -R al1ex /home/r00t/elasticsearch-7.10.0/

Step 10:使用al1ex用户启动服务并访问

代码语言: javascript
复制
./elasticsearch-7.10.0/bin/elasticsearch -d
漏洞检测

检测方式1:浏览器访问

代码语言: javascript
复制
#基本检测
http://192.168.17.154:9200/
代码语言: javascript
复制
#查看节点数据
http://192.168.17.154:9200/_nodes
修复方法

编辑config/elasticsearch.yml文件,在其中为9200端口设置认证

代码语言: javascript
复制
#开启开关接管全部HTTP连接
http.basic.enabled: true
#设置账号密码
 
推荐文章
面冷心慈的花卷  ·  Interacting with code - Emscripten 6.0.4-git (dev) documentation
3 月前
豪情万千的键盘  ·  Loading an html form through ajax - JavaScript - SitePoint Forums | Web Development & Design Communi
3 月前
大力的铁板烧  ·  【论文笔记】强化学习DQN专题经典论文6篇_dqn论文-CSDN博客
2 年前
爱逃课的墨镜  ·  Oracle数据库,结果集已关闭(SQLException: Closed Resultset)-CSDN博客
2 年前
博学的黄瓜  ·  windows10环境下curl 安装与配置_win10 curl_knowyourself1的博客-CSDN博客
3 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号