有人知道網(wǎng)站怎么做嗎海外網(wǎng)站
目前項目當中使用的Nacos版本為2.0.2,該版本可能存在一定的安全風險。軟件的安全性是一個持續(xù)關注的問題,尤其是對于像Nacos這樣的服務發(fā)現(xiàn)與配置管理平臺,它在微服務架構中扮演著核心角色。隨著新版本的發(fā)布,開發(fā)團隊會修復已知的安全漏洞,并增強系統(tǒng)的整體安全性。因此要及時升級Nacos,避免因為安全問題,對項目造成影響。
關于Nacos配置不當導致的身份認證繞過漏洞的風險預警
漏洞描述
? Nacos存在身份認證繞過漏洞,若用戶Nacos未修改 secret.key,則攻擊者可利用默認secret.key生成JWT Token,從而造成權限繞過訪問到相關API接口。
受影響的版本
? 0.1.0 <= Nacos <= 2.2.0
整改措施
? 升級到安全版本,開啟鑒權并修改token.secret.key和nacos用戶的密碼,同時避免在公網(wǎng)環(huán)境使用
升級Nacos
下載2.2.1版本的nacos
docker pull nacos/nacos-server:v2.2.1
Docker 環(huán)境啟動 Nacos
參考連接:
https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
使用官方鏡像,請在啟動docker容器時,添加如下環(huán)境變量
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 頁面配置
- 權限控制-用戶列表-創(chuàng)建用戶
- 權限控制-權限管理-添加權限
- 權限控制-角色管理-綁定角色
錯誤信息
客戶端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'
看提示是數(shù)據(jù)表缺少encrypted_data_key字段,那就手動為據(jù)表添加該字段
為保證用戶敏感配置數(shù)據(jù)的安全,Nacos 提供了配置加密的新特性。降低了用戶使用的風險,也不需要再對配置進行單獨的加密處理。
數(shù)據(jù)庫表 config_info、config_info_beta、his_config_info中需要新增字段 encrypted_data_key ,用來存儲每一個配置項加密使用的秘鑰。新版本的默認創(chuàng)建表的sql中已經(jīng)添加該字段。
config數(shù)據(jù)庫的這三張表變一下,就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 '秘鑰' ;