【问题篇】整改Nacos漏洞——升级Nacos以及开启鉴权问题整理

简介: 【问题篇】整改Nacos漏洞——升级Nacos以及开启鉴权问题整理


       在这里总结记录一下,工作中对于nacos漏洞处理时遇到的问题,对于nacos的漏洞问题是如下情况:

  • 认证权限认证绕过漏洞
  • 影响版本:Nacos <= 2.0.0-ALPHA.1
  • (由于不当处理User-Agent导致的未授权访问漏洞 。通过该漏洞,攻击者可以进行任意操作,包括创建新用户并进行登录后操作)

对于nacos的整改方案是如下两处:

  1. 升级nacos版本
  2. 开启nacos鉴权

第一步:

即是升级nacos版本,公司内部项目nacos的版本是1.3几,直接升级nacos服务端为2.0.0以上,公司云上有2.0.3的nacos镜像,直接升级nacos2.0.3的镜像即可。


第二步:

升级nacos服务端版本后,这时还需要开启nacos鉴权,有好几种方式开启,可以通过修改nacos配置文件开启,公司项目上是通过docker方式开启的,所以通过nacos的官方文档推荐的方式进行开启,如下:

Nacos Docker 快速开始

  • NACOS_AUTH_ENABLE,默认false,设置为true
  • NACOS_AUTH_CACHE_ENABLE,默认false,设置为true

此处注意一个问题:

NACOS_AUTH_IDENTITY_KEY,NACOS_AUTH_IDENTITY_VALUE,这两个配置是有默认值的,不一定需要使用上。


第三步:

再访问nacos漏洞的那些地址,例如:

ip:端口/nacos/v1/auth/users?username=test&password=test,可以看到已经无法访问,就说明鉴权开启成功了。


第四步:

如果是nacos升级了版本的,那么一定会遇到一个问题,那就是客户端无法将服务注册到nacos了(即使在客户端的配置文件配置了账号密码依旧会注册不到注册中心)。

我修改后的配置:

报错:unknown user!

com.alibaba.nacos.api.exception.NacosException: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Sat May 14 06:51:53 CST 2022</div><div>There was an unexpected error (type=Forbidden, status=403).</div><div>unknown user!</div></body></html>
 

原因是:升级了nacos服务端的版本后,导致nacos服务端的版本和nacos-client的jar包版本不匹配了,就导致服务无法注册到nacos注册中心了。

解决办法:

我先说说自己遇到的坑:我首先想到的是将nacos对应的springboot,springcloudalibab,springcloud的版本全部替换成对应版本,结果我发现,问题大了,这会导致项目出现很多的问题,例如feign也出现了问题,feign的版本也不匹配了,一开始没发现feign的问题,把feign的调用全部加上@lazy懒加载,发现服务是成功注册了,但是调用实际上还是会出现问题。

Requested bean is currently in creation: Is there an unresolvab circular reference?

感觉把事情复杂化了,结果还是看了一眼官网,只改变nacos-client的版本,其他springboot,springcloudalibab,springcloud的版本全部恢复原状。

注意:网上资料是说,1.x版本nacos-client能访问2.x版本nacos-server,但是2.x版本nacos-client不能访问1.x nacos-server。但是。。。。。。。。。。。

我原来的server是1.x,client是1.x,所以应该正常,此时我server升到了2.x,按照网上的说法,此时我的是1.3.3应该也能正常注册才对,但是结果不尽人意,报错了。

com.alibaba.nacos.api.exception.NacosException: <html><body><h1>Whitelabel Error Page</h1><p>This application has no explicit mapping for /error, so you are seeing this as a fallback.</p><div id='created'>Sat May 14 06:51:53 CST 2022</div><div>There was an unexpected error (type=Forbidden, status=403).</div><div>unknown user!</div></body></html>

最终还是将nacos-client的版本也升到对应的nacos-server的版本,2.*。

这个是官方推荐的。

目录
相关文章
|
缓存 前端开发 Java
nacos常见问题之开启鉴权后客户端报403升级版本如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
2667 0
|
4月前
|
人工智能 安全 Cloud Native
Nacos 3.0 架构升级,AI 时代更安全的 Registry
随着Nacos3.0的发布,定位由“更易于构建云原生应用的动态服务发现、配置管理和服务管理平台”升级至“ 一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台 ”。
|
7月前
|
人工智能 JSON API
Nacos 发布 MCP Registry,实现存量应用接口“0改动”升级到 MCP 协议
MCP(Model Calling Protocol)生态快速发展,Nacos作为MCP Registry,通过与Higress网关结合,实现“0代码”将存量API转化为MCP协议接口。本文详细解析了Nacos如何快速构建MCP Server,包括工具列表暴露、协议转换原理及优势。同时,通过高德API实例演示“0改动”适配流程。Nacos 3.0正式发布,定位AI应用服务管理平台,支持动态服务发现与配置管理,助力MCP生态发展。欢迎参与社区共建!
1366 1
|
6月前
|
存储 运维 安全
诈骗背后:一场由Nacos漏洞引发的连锁危机
Nacos 是一个开源的动态服务发现、配置管理和服务管理平台,广泛应用于云原生架构中。然而,在其不同版本中曾暴露出多个安全漏洞,如未授权访问、Token 伪造、权限绕过等,这些漏洞可能导致敏感数据泄露、业务中断以及企业声誉受损。企业在使用 Nacos 时,应尽量采用最新稳定版本,并强化配置文件的安全性设置;在可能的情况下,限制网络访问范围,仅对可信 IP 开放服务,以全面提升 Nacos 的安全性。
|
安全 Nacos 数据安全/隐私保护
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
本文详细介绍了如何在微服务环境下从 Nacos 1.3.0 升级到 2.3.0,并确保 Seata 各版本的兼容性。作者小米分享了升级过程中的关键步骤,包括备份配置、更新鉴权信息及验证测试等,并解答了常见问题。通过这些步骤,可以帮助读者顺利完成升级并提高系统的安全性与一致性。
370 8
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
|
Java Shell Nacos
升级Nacos竟然踩了这种坑?配置文件里的“隐形杀手”!
本文介绍了从Nacos 1.3.0升级到2.3.0的过程及注意事项,涵盖单机与集群模式的升级步骤,特别分享了一次因配置文件中多余空格导致的服务启动失败的经历,提醒读者注意配置细节。
469 0
|
Nacos 数据安全/隐私保护
nacos启用鉴权后curl调用接口
nacos启用鉴权后curl调用接口
|
安全 Nacos 数据库
探索 Nacos反序列化漏洞CNVD-2023-45001
Nacos 2.1.0版本遭遇高危反序列化漏洞(CNVD-2023-45001),允许攻击者通过7848端口执行远程代码。影响1.4.0至1.4.6及2.0.0至2.2.3版本。建议用户升级至2.2.3,下载链接:https://github.com/alibaba/nacos/releases/tag/2.2.3。升级过程平滑,数据库无须调整,仅需按文档(https://nacos.io/zh-cn/docs/v2/guide/user/auth.html)配置鉴权。重视安全修复,确保系统安全。
1292 7
 探索 Nacos反序列化漏洞CNVD-2023-45001
|
7月前
|
存储 Kubernetes 安全
Nacos-Controller 2.0:使用 Nacos 高效管理你的 K8s 配置
无论是使用 Nacos-Controller 实现配置的双向同步,还是直接在应用中接入 Nacos SDK 以获得更高级的配置管理特性,都能显著提升配置管理的灵活性、安全性和可维护性。使用 Nacos,您能够更好地管理和优化您的应用配置,从而提高系统的稳定性和可靠性。
669 49
|
11月前
|
存储 网络协议 Nacos
高效搭建Nacos:实现微服务的服务注册与配置中心
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。
1863 82
高效搭建Nacos:实现微服务的服务注册与配置中心

热门文章

最新文章

下一篇
oss云网关配置