缘起

最近(2023.03.13)客户现场要求自检有无使用Nacos,原因是Nacos存在认证绕过高危漏洞,其漏洞代码NVDB-CNVDB-2023674205,本文就简单说一下这个事儿,以及如何解决这个问题。

以下内容中,Nacos服务端A简称A,Nacos服务端B简称B。

问题现象

可以使用已知账号密码的A的登录响应体,替换未知密码的B登录响应体来绕过认证,进入B后台。

影响范围:<=2.2.0

问题原因

Nacos使用JWT生成密钥,同样的JWT生成key会导致A的token可以给B使用。

解决办法

方法一、修改生成token的key

Nacos提供了修改默认JWT token生成key的配置项:

#启用认证
nacos.core.auth.enabled=true
#生成token的密钥
nacos.core.auth.plugin.nacos.token.secret.key=BASE64编码

推荐自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符

方法二、升级到2.2.0.1及以后版本

目前Nacos官方在2023.03.02发布了2.2.0.1,下载地址:https://github.com/alibaba/nacos/releases/tag/2.2.0.1

以后更近版本参见:https://github.com/alibaba/nacos/releases

方法三、容器环境处理方式

对于容器环境则将 NACOS_AUTH_ENABLE=trueNACOS_AUTH_TOKEN=BASE64编码 作为环境变量传入即可。


参考引用:

【问题解决】Nacos服务端NVDB-CNVDB-2023674205漏洞的更多相关文章

  1. 公益:开放一台Nacos服务端给各位Spring Cloud爱好者

    之前开放过一台公益Eureka Server给大家,以方便大家在阅读我博客中教程时候做实验.由于目前在连载Spring Cloud Alibaba,所以对应的也部署了一台Nacos,并且也开放出来,给 ...

  2. Nacos(二)源码分析Nacos服务端注册示例流程

    上回我们讲解了客户端配置好nacos后,是如何进行注册到服务器的,那我们今天来讲解一下服务器端接收到注册实例请求后会做怎么样的处理. 首先还是把博主画的源码分析图例发一下,让大家对整个流程有一个大概的 ...

  3. web服务端安全之权限漏洞

    一.权限漏洞 访问控制是指用户对系统所有访问的权限控制,通常包含水平权限,和垂直权限. 水平越权:同一角色级别的用户之间所产生的问题,如A用户可以未授权访问B用户的数据: 垂直越权:不同角色级别的用户 ...

  4. Nacos源码系列—服务端那些事儿

    点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 前言 在上节课中,我们讲解了客户端注册服 ...

  5. nacos服务注册与发现原理解析

    前言:nacos 玩过微服务的想必不会陌生,它是阿里对于springcloud孵化出来的产品,用来完成服务之间的注册发现和配置中心,其核心作用我就不废话了 大致流程:每个服务都会有一个nacos cl ...

  6. Nacos 服务注册的原理

    Nacos 服务注册需要具备的能力: 服务提供者把自己的协议地址注册到Nacos server 服务消费者需要从Nacos Server上去查询服务提供者的地址(根据服务名称) Nacos Serve ...

  7. 微服务架构 | *3.5 Nacos 服务注册与发现的源码分析

    目录 前言 1. 客户端注册进 Nacos 注册中心(客户端视角) 1.1 Spring Cloud 提供的规范标准 1.2 Nacos 的自动配置类 1.3 监听服务初始化事件 AbstractAu ...

  8. Nacos服务注册与发现的2种实现方法!

    Spring Cloud Alibaba 技术体系中的 Nacos,提供了两个重要的功能:注册中心(服务注册与发现)功能和配置中心功能. 其中注册中心解决了微服务调用中,服务提供者和服务调用者的解耦, ...

  9. 配置中心Nacos(服务发现)

    服务演变之路 单体应用架构 在刚开始的时候,企业的用户量.数据量规模都⽐较⼩,项⽬所有的功能模块都放在⼀个⼯程中编码.编译.打包并且部署在⼀个Tomcat容器中的架构模式就是单体应用架构,这样的架构既 ...

  10. Weblogic服务端请求伪造漏洞(SSRF)和反射型跨站请求伪造漏洞(CSS)修复教程

    一.服务端请求伪造漏洞 服务端请求伪造(Server-Side Request Forgery),是指Web服务提供从用户指定的URL读取数据并展示功能又未对用户输入的URL进行过滤,导致攻击者可借助 ...

随机推荐

  1. java使用minio上传下载文件

    Minio模板类: @RequiredArgsConstructor public class MinioTemplate implements InitializingBean { private ...

  2. docker (mysql 8.+ )主从同步

    1.环境centos7.5  docker 2.下载docker 版本的mysql 启动容器 docker run --name mysql_master -p 3306:3306 -e MYSQL_ ...

  3. Python学习笔记之7.5 - 定义有默认参数的函数》》》直接在函数定义中给参数指定一个默认值,默认参数的值应该是不可变的对象

    问题: 你想定义一个函数或者方法,它的一个或多个参数是可选的并且有一个默认值. 解决方案: 定义一个有可选参数的函数是非常简单的,直接在函数定义中给参数指定一个默认值,并放到参数列表最后就行了.例如: ...

  4. STM32 GPIO配置(寄存器)生成工具

    在写程序的时候需要用寄存器配置GPIO方向.模式,每一个都需要去计算 感觉相当麻烦,所以写了一个用来计算的小工具 链接:https://pan.baidu.com/s/1PEn0Q0IiA5mJJbs ...

  5. 我眼中的Serverless

    https://cloud.tencent.com/document/product/583 摆脱服务器.存储等底层设备,只上传代码,由云服务器提供服务的触发,维护,调用.

  6. liveview能设定开机最小化到托盘吗 对liveview 3.5.2的建议

    liveview能设定开机最小化到托盘吗?[建议]      能不能添加上面的功能,最好能开机自动录制       目前我的版本是3.5.2   建议增加功能   1.开机最化到托盘   2.开机自动 ...

  7. Linux 服务器配置。

    关于防火墙 1.首先不管防火墙有没有关 都使用systemctl stop firewalld 关闭防火墙 2.然后使用 yum install iptables-services 安装或更新服务 3 ...

  8. dos命令初学

    DOS命令 打开DOS命令方式 开始+系统+命令提示符 WIN键盘+R 输入CMD 打开控制台(推荐使用) 在任意文件夹下面,按住shift键加鼠标右键点击,在此处打开命令行窗口 自愿管理器的地址栏前 ...

  9. 快学起来!python入门自学必看

    记得刚开始学python的时候,各种买书各种找资料,最后发现资料找了一大堆,但都是东一块西一块,内容不全且不系统,无意间发现这个宝藏网站,真的是太全了,当作工具书,时不时的翻翻,总会发现一些惊喜.0基 ...

  10. Epoll的使用例子

    本篇文章在上一篇的基础上,使用 epoll  实现了一个事件监听和回调处理的模块.如何编写一个使用该模块的例子呢? 监测什么类型的fd,监测什么类型的事件,监测到事件以后需要做什么?后来可以看看如何将 ...