• 1 nacos 版本升级
  • 1.1 nacos 2.0.4下载。
  • 1.2 解压
  • 1.3 配置文件修改
  • 1.4 nacos启动
  • 1.5 nacos升级验证
  • 2 微服务升级
  • 2.1 maven pom文件修改
  • 2.2 修改bootstrap.yml
  • 2.3 重启微服务



近来,公司系统做安全渗透又被扫描出了nacos漏洞问题。报告已对漏洞进行了说明:


Nacos是一个为动态服务发现和配置以及服务管理而设计的平台。Nacos如果没有配置认证管理,攻击者可以在无需授权的情况下获取敏感信息。


公司系统使用版本为2.0.3。不支持进行认证管理,所以解决办法就是升级nacos版本到2.0.4。需要注意,升级nacos版本外,还需要调整微服中的一些配置。

1 nacos 版本升级

1.1 nacos 2.0.4下载。

nacos官网下载2.04版本。

1.2 解压

下载后上传至原来服务器,备份原有nacos。再停nacos服务。解压到原有nacos路径下,直接覆盖原有版本。

1.3 配置文件修改

修改nacos_home/application.properties。
开启权限认证。

nacos.core.auth.enabled=true

spring 微服务nacos未授权访问漏洞修复_重启

1.4 nacos启动

启动nacos,在nacos/bin目录下。

./ startup.sh

1.5 nacos升级验证

进入nacos管理页面。看到nacos已经升级到2.0.4.

spring 微服务nacos未授权访问漏洞修复_spring_02

2 微服务升级

2.1 maven pom文件修改

将微服务中涉及nacos依赖同步进行修改。

<spring-cloud.version>Greenwich.SR4</spring-cloud.version>
<alibaba-cloud.version>2.1.1.RELEASE</alibaba-cloud.version>
<spring-boot.version>2.1.10.RELEASE</spring-boot.version>
<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>1.4.0</version>
</dependency>

修改为

<spring-cloud.version>Greenwich.SR6</spring-cloud.version>
<alibaba-cloud.version>2.1.4.RELEASE</alibaba-cloud.version>
<spring-boot.version>2.1.13.RELEASE</spring-boot.version>
<nacos-client.version>1.4.1</nacos-client.version>

<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>${nacos-client.version}</version>
</dependency>

2.2 修改bootstrap.yml

在bootstrap.yml 中添加nacos用户密码。
config 和 discovery 新增,用于权限认证的参数(用户名和密码和nacos登录的用户名密码保持一致):

username: nacos
		password: nacos
		group: DEFAULT_GROUP

2.3 重启微服务

重启涉及nacos配置相关的微服务