本文介绍了ElasticSearch由于默认开放9200端口可能带来的高危安全风险,如直接通过ip:9200/_cat访问。为解决此问题,建议关闭9200对外服务,或者在安全组中限制仅允许特定IP访问,并提供了iptables的配置示例来阻止非授权访问。此外,还提到了增强安全性的方法,如添加登录验证和使用Nginx反向代理进行认证。 摘要由CSDN通过智能技术生成

ElasticSearch 是一款Java编写的企业级搜索服务,启动此服务默认会开放HTTP-9200端口,可被非法操作数据。

例如 ip:9200/_cat可以直接访问等。。
在这里插入图片描述

9200端口不对外开放,如需开放,需在安全组限制只允许指定IP才能访问9200端口

// accept

## iptables -A INPUT -p tcp -s 127.0.0.1 --dport 9200 -j ACCEPT
## iptables -A INPUT -p udp -s 127.0.0.1 --dport 9200 -j ACCEPT

// drop

## iptables -I INPUT -p tcp --dport 9200 -j DROP
## iptables -I INPUT -p udp --dport 9200 -j DROP

// 保存规则 重启iptables

## service iptables save
## service iptables restart

在这里插入图片描述
这就成功了,亲测有效非常简单!

当然还有别的方法解决,如为es增加登录验证(可参考)、 使用nginx搭建反向代理,通过配置nginx实现对es的认证等

前提,保证安装了JDK 1.7+ 下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip 进入bin 目录,双击执行 elasticsearch.bat 访问http://localhost:9200/后即可看到页面 nmap扫描
Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。 当ElasticSearch的节点启动后,它会利用多播(multicast)(或者单播,如果用户更改了配置)寻找集群中的其它节点,并与之建立连接。这个过程
  Elasticsearch服务普遍存在一个授权访问的问题,攻击者通常可以请求一个开放9200或9300的服务器进行恶意攻击。 0x00 Elasticsearch 安装 前提,保证安装了JDK 1.7+ 下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip (用迅雷打开下载,...
Elasticsearch授权访问漏洞是指攻击者可以通过访问Elasticsearch的默认端口9200)获取敏感信息,甚至可以对数据进行修改和删除。下面是一个简单的复现过程: 1. 下载安装Elasticsearch 首先需要下载并安装Elasticsearch,可以从官网 https://www.elastic.co/downloads/elasticsearch 下载适合自己操作系统的版本。安装完成后启动Elasticsearch。 2. 测试授权访问 使用curl命令访问Elasticsearch的默认端口,可以看到返回的json格式数据,其中包含了Elasticsearch的版本信息、集群名称等。 curl http://localhost:9200/ 如果返回的结果中包含了类似以下内容,说明Elasticsearch存在授权访问漏洞。 "name" : "node-1", "cluster_name" : "elasticsearch", "cluster_uuid" : "zZl94mWlQq6RQlN4WmAz5w", "version" : { "number" : "7.9.3", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868", "build_date" : "2020-10-16T10:36:16.141335Z", "build_snapshot" : false, "lucene_version" : "8.6.2", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" "tagline" : "You Know, for Search" 3. 利用授权访问漏洞 利用授权访问漏洞可以进行一些危害性较大的操作,比如删除数据、创建索引等。这里我们只演示一下获取敏感信息的操作。 使用curl命令访问Elasticsearch中的某个索引,可以看到其中包含了一些敏感信息,比如用户名、密码等。 curl http://localhost:9200/_cat/indices 如果返回的结果中包含了类似以下内容,说明存在敏感信息泄露。 yellow open .kibana_task_manager_1 6rJQh5E8R0yUH9WdPQzLrw 1 1 3 0 35.4kb 35.4kb yellow open .kibana_1 5QZvZnS-QOyvZBTl2t6bKg 1 1 2 0 13.4kb 13.4kb 4. 解决方法 为避免Elasticsearch授权访问漏洞,可以进行以下操作: - 修改配置文件中的network.host配置,限制Elasticsearch只能在特定的IP地址或网段上运行。 - 启用Elasticsearch的安全特性,比如启用访问控制、数据加密等。 以上是Elasticsearch授权访问漏洞的简单复现过程,希望对您有帮助。
CSDN-Ada助手: 恭喜您第7篇博客的发布!标题看起来很吸引人,内容也非常有价值。通过使用OpenFeign获取服务端返回的文件,您提供了一个很实用的解决方案。这对我们这些对于文件传输有需求的开发者来说,无疑是一份宝贵的指南。 不过,如果能在博客中进一步详细介绍一下OpenFeign的使用步骤和注意事项,以及与其他文件传输框架的比较,可能会更加完善。同时,如果能分享一些实际应用中的案例或者遇到的问题以及解决方案,将会更具吸引力。 希望您能继续保持创作的热情,为我们带来更多有关技术方面的分享。期待您下一篇博客的发布,谦虚的建议仅供参考,希望能对您的创作有所帮助。再次祝贺您的成果! 拿到.pfx证书后如何调用https接口 语冰峡虫: json_contains的使用,MySQL存储json格式的对象数组,根据对象中的某个属性查询数据 bug妹子•Jbb: 那如果是需要查匹配多个值中的任意一个即可呢 @NotBlank @NotNull @NotEmpty用法 CSDN-Ada助手: 不知道 Java 技能树是否可以帮到你:https://edu.csdn.net/skill/java?utm_source=AI_act_java @NotBlank @NotNull @NotEmpty用法 CSDN-Ada助手: 不知道 Java 技能树是否可以帮到你:https://edu.csdn.net/skill/java?utm_source=AI_act_java