1. 漏洞简介

Nacos 是 SpringCloud Alibaba 微服务架构中的一个组件,主要作用是服务注册和发现以及分布式配置管理,通常情况下 Nacos 中存储着 MySQL、Redis 等数据库的账号和密码。当前使用的版本存在用户读取、添加、登陆的漏洞。

2. 漏洞危害

通过版本漏洞,攻击者可以在不登陆系统的情况下读取已存在的用户或者添加用户,进而登陆系统,登陆系统后可获取大量配置信息以发起进一步攻击。

3. 漏洞场景演示

访问http://IP:8848/nacos/v1/auth/users?pageNo=1&pageSize=100,可获取系统当前用户名和密码。
在这里插入图片描述

通过 POST 请求访问http://IP:8848/nacos/v1/auth/users,可添加任意用户名和密码,并登录系统。
在这里插入图片描述
在这里插入图片描述

4. 修复方案

4.1 nacos集群修复

升级nacos至1.4.1以上,建议升级至最新版本,进入每个nacos节点服务器修改conf/application.properties字段开启鉴权,重启nacos服务。

nacos.core.auth.enabled=false 修改为true

nacos.core.auth.enable.userAgentAuthWhite=true 修改为false

nacos.core.auth.server.identity.key=自定义值

nacos.core.auth.server.identity.value=自定义值

 最后代码层面,在项目中各个工程的bootstrap.yml中cloud.nacos层级下添加username和password字段

cloud:

  nacos:

    username:nacos

    password:nacos

注意:使用nacos安全起见,建议一定要开启鉴权,否则即使在现在2.1.1版本中依旧可以通过该接口进行利用。 

GitHub 加速计划 / na / nacos
29.84 K
12.75 K
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:3 个月前 )
c5e5a822 5 天前
93ea0ddb 5 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐