修复Nacos namespaces未授权访问漏洞【原理扫描】

  近日,我们自己的微服务应用通过绿盟软件扫描到了有关nacos的namespaces问题,在这里记录一下,供有需要的人参考。

一、问题描述

nacos版本: 2.5.0

存在问题: Nacos namespaces未授权访问漏洞【原理扫描】

问题复现:
在这里插入图片描述
漏洞扫描结果:
在这里插入图片描述

官方明确说明:
  /nacos/v2/console/namespace接口是Nacos用于展示集群中存在的命名空间列表的OpenAPI,其设计初衷是为了提供公开数据,允许所有访问者获取这些信息,类似于查询云平台支持的Region列表。因此,该接口默认不支持关闭,也未实施鉴权措施。
  如果确实有安全需求要限制此接口的访问,唯一的途径是根据Nacos的源代码进行自定义修改,比如增加鉴权逻辑或者改变接口行为,随后重新编译并部署Nacos服务。

参考链接:https://www.nacos.io/blog/faq/nacos-user-question-history11025/?spm=55c5c5db.2ef5001f.0.0.73a53b7ch0jUQm

二、问题修复

  这里需要下载对应nacos版本的源码程序。我的是:2.5.0

下载地址: https://github.com/alibaba/nacos/tree/2.5.0?spm=55c5c5db.2ef5001f.0.0.73a53b7ch0jUQm

  然后使用idea工具打开,修改以下两个文件即可。

1、NamespaceController

在这里插入图片描述

@Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.READ)

2、NamespaceControllerV2

在这里插入图片描述

@Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX
            + "namespaces", action = ActionTypes.READ, signType = SignType.CONSOLE)

全部修改完毕后,执行打包构建命令

mvn -Prelease-nacos -DskipTests clean install -U

使用新生成的压缩包或者替换nacos-server.jar包,重启服务,问题修复。
在这里插入图片描述

验证:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一条代码鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值