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

在这里插入图片描述

目前项目当中使用的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 页面配置

  1. 权限控制-用户列表-创建用户
  2. 权限控制-权限管理-添加权限
  3. 权限控制-角色管理-绑定角色

错误信息

客户端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 '秘钥' ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/49492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光伏模拟器应用

太阳能光伏 (PV) 模拟器是一种可编程电源&#xff0c;用于模拟太阳能电池板。模拟器具有快速瞬态响应&#xff0c;可响应负载条件的变化并保持电压-电流特性的输出。 用户可以根据系统规格定义太阳能电池板配置&#xff0c;并通过选择环境条件来选择适当的环境条件进行模拟。用…

安全产品在防御勒索病毒中的作用

在数字时代&#xff0c;网络安全威胁日益严峻&#xff0c;其中勒索病毒尤为猖獗&#xff0c;它通过加密受害者的数据并要求赎金换取解密密钥&#xff0c;给个人和企业带来了巨大的经济损失。然而&#xff0c;关于安全产品是否真正有效的问题一直存在争议。本文将通过一个模拟实…

pytest+allure

安装 下载&#xff1a;github win环境下载zip 环境变量&#xff1a; pycharm&#xff1a; pip install allure-pytest 验证安装 生成结果&#xff1a; if __name__ __main__:pytest.main([-s,test_createTag2.py,--alluredir,result]) 生成报告&#xff1a; allure gener…

如何查看Kafka的偏移量offset

本文介绍三种方法查看Kafka的偏移量offset。 1. API&#xff1a;ConsumerRecord的offset()方法查看offset。 2. API&#xff1a;KafkaConsumer的position(TopicPartition partition)方法查看offset。 3. 命令行&#xff1a;kafka-consumer-groups.sh命令查看offset。 前提条…

pglogical扩展的基本用法介绍

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;14 文档用途 本文翻译了pglogical扩展的官方文档,介绍了pglogical扩展的各类管理函数及使用限制,详情请看下文. 一、节点管理 节点可以使用以下…

前置-Linux相关知识速记

linux Linux命令大全 [!IMPORTANT] chown-chmod-ls-chgrp-cdpwd-mkdir-rmdir-cp-rm-mv-cat-tac-nl-more-less-head-tail 应用领域 通常服务器使用 LAMP&#xff08;Linux Apache MySQL PHP&#xff09;或 LNMP&#xff08;Linux Nginx MySQL PHP&#xff09;组合。 目前…

STM32 BootLoader 刷新项目 (五) 获取软件版本号-命令0x51

STM32 BootLoader 刷新项目 (五) 获取软件版本号-命令0x51 下面我们来讲解第一个指令&#xff0c;获取软件版本号命令-0x51. 在BootLoader中获取软件版本号的操作有多个重要的作用&#xff0c;具体如下&#xff1a; 版本管理&#xff1a; 识别当前版本&#xff1a;通过获取软…

无人机上磁航技术详解

磁航技术&#xff0c;也被称为地磁导航&#xff0c;是一种利用地球磁场信息来实现导航的技术。在无人机领域&#xff0c;磁航技术主要用于辅助惯性导航系统&#xff08;INS&#xff09;进行航向角的测量与校正&#xff0c;提高无人机的飞行稳定性和准确性。其技术原理是&#x…

vue3 + antd vue 纯前端 基于xlsx 实现导入excel 转 json,将json数据转换XLSX导出(模版下载)

一、导入 0、关键代码 // 安装插件 npm i xlsx/yarn add xlsx // 导入xlsx import * as XLSX from xlsx; 点击提交的时候才整理数据。上传的时候文件保存在 state.form.file[0] 中的 // 定义字段映射关系 const fieldMap {sheet2json: {技能名称: skill_name,技能等级: …

qt事件类型列表

t提供了一系列丰富的事件类型&#xff0c;这些事件允许应用程序响应各种用户输入、系统通知以及其他类型的交互。以下是一些常见的Qt事件类型及其用途概述&#xff1a; QEvent::None (0): 无事件&#xff0c;用于初始化或作为默认值。 QEvent::Timer (1): 定时器事件&#xff…

(三)C语言的变量与常量

一.C语言中标识符(变量)的命名规则 (1)可以由数字、字母、下划线_组成 (2)不能以数字开头 (3)不能是关键字 (4)区分大小写 二.在C语言中定义常量的方法及其区别 1.使用#define宏定义&#xff1a;#define LENGTH 10 2.使用const关键字&#xff1a;const int LENGTH 10 或 i…

微服务实战系列之玩转Docker(六)

前言 刚进入大暑&#xff0c;“清凉不肯来&#xff0c;烈日不肯暮”&#xff0c;空调开到晚&#xff0c;还是满身汗。——碎碎念 我们知道&#xff0c;仓库可见于不同领域&#xff0c;比如粮食仓库、数据仓库。在容器领域&#xff0c;自然也有镜像仓库&#xff08;registry&…

代码随想录——零钱兑换Ⅱ(Leetcode518)

题目链接 完全背包 class Solution {public int change(int amount, int[] coins) {int[] dp new int[amount 1];dp[0] 1;for(int i 0; i < coins.length; i){for(int j coins[i]; j < amount; j){dp[j] dp[j - coins[i]];}}return dp[amount];} }本题为组合问题…

实时系统中的目标检测:速度与精度的较量

实时系统中的目标检测&#xff1a;速度与精度的较量 目标检测算法是计算机视觉领域的基石之一&#xff0c;广泛应用于实时系统中&#xff0c;如视频监控、自动驾驶汽车、工业自动化等。然而&#xff0c;将目标检测算法应用于实时系统并非易事&#xff0c;它带来了一系列技术挑…

uni-app AppStore Connect上传拒绝汇总

1.Guideline 2.3.3 - Performance - Accurate Metadata 问题是图片不对&#xff0c;最好是自己截图&#xff0c;然后用香蕉云编 上传图片合成图片 2.Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing 解决办法&#xff1a;在uniapp manifest.json找到 APP常用其他…

【软考】系统集成项目管理工程师【第二版】

&#x1f44a;重要通知&#x1f44a; &#x1f44a; 1. 2024年中考上半年取消&#xff0c;改下半年&#x1f44a; &#x1f44a; 2. 2024下半年 使用《系统集成项目管理工程师教程》第三版&#x1f44a; &#x1f44a; 3. 为了方便大家学习&#xff0c;博主正在整理第三版 &am…

使用uniapp开发小程序(基础篇)

本文章只介绍微信小程序的开发流程&#xff0c;如果需要了解其他平台的开发的流程的话&#xff0c;后续根据情况更新相应的文章,也可以根据uniapp官网的链接了解不同平台的开发流程 HBuilderX使用&#xff1a;https://uniapp.dcloud.net.cn/quickstart-hx.html 开发工具 开始…

# OpenCV 图像预处理—形态学:膨胀、腐蚀、开运算、闭运算 原理详解

文章目录 形态学概念膨胀使用膨胀操作来修复裂痕示例代码关键解析&#xff1a; 腐蚀使用腐蚀操作消除噪点示例代码&#xff1a; 开运算—先腐蚀后膨胀闭运算—先膨胀后腐蚀 形态学概念 首先看这两张图片 一张图周围有大大小小的噪音和彩点&#xff0c;另一张图片中字母有间隙&…

Android 适配:版本适配

文章目录 自定义ViewGroup添加View时对View对应的LayoutParams的处理操作 自定义ViewGroup添加View时对View对应的LayoutParams的处理操作 Android 7只需要重写ViewGroup的generateLayoutParams方法&#xff0c;创建需要的LayoutParmas Overridepublic LayoutParams generateL…

php连接sql server

php连接sqlserver有三种方式 一&#xff1a;odbc连接&#xff0c;废话不多说直接上代码,封装了一个单例 <?php /*** odbcServer.php* Author: Erekys*/namespace App\Model; class odbcServer{public static $server;public static $username;public static $password;pu…