公司申请了几台华为的云服务器鲲鹏通用计算增强型,并部署了一套项目,在测试阶段,主机安全扫描时发现了一个高危漏洞:Elasticsearch 未授权访问【原理扫描】。因为自己在网上花了几天时间也没找到实际解决办法,后面问了群里大佬,指点了一下思路,最后完美解决,所以写一篇文章记录一下,希望能帮到大家吧。
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
通常情况下Elasticsearch 未对敏感信息进行过滤,导致任意用户可读取敏感信息。
升级es到6.8及以上,6.8默认带上了x-pack认证插件且免费
-
下载ElasticSearch
软件包:elasticsearch-6.8.0.tar.gz
下载地址:
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.0.tar.gz
-
部署ElasticSearch
可参考:
https://support.huaweicloud.com/dpmg-other-kunpengbds/kunpengelasticsearch_04_0004.html
-
生成密钥
1、在/es安装目录/bin/下执行
./elasticsearch-certutil ca --days 720 --pem
执行后会在bin文件夹下生成根密钥:elastic-stack-ca.zip(默认zip包的名称)
2、解压根密钥,会生成一个 ca文件夹,包含ca.key,和ca.cert
3、在/es安装目录/bin/下执行
./elasticsearch-certutil cert --ca-cert ./ca/ca.crt --ca-key ./ca/ca.key --days 720 --pem
执行后会生成节点密钥:certificate-bundle.zip(默认zip包的名称)
4、解压后会生成 一个instance文件夹,包含instance.key,和instance.crt
5、将ca和instance两个文件夹 拷贝至 es的配置文件所在目录 config下创建文件夹x-pack,并将ca和instance文件夹 拷贝进去并且修改所属权限为es用户
- ES 配置文件elasticsearch.yml
xpack.security.transport.ssl.enabled: true
xpack.ssl.key: x-pack/instance/instance.key
xpack.ssl.certificate: x-pack/instance/instance.crt
xpack.ssl.certificate_authorities: x-pack/ca/ca.crt
xpack.ssl.verification_mode: certificate
xpack.ssl.client_authentication: required
- 启动ElasticSearch集群
- 设置ES内置用户及密码
1、先创建keystore文件 bin/elasticsearch-keystore create。
2、在Elasticsearch目录中运行命令:./bin/elasticsearch-setup-passwords interactive,回车之后为每一个用户设置独立的密码。记住ES实例必须启动。
3、你需要在后续步骤中使用这些内置用户,因此务必牢记前面设置的密码!
背景公司申请了几台华为的云服务器鲲鹏通用计算增强型,并部署了一套项目,在测试阶段,主机安全扫描时发现了一个高危漏洞:Elasticsearch 未授权访问【原理扫描】。因为自己在网上花了几天时间也没找到实际解决办法,后面问了群里大佬,指点了一下思路,最后完美解决,所以写一篇文章记录一下,希望能帮到大家吧。详细描述ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为A
1.下载相关软件包
到官网上下载最新版本ElasticSearch 7.4, https://www.elastic.co/cn/downloads/elasticsearch
2.修复系统配置
vi /etc/security/limits.conf
新增内容如下:
* hard nofile 65536
* soft nproc 2048
* hard nproc 4
Elasticsearch是一个开源的高扩展的分布式全文搜索引擎,他可以近乎实时的存储、检索数据,本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据,Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
漏洞原理:Elasticsearch服务普遍存在一个未授权访问的问题,攻击者通常可以请求一个开放9200或9300的服务器进行恶意攻击。
②针对1.7.0版本之前的ElasticSearch,可采用elasticsearch-http-basic插件。
下载地址:Releases · Asquera/elasticsearch-http-basic · GitHub
elasticsearch-http-basic和其他ES插
问题原因 :
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
通常情况下Elasticsearch 未对敏感信息进行过滤,...
ElasticSearch是一款Java编写的企业级搜索服务,未加固情况下启动服务存在未授权访问风险,可被非法查询或操作数据,需立即修复加固。
主目录:/usr/share/elasticsearch
限制http端口的IP访问,不对公网开放
修改主目录下 config/elasticsearch.yml 配置文件,将network.host配置为内网地址或者127.0.0.1
network.host: 127.0.0.1
使用x-pack插件为Elasticsearch访问增加
<h3>回答1:</h3><br/>elasticsearch未授权访问漏洞是指在elasticsearch服务器上,由于未正确配置访问控制,导致攻击者可以通过简单的HTTP请求获取敏感数据或者进行恶意操作的漏洞。这种漏洞可能会导致数据泄露、篡改、删除等安全问题,因此需要及时修复。建议管理员对elasticsearch服务器进行安全加固,限制访问权限,避免出现未授权访问漏洞。
<h3>回答2:</h3><br/>Elasticsearch是一种流行的开源分布式搜索和分析引擎,具有高性能和可扩展性。然而,由于管理不当和配置错误,可能会导致elasticsearch未授权访问漏洞的漏洞,允许恶意攻击者访问敏感数据,并对系统造成损害。
当elasticsearch集群没有正确配置安全性控制时,攻击者可以轻松地通过网络访问到elasticsearch集群,然后使用静态或动态的scripting引擎,执行任意代码,包括创建、修改或删除数据。攻击者还可以使用elasticsearch的API执行一些危险操作,例如下达搜索查询,误删除数据,或利用任意文件读取漏洞访问系统文件。
为了避免elasticsearch未授权访问漏洞,需要采取一些安全措施:
1. 配置安全性控制:确保只有授权用户才能访问elasticsearch集群,这可以使用访问控制列表(ACL)来实现。禁用默认的授权模式,并使用X-Pack来加密通信,保护通信机密性。
2. 删除不必要的插件:一些插件可能存在安全漏洞,应该删除不需要的插件,并确保保持最新的安全补丁。
3. 监控日志:监控elasticsearch集群日志,早期检测和响应可能的攻击行为。
4. 更新软件:更新elasticsearch软件,保持最新版本,以便及时修补已知的安全漏洞。
总之,elasticsearch未授权访问漏洞是一种严重的安全漏洞,攻击者可以访问系统中的敏感数据和文件,并且对系统造成严重的损害。为了避免这种漏洞,应该采取安全措施,并优化elasticsearch集群的配置。
<h3>回答3:</h3><br/>elasticsearch是目前世界上最受欢迎的开源搜索引擎之一,它支持快速的分布式搜索和分析功能。但是,由于其默认配置存在漏洞,攻击者可以通过未授权访问elasticsearch导致数据泄露或文件损坏等安全问题。
elasticsearch未授权访问漏洞的成因是在线上环境中,elasticsearch默认的配置不是禁止外部访问的,只要攻击者可以通过网络访问到elasticsearch的IP和端口,就可以执行各种命令。例如,攻击者可以通过浏览器URL或专门的工具(如curl)发送HTTP请求,获取敏感数据、删除索引、修改设置等,通过执行这些操作,攻击者可以轻易地导致数据丢失或系统崩溃等安全问题。
为了防止elasticsearch未授权访问漏洞,需要合理地配置elasticsearch,安全地部署elasticsearch,并定期检查和更新新版本。以下是一些预防措施:
1.禁用外部访问:为elasticsearch配置只在本地使用时可以使用的IP地址,使其只能在服务器上本地访问到,其他IP地址就不能访问。
2.限制访问:为elasticsearch配置访问授权规则,只允许特定的客户端或IP地址进行访问操作。
3.强身鉴定:开启elasticsearch的身份认证机制,例如使用用户名和密码进行身份验证,可以避免未经授权的访问。
4.安装热更新:对于已知问题,elasticsearch通常会及时发布新版本,以修补漏洞和增强安全性能。安装最新版的elasticsearch可以有效地提高安全性。
总之,任何系统都存在潜在的安全风险,我们需要定期更新、监控、维护这些先进的技术,以保护我们的系统和数据免受数据泄露、文件损坏等安全问题的影响。
programmer_ada:
An internal error occurred while trying to authenticate the user.
永远在路上yyds:
An internal error occurred while trying to authenticate the user.
永远在路上yyds:
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@4.14.1 postinst
也许是的:
An internal error occurred while trying to authenticate the user.
ৡ汐颜兮梦༂: