0 代码改造实现应用运行时数据库密码无损轮转

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 本文探讨了敏感数据的安全风险及降低账密泄漏风险的策略。国家颁布的《网络安全二级等保2.0标准》强调了企业数据安全的重要性。文章介绍了Nacos作为配置中心在提升数据库访问安全性方面的应用,并结合阿里云KMS、Druid连接池和Spring Cloud Alibaba社区推出的数据源动态轮转方案。该方案实现了加密配置统一托管、帐密全托管、双层权限管控等功能,将帐密切换时间从数小时优化到一秒,显著提升了安全性和效率。未来,MSE Nacos和KMS将扩展至更多组件如NoSQL、MQ等,提供一站式安全服务,助力AI时代的应用安全。

image.gif


一、敏感数据的安全风险


在应用程序中,访问数据库几乎是必须的,是实现业务功能的基础普遍场景,应用程序访问数据库,需要设置数据库的地址,端口,账号及密码。密码的安全性非常重要,业界密码泄漏导致资损的事件时有发生,根据相关统计,单次泄漏事件的发生平均导致 488 万美元(约合人民币 3542 万),每条泄漏的数据记录平均导致 169 美元(约合人民币 1226 元,除了直观的资金损失外,对企业的形象和舆论也会造成不良影响。

| 数据参考《IBM发布的第19期年度数据泄露成本研究报告》


国家在 2019 年颁布了《国家安全二级等保等保2.0标准(GB/T 22239-2019)》,明确了对于不同类型的企业所需要实现的安全防护等级,特别是涉及银行,金融类的企业 IT 系统中存储的业务数据涉及大量的个人敏感数据,这些数据泄漏往往直接造成经济损失,高级别的合规性要求,深刻影响着企业运营和社会稳定。


二、如何降低账密泄漏风险


Nacos 是国内被广泛使用的 IT 系统应用的配置中心,对于线上的 IT 系统应用,我们可以从多个方面来提升应用访问数据库帐密的安全性,比如增加密码的强度,帐密统一管理,设置访问权限,帐密传输加密等等,可以参考 《Nacos安全零信任》以及《Spring Cloud+Nacos+KMS 动态配置最佳实践

640 (1).png


Nacos 可以统一托管应用程序中的配置参数,并且从访问控制,传输安全,存储安全三个方面的措施有效降低帐密泄漏的风险,但是没有解决以下两个方面的问题:


  • 帐密人工维护:运维人员需要将账密手动设置在 nacos 加密配置中,过程中人为的参与带来了泄漏的隐患。
  • 运行期轮转成本高:当帐密泄漏时替换的成本较大,需要创建新帐密,并且在应用程序中重启替换,时间和人力消耗巨大,具体的修复时间和应用集群规模相关,通常需要数小时才能完成,当集群规模达到 100+ 时,修复时间更长,另外大批量的应用重启可能会带来稳定性风险。


三、不重启应用实现密码无损轮转


在应用侧访问数据库通常会结合各类应用侧数据库连接池框架,比如 HikariCP,Apache Druid,C3P0 等,除了连接数据库的地址及帐密之外,还可以设置应用侧连接池大小,超时时间等参数,以实现业务系统可用性和性能的最大化。


为了解决上一节中提到的两个问题,MSE Nacos 联合阿里云密钥管理服务 KMS,开源数据库连接池框架 Druid 以及开源 Spring Cloud Alibaba 社区推出了面向应用侧的数据源运行期动态轮转方案。


1.png


可以根据上图中的数字代表的步骤顺序了解整体的工作流程。


其中各个组件的职责如下:


1. MSE Nacos-动态配置中心


2.png


a. 提供应用侧数据源配置的统一管理平台

b. 整合 KMS 实现帐密->应用侧配置的转化

c. 提供数据源配置的运行期推送的基础能力


2. Spring Cloud Alibaba-开源应用侧框架


a. 整合 nacos-client 和 druid 组件协作,屏蔽接入复杂性

b. 配置化接入数据源 druid 以及配置变更时触发 druid 数据源运行时轮转


3. Apache Druid-开源应用侧数据库连接池

a. 应用程序内数据库连接池统一管理,支持运行时连接池大小,超时等参数调整

b. 运行时动态刷新,实现旧帐密连接->新帐密连接的优雅刷新,保证业务无损。

c. 运行期异常保护,比如错误帐密,错误地址的预检,保证存量连接稳定。


4. KMS-阿里云密钥管理服务


4.png


a. 提供数据源底层加密配置的加密和解密服务

b. 提供云上数据库的账号密码托管和定时轮转功能

c. 帐密泄漏时可进行帐密立即轮转,实现一键快速止损


以上方案实现了:


  • 加密配置统一托管 :应用程序侧访问数据库的配置统一加密存储在 Nacos 中。
  • 帐密全托管:KMS 实现了对数据库实例账号密码的全托管。
  • 双层权限管控:应用程序侧对加密配置的查询及加密进行双层权限认证。
  • 帐密秘文存储及传输:在全链路中明文只存在于应用内存中,存储和传输中均为加密配置。
  • 运行时无损轮转:当数据库帐密变更时,应用侧实时感知并且连接优雅切换。


当帐密泄露后,线上应用帐密的切换时间由之前的数小时优化到只需一秒!相比之前重启替换小时级别,大大提升安全性和效率。


动态数据源接入方案无代码侵入性,全程 0 代码改造,详细接入步骤请参照官方文档:《MSE Nacos数据源管理

https://help.aliyun.com/zh/mse/user-guide/data-source-management


除了支持运行期更新账密功能外,同时也支持数据库连接池大小,超时参数,数据库地址及数据库名的动态更新。可以实现运行期调整连接池性能以及切库等高阶功能。


5.png


四、Nacos+KMS+X 数据源类通用解决方案


MSE Nacos + KMS +Druid 的方案实现了数据库帐密的运行期动态轮转,未来 MSE Nacos 和 KMS 会对接更多的数据源类的组件,比如 NoSql (Redis/Tair),MQ(RocketMQ,Kafka),ScheduleX,OSS 等,以下是将数据库 druid 泛化为通用组件X的架构图,除了进行帐密的托管及动态轮转之外,面向应用侧会进行组件初始化及轮转的逻辑封装,实现 0 代码改造、配置化接入,降低应用侧的复杂性。


6.png


Nacos作为国内被广泛使用的配置中心,已经成为应用侧的基础设施产品,近年来安全问题被更多关注,这是中国国内软件行业逐渐迈向成熟的体现,也是必经之路,Nacos 提供配置加密存储-运行时轮转的核心安全能力,将在应用安全领域承担更多职责。当前正在加速迈向 AI 时代,AI 领域的安全问题也同样重要,比如 Agent 访问大模型 LLM,MCP Server 的配置也同样面临传统微服务应用中类似的安全性和易用性问题,Nacos 会全面拥抱 AI 时代,面向应用侧提供一站式安全-易用-稳定的服务,配置,AI Registry 平台。


7.png

相关链接:


[1] Nacos 官网

https://nacos.io


[2] Nacos Github 主仓库

https://github.com/alibaba/nacos


[3] 生态组仓库

https://github.com/nacos-group


[4] Spring Cloud Alibaba

https://sca.aliyun.com/docs/2023/user-guide/nacos/quick-start/


Nacos 多语言生态仓库:


[1] Nacos-GO-SDK

https://github.com/nacos-group/nacos-sdk-go


[2] Nacos-Python-SDK

https://github.com/nacos-group/nacos-sdk-python


[3] Nacos-Rust-SDK

https://github.com/nacos-group/nacos-sdk-rust


[4] Nacos C# SDK

https://github.com/nacos-group/nacos-sdk-csharp


[5] Nacos C++ SDK

https://github.com/nacos-group/nacos-sdk-cpp


[6] Nacos PHP-SDK

https://github.com/nacos-group/nacos-sdk-php


[7] Rust Nacos Server

https://github.com/nacos-group/r-nacos


推荐阅读:


MSE Nacos:解决敏感配置的安全隐患


Nacos 配置中心变更利器:自定义标签灰度


Nacos+Langchain大模型参数及promot托管


Nacos 开源 MCP Router,加速 MCP 私有化部署

相关文章
|
3月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
4月前
|
SQL 数据建模 关系型数据库
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
412 4
|
1月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
106 8
|
22天前
|
存储 弹性计算 安全
现有数据库系统中应用加密技术的不同之处
本文介绍了数据库加密技术的种类及其在不同应用场景下的安全防护能力,包括云盘加密、透明数据加密(TDE)和选择列加密。分析了数据库面临的安全威胁,如管理员攻击、网络监听、绕过数据库访问等,并通过能力矩阵对比了各类加密技术的安全防护范围、加密粒度、业务影响及性能损耗。帮助用户根据安全需求、业务改造成本和性能要求,选择合适的加密方案,保障数据存储与传输安全。
|
3月前
|
安全 Java Nacos
0代码改动实现Spring应用数据库帐密自动轮转
Nacos作为国内被广泛使用的配置中心,已经成为应用侧的基础设施产品,近年来安全问题被更多关注,这是中国国内软件行业逐渐迈向成熟的标志,也是必经之路,Nacos提供配置加密存储-运行时轮转的核心安全能力,将在应用安全领域承担更多职责。
|
2月前
|
存储 人工智能 数据库
视图是什么?为什么要用视图呢?数据库视图:定义、特点与应用
本文三桥君深入探讨数据库视图的概念与应用,从定义特点到实际价值全面解析。视图作为虚拟表具备动态更新、简化查询、数据安全等优势,能实现多角度数据展示并保持数据库重构的灵活性。产品专家三桥君还分析了视图与基表关系、创建维护要点及性能影响,强调视图是提升数据库管理效率的重要工具。三桥君通过系统讲解,帮助读者掌握这一常被忽视却功能强大的数据库特性。
425 0
|
22天前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
57 3
|
28天前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
15天前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。