目前Nacos的版本是: NACOS 2.0.2,存在安全问题
关于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 环境启动 Nacos
参考连接:
使用官方镜像,请在启动docker容器时,添加如下环境变量
修改客户端配置
Nacos 页面配置
- 权限控制-用户列表-创建用户
- 权限控制-权限管理-添加权限
- 权限控制-角色管理-绑定角色
错误信息
客户端403提示
修改配置nacos.core.auth.enabled=true后,注册服务时提示
参考连接:
解决办法:
重新启动客户端
Mysql 提示缺少字段
看提示是数据表缺少encrypted_data_key字段,那就手动为据表添加该字段
为保证用户敏感配置数据的安全,Nacos 提供了配置加密的新特性。降低了用户使用的风险,也不需要再对配置进行单独的加密处理。
数据库表 config_info、config_info_beta、his_config_info中需要新增字段 encrypted_data_key ,用来存储每一个配置项加密使用的秘钥。新版本的默认创建表的sql中已经添加该字段。
config数据库的这三张表变一下,就OK了