修复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

bash 复制代码
@Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX + "namespaces", action = ActionTypes.READ)

2、NamespaceControllerV2

bash 复制代码
@Secured(resource = AuthConstants.CONSOLE_RESOURCE_NAME_PREFIX
            + "namespaces", action = ActionTypes.READ, signType = SignType.CONSOLE)

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

bash 复制代码
mvn -Prelease-nacos -DskipTests clean install -U

使用新生成的压缩包或者替换nacos-server.jar包,重启服务,问题修复。

验证:

相关推荐
蓝队云计算7 小时前
怎么用服务器养龙虾OpenClaw?云上OpenClaw快速部署指南(小白极速版)
运维·服务器·人工智能·云服务器·openclaw
Mr_Chenph7 小时前
备份Docker
运维·docker·容器
NGC_66117 小时前
CMS收集器详解
java·开发语言·jvm
桌面运维家7 小时前
理解 Linux Front Page:构建动态Web首页指南
linux·运维·服务器
毅炼7 小时前
Spring总结(2)
java·数据库·sql·spring
xuhaoyu_cpp_java7 小时前
Servlet学习
java·笔记·学习
toooooop87 小时前
linux常用命令nano和vim有啥区别
linux·运维·vim
阴暗扭曲实习生8 小时前
基于135编辑器的SaaS/PaaS服务集成实践
java·编辑器·paas
问今域中8 小时前
java技术史001:EJB 侵入性的历史阵痛与 Spring 的突围
java·开发语言·rpc
23.8 小时前
【Java】NIO零拷贝技术揭秘:CPU不参与的数据传输
java·开发语言·nio