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风险说明及解决方案公告的更多相关文章

  1. PHP、Java、C#实现URI参数签名算法,确保应用与REST服务器之间的安全通信,防止Secret Key盗用、数据篡改等恶意攻击行为

    简介 应用基于HTTP POST或HTTP GET请求发送Open API调用请求时,为了确保应用与REST服务器之间的安全通信,防止Secret Key盗用.数据篡改等恶意攻击行为,REST服务器使 ...

  2. Yii2.0 安装使用报错:yii\web\Request::cookieValidationKey must be configured with a secret key.

    下载了Yii2.0的basic版,配置好apache之后,浏览器访问,出现如下错误: Invalid Configuration – yii\base\InvalidConfigException y ...

  3. yii2.0 报错Cookievalidationkey Must Be Configured With A Secret Key

    'components' => [ 'request' => [ // !!! insert a secret key in the following (if it is empty) ...

  4. gpg: signing failed: secret key not available

    1 使用png签名tag时报错“ jb@39:~/11$ git tag -s gpg -m "gpg"gpg: directory `/home/jb/.gnupg' creat ...

  5. Maven发布封装到中央仓库时候报错:no default secret key: No secret key

    今天因为发布swagger-spring-boot-starter做一个问题的修复,然后碰到了下面这个问题,记录一下解决过程,帮助后续碰到类似问题的童鞋: *gpg: WARNING: "- ...

  6. yii\web\Request::cookieValidationKey must be configured with a secret key.

    yii\web\Request::cookieValidationKey must be configured with a secret key. 出现的错误表示没有设置  cookieValida ...

  7. yii2安装配置完成后,网页打开报错yii\web\Request::cookieValidationKey must be configured with a secret key

    下载了Yii2.0的basic版,配置好nginx之后,浏览器访问,出现如下错误: Invalid Configuration – yii\base\InvalidConfigException yi ...

  8. Openssl 生成证书server.key and server.crt

    1.key的生成 openssl genrsa -des3 -out server.key 2048 这样是生成rsa私钥,des3算法,openssl格式,2048位强度.server.key是密钥 ...

  9. 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连

    在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连 sql server服务器sqlserver远程连接数据库防火墙在建立 ...

  10. javascript 解决默认取整的坑(目前已知的最佳解决方案)

    javascript 解决默认取整的坑(目前已知的最佳解决方案) 复现该问题 js在数字操作时总会取更高精度的结果,例如1234/10结果就是123.4,但是在c或者java中整数除以10的结果还是整 ...

随机推荐

  1. 华为云GaussDB圈层活动走进香港,以技术创新构筑金融政企数智发展基石

    摘要:近日,华为云GaussDB圈层活动在中国·香港如期举办,活动聚集了22家香港金融政企客户和合作伙伴. 本文分享自华为云社区<华为云GaussDB圈层活动走进香港,赋能金融政企数字化转型&g ...

  2. 扎根CNCF社区贡献五年是怎样的体验?听听华为云原生开源团队的负责人怎么说

    摘要:本月我们要重点介绍王泽锋(Kevin Wang),他是 CNCF 社区的长期贡献者,华为云原生开源团队的负责人,KubeEdge 和 Volcano 项目的联合创始人.Kevin 回答了几个关于 ...

  3. 想要做好软件测试,可以先了解AST、SCA和渗透测试

    摘要:如何做好安全测试,我们重点从应用程序安全测试AST.软件组成分析SCA和渗透测试三个方面来看一下. 本文分享自华为云社区<DevSecOps研发安全实践--测试篇>,作者:华为云Pa ...

  4. 互斥锁Mutex:鸿蒙轻内核中处理临界资源独占的“法官”

    摘要:本文带领大家一起剖析鸿蒙轻内核的互斥锁模块的源代码,包含互斥锁的结构体.互斥锁池初始化.互斥锁创建删除.申请释放等. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列十 互斥锁Mutex& ...

  5. 【万字干货】OpenMetric与时序数据库存储模型分析

    摘要:解读OpenMetric规范和指标的模型定义基础上,结合当下主流的时序数据库核心存储及处理技术,尝试让用户(架构师.开发者或使用者)结合自身业务场景选择合适的产品,消除技术选型的困惑. 本文分享 ...

  6. 不会使用Spring的配置文件,赶紧把这个甩给他

    摘要:文章从Spring程序的快速使用.Bean标签的使用和其属性的具体使用,每个属性都用代码来解释,运行结果和案例也写的都很明白. 本文分享自华为云社区<怎样使用Spring的配置文件?带大家 ...

  7. 买家手册:企业在选择 SBOM 供应商时需要注意什么?

    Apache Log4j 和 Log4Shell 两大事件的发生,将软件物料清单(Software Bill of Materials, SBOM)推向安全防护前沿,成为企业保护其软件供应链的方式之一 ...

  8. 企业诊断屋:在线小说企业如何用A/B测试赋能业务

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近两年来,在线小说领域业务发展"降速",相较于几年前的快速扩张,2022年后国内在线小说企 ...

  9. PLS-00103: 出现符号 ")"在需要下列之一时

    执行 Oracle 存储过程时,出现 "PLS-00103: 出现符号 ")"在需要下列之一时:", Cause: java.sql.SQLException: ...

  10. 巧用别名和 sh 脚本,adb 快速截图和录屏,提高你的效率

    前言 在平时开发过程中,我们经常需要截图和录制视频,尤其是客户端开发和测试. 可能有一些人的姿势是这样的.在电脑上开个模拟器,使用第三方工具后进行截图和录屏.还有一种最原始的方式,在手机上截图和录制视 ...