漏洞描述
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管理界面

ES未授權訪問漏洞修復
修復措施
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字段名 |
wireshark流量分析
未授權訪問流量分析

添加認證插件流量分析
添加認證有Authorization認證字段

參考鏈接
認證插件下載
csdn-ElasticSearch的插件(Plugins)介紹
CentOS下RPM安裝ElasticSearch
聲明
嚴禁讀者利用以上介紹知識點對網站進行非法操作 , 本文僅用於技術交流和學習 , 如果您利用文章中介紹的知識對他人造成損失 , 后果由您自行承擔 , 如果您不能同意該約定 , 請您務必不要閱讀該文章 , 感謝您的配合!
