一、问题复现
漏洞详细信息:
漏洞分析:
nacos目前使用的版本为v2.0.3,后台管理界面虽然有账号密码的登录验证,但是服务注册和读取配置没有认证配置。
二、漏洞修复
升级nacos版本:
截止发文时间,官网最新版本为v2.3.2。
对比v2.0.3,表结构不一样,沿用原来的库nacos启动不起来,需要下载对应版本的初始化sql脚本:
先下载源码包,下载地址:Release 2.3.2 (Apr 3rd, 2024) · alibaba/nacos · GitHub
找到nacos-server-2.3.2.zip,解压后在nacos/conf下找到mysql-schema.sql这个脚本文件
对比发现表结构相对v2.0.3多了一个字段“encrypted_data_key”
开启认证配置:
我使用的是docker部署方式,要开启认证需要添加以下环境变量:
NACOS_AUTH_ENABLE true
NACOS_AUTH_TOKEN SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_IDENTITY_KEY authKey
NACOS_AUTH_IDENTITY_VALUE nacosSecurty
对应到application.properties配置文件中的配置:
nacos.core.auth.enabled=true
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.server.identity.key=authKey
nacos.core.auth.server.identity.value=nacosSecurty
服务注册认证:
应用增加如下属性配置:
spring:
cloud:
nacos:
username: nacos
password: nacos
username和password即为后台登录的账号密码
版权归原作者 Yang_RR 所有, 如有侵权,请联系我们删除。