
Nacos未授权访问复现及修复
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版本中依旧可以通过该接口进行利用。
更多推荐

所有评论(0)