SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑
作者:mmseoamin日期:2023-12-13

近期由于服务器漏洞扫描,检测出nacos存在绕过登录鉴权漏洞,如图

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第1张

需要进行升级并开启鉴权,就此次升级做下记录。

1.首先备份原来的nacos,导出配置文件作为备份;

2,从官网下载nacos-server-2.2.3.zip,上传服务器并解压,修改application.properties,如图

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第2张

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第3张

修改后sh startup.sh -m standalone 启动即可

windows下若单节点执行,需要改start.cmd,将cluster改为standalone,如图

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第4张

升级完nacos后,发现系统启动失败,于是在bootstrap.yml文件中加入username和password。

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第5张

重新执行后发现又报如下错误:

16:42:32.745 [main] ERROR c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,106] - get data from Nacos error,dataId:application-dev.yml, 
com.alibaba.nacos.api.exception.NacosException: http error, code=403,msg=user not found!,dataId=application-dev.yml,group=DEFAULT_GROUP,tenant=
	at com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient.queryConfig(ClientWorker.java:982)

发现读取不到nacos,将nacos鉴权关掉可以注册上去,经各种排查,发现是cloud版本与nacos版本不兼容,从idea的配置文件可以看出username是标黄的,点进去发现没有该变量

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第6张

于是将版本升级

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第7张

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第8张

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第9张

升级后,配置文件的username不报黄代表正常

SpringCloud nacos1.x.x版本升级到2.2.3版本并开启鉴权踩坑,在这里插入图片描述,第10张

至此,nacos漏洞升级修复完成。