近来,公司系统做安全渗透又被扫描出了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
1.4 nacos启动
启动nacos,在nacos/bin目录下。
./ startup.sh
1.5 nacos升级验证
进入nacos管理页面。看到nacos已经升级到2.0.4.
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配置相关的微服务
|