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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
7月前
|
搜索推荐 Java 数据处理
Elasticsearch搜索分析引擎本地部署与远程访问
Elasticsearch搜索分析引擎本地部署与远程访问
|
Windows
windows运行elasticSearch后本地可以访问通, 别的机器访问不到
windows运行elasticSearch后本地可以访问通, 别的机器访问不到
|
6月前
|
数据库 索引
Elasticsearch索引别名:管理与优化数据访问
Elasticsearch索引别名:管理与优化数据访问
|
Java Linux 数据安全/隐私保护
百度搜索:蓝易云【centos7系统安装elasticsearch8.7.0,并设置密码访问教程。】
现在,您已经成功安装并设置密码访问Elasticsearch 8.7.0。您可以使用设置的密码来访问和管理Elasticsearch实例。
213 1
|
6月前
ElasticSearch绑定IP访问
ElasticSearch绑定IP访问
|
7月前
|
安全 数据安全/隐私保护
Elasticsearch7.10.0添加访问密码
Elasticsearch7.10.0添加访问密码
163 1
单机elasticsearch设置远程访问
我这里是在虚拟机安装的es,虚拟机系统用的是优麒麟20.04
|
前端开发
Elasticsearch外网无法通过ip访问
Elasticsearch外网无法通过ip访问
1219 0
|
存储 安全 网络协议
Elasticsearch - Configuring security in Elasticsearch 开启用户名和密码访问
Elasticsearch - Configuring security in Elasticsearch 开启用户名和密码访问
205 0
|
数据挖掘
白话Elasticsearch49-深入聚合数据分析之 Percentile Ranks Aggregation-percentiles rank以及网站访问时延SLA统计
白话Elasticsearch49-深入聚合数据分析之 Percentile Ranks Aggregation-percentiles rank以及网站访问时延SLA统计
101 0