Elasticsearch未授权访问漏洞

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介:   Elasticsearch服务普遍存在一个未授权访问的问题,攻击者通常可以请求一个开放9200或9300的服务器进行恶意攻击。 0x00 Elasticsearch 安装 前提,保证安装了JDK 1.

   Elasticsearch服务普遍存在一个未授权访问的问题,攻击者通常可以请求一个开放9200或9300的服务器进行恶意攻击。

0x00 Elasticsearch 安装

前提,保证安装了JDK 1.7+

下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip (用迅雷打开下载,速度极慢)

1、解压elasticsearch安装包

2、进入bin 目录,双击执行 elasticsearch.bat

 

3、访问http://localhost:9200/,出现以下页面,说明安装成功。

0x01 漏洞测试

安装了river之后可以同步多种数据库数据(包括关系型的mysql、mongodb等)。
http://localhost:9200/_cat/indices里面的indices包含了_river一般就是安装了river了。

http://localhost:9200/_cat/indices
http://localhost:9200/_river/_search 查看数据库敏感信息
http://localhost:9200/_nodes 查看节点数据
如有安装head插件:
http://localhost:9200/_plugin/head/ web管理界面

0x02 Python未授权访问脚本

#! /usr/bin/env python
# _*_  coding:utf-8 _*_

import requests
def Elasticsearch_check(ip, port=9200, timeout=5):
	try:
	  url = "http://"+ip+":"+str(port)+"/_cat"
	  response = requests.get(url)	
	except: 
	  pass
	if "/_cat/master" in response.content:
	  print '[+] Elasticsearch Unauthorized: ' +ip+':'+str(port)

if __name__ == '__main__':
	Elasticsearch_check("127.0.0.1")

0X03 加固方案

1、限制IP访问,绑定固定IP
2、在config/elasticsearch.yml中为9200端口设置认证:
  http.basic.enabled true #开关,开启会接管全部HTTP连接
  http.basic.user "admin" #账号
  http.basic.password "admin_pw" #密码
  http.basic.ipwhitelist ["localhost", "127.0.0.1"]

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
Windows
windows运行elasticSearch后本地可以访问通, 别的机器访问不到
windows运行elasticSearch后本地可以访问通, 别的机器访问不到
|
11月前
|
JSON 安全 fastjson
《Elastic(中国)基础开发宝典》——Elasticsearch是否受最新的 fastjson 反序列化漏洞的影响?
《Elastic(中国)基础开发宝典》——Elasticsearch是否受最新的 fastjson 反序列化漏洞的影响?
|
安全 Java Apache
Elasticsearch Log4j漏洞快速修复步骤
Elasticsearch Log4j漏洞快速修复步骤
877 0
Elasticsearch Log4j漏洞快速修复步骤
|
Java 测试技术 Nacos
Java访问Elasticsearch报错Request cannot be executed; I/O reactor status: STOPPED
Java访问Elasticsearch报错Request cannot be executed; I/O reactor status: STOPPED
4142 0
Java访问Elasticsearch报错Request cannot be executed; I/O reactor status: STOPPED
开干!Elasticsearch官方文档离线访问实操指南
1、开发不能联网怎么访问Elasticsearch文档? 这是最近被频繁问到的问题。直接上个图:
324 0
开干!Elasticsearch官方文档离线访问实操指南
|
Java 网络架构 API
High Level REST Client 访问阿里云6.3 Elasticsearch 实例实现
开发环境:InteliJ IDEA 操作系统 :macOS Mojave Elasticsearch 版本:阿里云 6.3.2_with_X-Pack 客户端版本:REST Client 6.3.2 1. 预先创建好阿里云 ES 实例,开启公网地址访问白名单。
3547 0
|
Java 网络架构 索引
Java REST Client 访问阿里云5.5 Elasticsearch 实例实现
开发环境:InteliJ IDEA 操作系统 :macOS Mojave Elasticsearch 版本:阿里云 5.5.3_with_X-Pack 客户端版本:REST Client 5.5.3 1. 预先创建好阿里云 ES 实例,开启公网地址访问白名单。
2900 0
|
安全
Elasticsearch 代码执行漏洞
http://xxx.com:9200/_search?source={%22size%22:1,%22query%22:{%22filtered%22:{%22query%22:{%22m...
755 0
|
安全
ElasticSearch远程任意代码执行漏洞(CVE-2014-3120)分析
原理 这个漏洞实际上非常简单,ElasticSearch有脚本执行(scripting)的功能,可以很方便地对查询出来的数据再加工处理。
1760 0