企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

Elasticsearch未授权访问漏洞(网络安全)

wudianyun 2025-03-19 17:27:03 精选文章 15 ℃

ELK的一个组成,是一个产品,而且是非常完善的产品,ELK代表的是:E就是ElasticSearch,L就是Logstach,K就是kibana

E:EalsticSearch 搜索和分析的功能

L:Logstach 搜集数据的功能,类似于flume(使用方法几乎跟flume一模一样),是日志收集系统

K:Kibana 数据可视化(分析),可以用图表的方式来去展示,文不如表,表不如图,是数据可视化平台




ES未授权访问漏洞复现

浏览器访问http://localhost:9200/,出现" You Know, for Search ",说明有漏洞。

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


Python未授权访问脚本

#! /usr/bin/env python
#   coding=utf-8

from loguru import logger
import requests
def  ES_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:
	  logger.info('[+] Elasticsearch Unauthorized: ' +ip+':'+str(port))

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


加固方案

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"]

Tags:

最近发表
标签列表