解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效

一、漏洞描述

1.可以通过外网访问到nacos的用户信息列表

解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效_第1张图片

2.并且可以通过外网随意添加nacos用户名及密码

解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效_第2张图片

此漏洞可能泄露敏感信息并被攻击者利用造成威胁;攻击者可能直接利用样例的
漏洞进行攻击;核心数据可能被偷取 

如果你的nacos版本为2.0以上的版本,建议直接从(2、nacos配置文件application.properties加以下配置信息)开始查看。

二、解决方法

1、升级nacos版本至2.0.3以上;

nacos官方文档:

Nacos 快速开始;

nacos2.0.3linux环境下载地址:

https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.tar.gz

nacos2.0.3windows下载地址:

https://github.com/alibaba/nacos/releases/download/2.0.3/nacos-server-2.0.3.zip

nacos2.0.4linux环境下载地址:

https://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.tar.gz

nacos2.0.4windows下载地址:

https://github.com/alibaba/nacos/releases/download/2.0.4/nacos-server-2.0.4.zip

 

2、 下载后解压

linux解压命令:

tar-zxvf nacos-server-2.0.0-ALPHA.1.tar.gz

windows直接解压即可

3、将旧版本的nacos配置文件application.properties内容复制到新版本nacos中config目录下

4、并在新版本nacos配置文件application.properties加以下配置信息

nacos.core.auth.enabled=true

nacos.core.auth.system.type=nacos

表示开启权限认证

解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效_第3张图片

5、在各应用服务的bootstrap.yml中添加nacos的用户名及密码 

分别在 spring.cloud.nacos.discovery和 spring.cloud.nacos.config中添加你安装nacos的账号和密码,如下图所示:

 解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效_第4张图片

6、在pom文件中移除nacos-client依赖

在pom文件中移除spring-cloud-starter-alibaba-nacos-discovery以及spring-cloud-starter-alibaba-nacos-config依赖中的nacos-client 依赖,如下图所示:

解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效_第5张图片

7、重新添加nacos-client依赖

重新在pom文件中添加 nacos-client依赖,并且nacos-client依赖版本必须与你安装的nacos版本保持一致(我安装的nacos是2.0.3的版本,所以nacos-client依赖引入的version版本为2.0.3),如下图所示:

解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效_第6张图片

8、项目打包发布,重启nacos,重启应用服务 

linux启动命令:

 nacos集群启动 sh . startup.sh

 nacos单节点启动 sh . startup.sh  -m  standalone

windows启动命令:

进入到nacos的bin目录下cmd启动黑窗口

startup.cmd  -m  standalone

9、如果应用服务启动报如下错误

解决Alibaba Nacos 权限认证绕过漏洞 (CVE- - 2021- - 29441)亲测有效_第7张图片

这个错误在我服务器上是不影响应用服务的正常运行的,建议等应用服务完全启动完毕后,调接口查看应用服务是否启动成功 。

你可能感兴趣的:(nacos,springCloud,Alibaba,nacos,java)