篮之新喜 发表于 2024-12-16 21:54:42

【技术升级】Docker情况下Nacos平滑升级攻略,安全配置一步到位

https://i-blog.csdnimg.cn/direct/4b310e6a9ff74da3b39c26f10e92536b.png
目前项目当中使用的Nacos版本为2.0.2,该版本可能存在肯定的安全风险。软件的安全性是一个连续关注的题目,尤其是对于像Nacos这样的服务发现与配置管理平台,它在微服务架构中饰演着焦点角色。随着新版本的发布,开辟团队会修复已知的安全漏洞,并增强系统的团体安全性。因此要及时升级Nacos,避免因为安全题目,对项目造成影响。
关于Nacos配置不当导致的身份认证绕过漏洞的风险预警

漏洞描述

​ Nacos存在身份认证绕过漏洞,若用户Nacos未修改 secret.key,则攻击者可利用默认secret.key生成JWT Token,从而造成权限绕过访问到相干API接口。
受影响的版本

​ 0.1.0 <= Nacos <= 2.2.0
整改步伐

​ 升级到安全版本,开启鉴权并修改token.secret.key和nacos用户的密码,同时避免在公网情况使用
升级Nacos

下载2.2.1版本的nacos

docker pull nacos/nacos-server:v2.2.1
Docker 情况启动 Nacos

参考毗连:
https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
使用官方镜像,请在启动docker容器时,添加如下情况变量

NACOS_AUTH_ENABLE=true
修改客户端配置

spring:
cloud:
    nacos:
      discovery:
      username: ${NACOS_USERNAME:nacos_user}# nacos用户名
      password: ${NACOS_PASSWORD:nacos_password} # nacos密码
      config:
      username: ${spring.cloud.nacos.discovery.username}
      password: ${spring.cloud.nacos.discovery.password}
Nacos 页面配置


[*]权限控制-用户列表-创建用户
[*]权限控制-权限管理-添加权限
[*]权限控制-角色管理-绑定角色
错误信息

客户端403提示

修改配置nacos.core.auth.enabled=true后,注册服务时提示
failed to req API:127.0.0.1:8848/nacos/v1/ns/instance. code:403
参考毗连:
https://github.com/alibaba/nacos/issues/2426
解决办法:
重新启动客户端
Mysql 提示缺少字段

Unknown column 'encrypted_data_key' in 'field list'
看提示是数据表缺少encrypted_data_key字段,那利市动为据表添加该字段
为包管用户敏感配置数据的安全,Nacos 提供了配置加密的新特性。降低了用户使用的风险,也不必要再对配置举行单独的加密处理。
数据库表 config_info、config_info_beta、his_config_info中必要新增字段 encrypted_data_key ,用来存储每一个配置项加密使用的秘钥。新版本的默认创建表的sql中已经添加该字段。
config数据库的这三张表变一下,就OK了
ALTER TABLE config_info ADD COLUMN `encrypted_data_key` text NOT NULL COMMENT '秘钥' ;
ALTER TABLE config_info_beta ADD COLUMN `encrypted_data_key` text NOT NULL COMMENT '秘钥' ;
ALTER TABLE his_config_info ADD COLUMN `encrypted_data_key` text NOT NULL COMMENT '秘钥' ;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【技术升级】Docker情况下Nacos平滑升级攻略,安全配置一步到位