[转帖]关于Nacos默认token.secret.key及server.identity风险说明及解决方案公告

关于,nacos,默认,token,secret,key,server,identity,风险,说明,解决方案,公告 · 浏览次数 : 0

小编点评

**Nacos鉴权功能安全漏洞解决** **问题描述** 近期,Nacos社区收到关于通过token.secret.key默认值进行撞击,绕过身份验证安全漏洞的问题。社区在2.2.0.1和1.4.5版本已移除了自带的默认值,并在token.secret.key未传入或非法时阻止Nacos节点启动来提醒用户设置自定义token.secret.key。 **解决方案** * 使用最新2.2.1版本部署,并根据文档设置token.secret.key、nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value,并尽快修改默认密码。 * 优化Nacos服务器资源配置,确保所有客户端可以获取到新的token。 * 在修改token.secret.key前,先修改token.expire.seconds为5,确保客户端尽快过期掉旧token。 * 在更改nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value时,请确保变更同步失败或自动摘除实例失败不会影响当前运行程序。 **其他提醒** * 不要暴露在公网环境使用Nacos。 * 开启鉴权,设置自定义token.secret.key、nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value。 * 修改token.secret.key前,请确保Nacos Server集群的资源足够。

正文

https://nacos.io/zh-cn/blog/announcement-token-secret-key.html

 

近期Nacos社区收到关于Nacos鉴权功能通过token.secret.key默认值进行撞击,绕过身份验证安全漏洞的问题。社区在2.2.0.1和1.4.5版本已移除了自带的默认值,并在token.secret.key未传入或非法时阻止Nacos节点启动来提醒用户设置自定义token.secret.key。考虑到现在的控制台登陆页面并没有进行模块化,无法和是否开启鉴权功能关联,因此暂时需要强制设置token.secret.key,社区正在进行控制台登陆页面和鉴权功能的关联,待完成后,未开启鉴权的集群将不再强制需要token.secret.key,开启后仍然强制需要。

同时Nacos社区还收到关于通过nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value默认值进行撞击,绕过身份验证安全漏洞的问题。社区在2.2.1和1.4.5版本已移除了自带的默认值,并在开启鉴权后,未填写这两个参数时阻止Nacos节点启动来提醒用户设置自定义的nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value

说明:这两个默认值原意是为了方便新用户在快速搭建新集群进行使用时可以减少一些繁琐步骤,更简单的使用nacos,在实际部署时提供机制修改配置来提高安全性;随着社区用户对安全性要求提升,默认值可能会导致部分用户未修改直接使用时出现安全风险,因此Nacos社区去除了默认值,并在启动时进行校验,阻止启动提示用户配置。

使用旧版本的用户请根据文档进行环境检查,查看是否使用了默认的token.secret.keynacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value,如仍然使用默认值,请参考文档内容尽快进行修改。

新部署环境请使用最新2.2.1版本部署,并根据文档设置token.secret.keynacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value,并尽快修改默认密码。

Download page.

关于Nacos的部署建议

Nacos 定义为一个应用服务发现和配置管理中间件服务,这类应用一般应该部署于内部网络环境,因此不建议用户将Nacos暴露在公网环境。

同时应开启鉴权,设置自定义token.secret.keynacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value,并修改nacos用户的密码,提高安全性。

另外,即使升级到最新版本,开启鉴权并修改了token.secret.keynacos.core.auth.server.identity.keynacos.core.auth.server.identity.valuenacos用户的密码,也请不要暴露在公网环境使用。

关于变更token.secret.key对正在运行程序的影响及初步解决方式

修改token.secret.key并重启Nacos Server端后,来自Nacos Client的请求将会因无效token被拒绝。直到客户端到达旧token的TTL时间后,才会重新去获取新token。

解决方式

目前该问题的解决有一个关联ISSUE,欢迎大家进入讨论。

在修改token.secret.key前,先修改token.expire.seconds为5,客户端默认每5s检查一次token是否过期,需要让客户端尽快过期掉旧token。

# 2.1.0版本前
nacos.core.auth.default.token.expire.seconds=5

# 2.1.0版本及更高版本
nacos.core.auth.plugin.nacos.token.expire.seconds=5

修改token.expire.seconds后重启集群,运行一段时间(超过原token.expire.seconds值,以保证所有客户端已经获取到新TTL)

注意:修改后会导致客户端较为频繁地调用login接口,修改前请确保Nacos Server集群的资源足够。

最后将token.secret.key修改为新值,并重启集群,token.expire.seconds值请酌情修改。

关于变更nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value对正在运行程序的影响

修改nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value不会对当前正在运行造成影响,但可能会导致变更同步失败或自动摘除实例失败。

解决方式

按照文档提示,先开启userAgent白名单,在变更新server.identity后,立刻关闭userAgent白名单。

或保证变更server.identity期间,不进行业务应用的变更。

与[转帖]关于Nacos默认token.secret.key及server.identity风险说明及解决方案公告相似的内容:

[转帖]关于Nacos默认token.secret.key及server.identity风险说明及解决方案公告

https://nacos.io/zh-cn/blog/announcement-token-secret-key.html 近期Nacos社区收到关于Nacos鉴权功能通过token.secret.key默认值进行撞击,绕过身份验证安全漏洞的问题。社区在2.2.0.1和1.4.5版本已移除了自带的

[转帖]服务注册与发现:Nacos Discovery

目录 一、概述 二、Nacos discovery——服务的注册与发现 1. 版本关系 2. 下载安装 (1)下载 (2)启动 (3)浏览器访问 三、Nacos服务注册与发现实战 1. 构建Spring Cloud Alibaba工程 (1)创建父工程 (2)创建子项目 2. 编写测试Control

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地

[转帖]关于统信UOS操作系统版本介绍

https://blog.csdn.net/qq43748322/article/details/120196200 当下信创产业发展的如火如荼,今天聊聊统信操作系统UOS 相比较于其它国内品牌操作系统,统信UOS的版本、分支比较多,下面为大家详细说说各UOS版本 目前统信UOS系统主要分为桌面版和

[转帖]关于华为产品生命周期

关于企业级产品都有EOL里程碑,因些需要考虑对已购产品、业务的生命周期进行升级、迁移、替换等统筹规划。另外如果遇到产品、业务整体出售,还需要评估对现有资产的影响等不可控因素。 今天聊聊华为产品的生命周期,点击查看原文 华为产品生命周期关键里程碑: 华为软件版本生命周期关键里程碑: 点击查询华为产品生

[转帖]关于SRE方法论的一些笔记

写在前面 阿里系列有一本《云原生操作系统Kubernetes》中作者在前言里讲到Google开源的Kubernetes和《SRE Google运维解密》这本书是剑法和气功的关系换句话讲Kubernetes是术,SRE Google运维解密是道作为云原生基础设施的Kubernetes小伙伴么应该多少有

[转帖]关于一致性哈希算法在游戏服务器端的思考

https://www.jianshu.com/p/b8ae27cf22a9 突然想明白 其实网易的将军令 就是一个一致性哈希的玩法 关于一致性哈希算法在游戏服务器端的思考 需求分析 后端有很多逻辑node节点(not-section binded),节点启动后注册到注册中心 node本身有状态,有

[转帖]关于ubuntu:如何在-Ubuntu-Server-2204-上设置静态IP地址

https://lequ7.com/guan-yu-ubuntu-ru-he-zai-ubuntuserver2204-shang-she-zhi-jing-tai-ip-di-zhi.html 在这篇文章中,咱们将介绍如何在 Ubuntu Server 22.04 上设置动态 ip 地址。 强烈建

[转帖]关于nginx 反向代理upstream中的 keepalive配置

一、关于nginx upstream 在nginx的模块中,分为3种类型,分别是handler,filter和upstream,其中upstream可以看做一种特殊的handler,它主要用来实现和后端另外的服务器进行通信,由于在nginx中全部都是使用非阻塞,并且是一个流式的处理,所以upstre

[转帖]关于勤奋的英语名言

http://www.zajuzi.com/mingyandaquan/juzi423.html 1、永远不抱怨,一切靠自己。 Never complain, everything depends on yourself. 2、纵不能万丈光芒,也要倒在追梦的路上! Even if you can't