首页 > 其他分享 >nacos2.0升级至2.2.3

nacos2.0升级至2.2.3

时间:2023-06-15 17:55:44浏览次数:47  
标签:core nacos2.0 nacos auth server 升级 token key 2.2

背景

安全漏洞修复

升级

注意事项

近期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开启后仍然强制需要。

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

人话:原来默认 token.secret.key 及 server.identity 有风险,需要修改。

如何开启鉴权及自定义密钥:

修改 application.properties

nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
#自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符。
# 生成一个32位以上的密钥,然后base64加密
nacos.core.auth.plugin.nacos.token.secret.key=123456
nacos.core.auth.server.identity.key=456789
nacos.core.auth.server.identity.value=456789

为保证用户敏感配置数据的安全,Nacos 提供了配置加密的新特性。降低了用户使用的风险,也不需要再对配置进行单独的加密处理。

https://nacos.io/zh-cn/docs/v2/plugin/config-encryption-plugin.html

人话:数据库要加东西,官方只提供了一条,但 github 上的 issue https://github.com/alibaba/nacos/issues/8559 有 3条

ALTER TABLE config_info ADD encrypted_data_key TEXT NOT NULL COMMENT '秘钥';
ALTER TABLE config_info_beta ADD encrypted_data_key TEXT NOT NULL COMMENT '秘钥';
ALTER TABLE his_config_info ADD encrypted_data_key TEXT NOT NULL COMMENT '秘钥';

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

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

人话:要把使用旧token的连接尽快过期,不然会影响业务

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

默认的过期时间为18000,设置为5s以后,要运行18000s即5个小时以后,再改回18000。

重启集群。

升级步骤

  1. 将旧的 nacos 过期时间修改为 5s,重启nacos。
sed -i '/nacos.core.auth.default.token.expire.seconds/ s/18000/5/' /data/nacos/conf/application.properties
cd /data/nacos/bin
./shutdown.sh
./startup.sh

5个小时后

  1. 备份旧的nacos
./shutdown.sh
mv /data/nacos.bak
  1. 数据库插入的由dba执行

  1. 下载 nacos-server-2.2.3.tar.gz ,github 下不动的话可以用 https://ghproxy.com/ 这个代理下载。

编辑 application.properties

最后的配置文件如下:

server.servlet.contextPath=/nacos
server.error.include-message=ALWAYS
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.1.2:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos_config
db.password.0=123456
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
server.tomcat.basedir=file:.
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=123456
nacos.core.auth.server.identity.value=123456
nacos.core.auth.plugin.nacos.token.cache.enable=false
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
nacos.core.auth.plugin.nacos.token.secret.key=123456
nacos.istio.mcp.server.enabled=false

cluster.conf

192.168.96.223:8848
192.168.96.241:8848
192.168.96.82:8848

压缩配置好的nacos,分发到其他nacos服务器,启动即可。

回滚

恢复旧有的 nacos。

mv /data/nacos.bak /data/nacos
./startup.sh

标签:core,nacos2.0,nacos,auth,server,升级,token,key,2.2
From: https://www.cnblogs.com/fsckzy/p/17483657.html

相关文章

  • 最完美WIN11_Pro_22H2.22631.1835软件选装纯净版VIP50.1
    【系统简介】=============================================================1.本次更新母盘来自UUP_WIN11_PRO_22H2.22631.1835。进一步精简优化调整。2.只为呈现最好的作品,手工精简优化部分较多。3.OS版本号为22631.1835。个别要求高的就下MSDN吧,里面啥功能都有。4.集成《DrvCeo......
  • CentOS yum升级MySQL 5.6到5.7.42
    注意:升级前一定要做好备份升级前请将mysql5.6小版本升级到最高升级时可将my.cnf配置文件备份,保留最基本的配置,避免因配置问题造成异常,升级完成后在逐步还原安装mysql5.7yum源如果之前已经安装了5.6的yum源,需要先卸载后在安装rpm-Uvhhttps://dev.mysql.com/get/mysql......
  • 嘿,不升级CodeGeeX插件,哪来时间摸鱼?
    今天,CodeGeeX1.1.2版正式在JetBrainsIDEs中上线。和VSCode中的CodeGeeX2.0升级一样,新版本在JetBrainsIDEs中带来“AskCodeGeeX”的功能升级。使开发者可以在IDE中,通过问答对话的方式解决技术问题。下面的视频以DataGrip为例,展示新版将技术问答与IDE编程环境深度融合。编辑区......
  • k8s-IPV6升级(3)
    1.逐节点手动升级步骤21.1master节点升级到1.21.5步骤#备份apiserver、kube-scheduler和controller-managercp-r/apps/conf/kubernetes/manifests//tmp/1.1.1更新管理平面组件至1.21.5逐节点更新master节点的kube-apiserver修改如下参数vi/apps/conf/kubernetes......
  • 数字化转型下企业架构的智能化升级
    6月9日-11日,以“数字变革者”为主题的“2023未来CIO数字峰会”在浙江舟山成功举办。本次峰会由浙江省企业信息化促进会、安徽省首席信息官协会、山东CIO联盟、河南CIO联盟、江苏省企业信息化协会、广东省CIO联盟、福建信息主管(CIO)网、大连市CIO协会及崔牛会联......
  • 2023年 1月 Tita 升级|绩效流程节点支持签名确认
    升级快速一览:点击免费领取绩效考核模版等资料·【考核模板】绩效流程节点支持签名确认;绩效流程节点支持签名确认使用场景:考核执行过程中,在指标确认、绩效面谈、绩效结果确认节点需要执行人的签名确认,并将签名进行留存当前仅支持在指标确认、绩效面谈、绩效结果确认节......
  • 版本升级| v1.0.11上线,你的需求被翻牌了吗?
    叮咚~综合我们接到的各种用户反馈,OpenSCA项目组在1.0.10的基础上迭代了1.0.11版本升级功能优化Java解析逻辑支持打印结果概览及常见报错信息到终端界面支持输出Cyclonedx及SWID标准格式SBOM清单进一步提升检测速度更新说明01Java解析逻辑优化进一步优化Java解析逻辑,将更多特殊情况......
  • RDIFramework.NET代码生成器全新V3.5版本发布-重大升级
    发布说明RDIFramework.NET代码生成器V3.5版本全新震撼推出,相比上次版本,本次发布新增与修改的内容如下:1、全新增加了WinForm界面代码的生成,可直接生成常用的主界面(集新增、修改、删除、查询、分页、打印等常用功能)、编辑界面。真正加大了开发效率,相比以前的版本界面部分只是针对Web......
  • 升级Ubuntu18.04上的gitlab 13.7.3
    1、查看gitlab版本,在首页后面添加/help就可以看到了也可以用命令查看cat/opt/gitlab/embedded/service/gitlab-rails/VERSION2、gitLab版本升级,需要按照官方的指示版本进行依次升级8.11.Z->8.12.0->8.17.7->9.5.10->10.8.7->11.11.8->12.0.12->12.1.17->12.10.1......
  • 把公司的ruoyi项目mybatis升级到mybatis-plus
    ruoyi项目mybatis升级到mybatis-plus1、ruoyi-common\pom.xml模块添加整合依赖2、ruoyi-admin文件application.yml,修改mybatis配置为mybatis-plus3、添加MybatisPlus配置MybatisPlusConfig.java4、升级后需要修改的地方4.1service接口修改4.2service实现修改4.3mapper修改1、......