如何在阿里云上安全的存放您的配置

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 如果您现在正开始着手准备解决自己的生产数据泄露问题,那么您可能需要看下这篇文档,了解如何可以从配置着手来改善下您目前的情况。

您是否在您的应用部署环境里遇到过以下情节

  • 将敏感信息(如数据库连接串,含密码,下同)存放到生产环境的服务器上的配置文件里。
  • 将敏感信息做成配置文件打包在软件工程的配置文件里,并发布到各类环境里。
  • 在Docker编排时,将敏感信息直接存放到环境变量中。

如果您的生产环境存在以下情况,而您现在又开始着手准备解决自己的生产数据泄露问题,那么您可能需要看下这篇文档,了解如何可以从配置着手来改善下您目前的情况。

理解这方面的潜在威胁,可穿梭阅读:

理解这方面的要求,可穿梭阅读:

  • 等保信息安全技术 信息系统安全等级保护基本要求 第三级
  • 注:等保一共五级,第三级定义为:"信息系统受到破坏后,会对社会秩序和公共利益造成严重损害,或者对国家安全造成损害。国家信息安全监管部门对该级信息系统安全等级保护工作进行监督、检查。该级别为现在大多数企业所采纳。

配置的发展简史和安全问题概述

大体来讲,配置的发展史如下图示。
1522222352771-12b3e0c6-2194-4339-afe3-27

  • 静态明文配置:最初的配置方式,将配置以明文文件或者环境变量方式放置在本地。
  • 基于配置中心的明文配置:随着微服务和配置中心技术兴起(阿里云ACM - 早期称为 Diamond,携程Apollo,百度的Disconf,或者Spring Cloud Config,等),配置开始往配置中心转移。
  • 基于配置中心的配置安全加强:配置中心开始集成各类安全工具,以做到配置增强,典型如AWS Parameter Store。

关于前两个方式的问题简述如下。

静态明文配置的安全问题

在分布式互联网架构之前,早期的配置是存放在静态文件中。例如,数据库的连接信息(包含密码),通过手动打包的方式在各个环境(开发,测试,预发,生产,等)。如下图所示:

1522031448837-7ba23ef8-5897-4fa3-8a40-f5

而这种部署方式最大的问题是在配置文件中将存放大量的敏感信息,使得无论开发测试还是运维人员,获得敏感数据的成本极低。虽然打包部署的方式一直在演化,如从静态文件配置打静态打包分环境部署,再到容器编排,但是本质上静态文件配置的方式没有变化,而且随着部署工具的自动化,其配置的安全问题反而暴露得更加严重,如:

  • 多环境打包发布中,开发工程内将包含应用的所有敏感信息,敏感信息让内部员工极易获得。
  • 容器编排系统中,同样将包含应用的所有敏感信息,而且大多容器编排系统通过传递环境变量的方式来传递系统敏感信息,这些信息在容器容器内是明文显示,直接通过环境变量即能获取。

基于配置中心的明文配置安全问题

随着配置中心的兴起,越来越多的应用配置开始朝配置中心转移。典型的配置中心产品,包括如上文提到的阿里云ACM(早期称为 Diamond),携程Apollo,百度的Disconf,或者Spring Cloud Config,等。

配置中心对于配置文件的方式来讲,其最大的好处是配置和发布解耦的同时,配置还可以动态修改和下发。关于配置中心其他的好处和各种场景,不是本文的重点,如用户对场景感兴趣,可参阅配置中心使用场景.

这里主要叙述下配置中心对配置安全方面产生的影响。配置中心存放配置的简单示意图如下图所示。

1522035593883-e2aace7c-83de-4f9e-bbea-81

配置中心对应用配置在安全方面产生的影响主要有以下几个:

  • 配置不再需要明文存放在服务端。在应用程序端,存放的是配置中心连接信息,而不带任何敏感数据。所有配置具体信息都存放在配置中心处。在应用程序侧,可选择配置信息全程走内存,而不持久化到本地硬盘中,尽最大可能保证敏感信息不外泄。
  • 与此同时,敏感信息存放被单独剥离出来存放到了配置中心,所有配置信息可通过分级配置保证不同的管理员仅接触到自己需要的那部分配置信息。

基于配置中心的配置管理从安全上解决了生产环境上解决敏感信息外泄的问题。但是造成的另外一个问题是对配置中心本身的安全性问题。纵观以上几款配置中心的产品设计,几乎所有产品都是将实际配置明文存放。如果配置中心本身被攻破,上面集中存放的所有敏感信息将全部外泄。这在今天上云的时代,对于提供配置中心服务的云厂商而言,当面向类似等保三级的安全合规审计的时候,这点挑战尤其严峻。

ACM 的配置安全加固措施

基于配置中心的配置安全加强将日益成为配置中心安全方面的刚需。而最近,作为一款配置中心产品,阿里云应用配置管理(简称ACM)发布了一项"加密配置"功能,就旨在让用户更加安全的在配置中心存放配置。以下章节描述其功能细节。

ACM 加密配置管理设计概要

阿里云应用配置管理(简称ACM)在最近的发布版本中公布的一项针对配置安全的功能,主要是其过一系列和相关配置安全产品的打通来为用户创建所谓"加密配置" (Security Configuration),来彻底解决上述的配置中心配置安全性问题。ACM解决安全问题的思路和其他业界领先的配置中心产品(如AWS Parameter Store)类似,其并不是自身来独立解决安全问题,而是和周边的相关安全产品整合来联合解决安全问题。当然,自身足够安全也很重要,但是为了避免既当运动员又当裁判,同时又避免让用户感觉鸡蛋放在一个篮子里,选择中立的安全产品进行整合客观上显得亦为重要。让我们来详细看看ACM是怎么做的。

在这方面,阿里云ACM是通过RAM,KMS三个产品联合来解决这个问题。为了方便读者理解这三个产品,以下列出产品传送门:

  • 应用配置管理(Application Configuration Management,简称 ACM),其前身为淘宝内部配置中心 Diamond,是一款应用配置中心产品。基于该应用配置中心产品,您可以在微服务、DevOps、大数据等场景下极大地减轻配置管理的工作量,增强配置管理的服务能力。]。
  • 密钥管理服务(KeyManagementService)是一款安全易用的管理类服务。您无需花费大量成本来保护密钥的保密性、完整性和可用性,借助密钥管理服务,您可以安全、便捷的使用密钥,专注于开发您需要的加解密功能场景。
  • 访问控制(Resource Access Management)是一个稳定可靠的集中式访问控制服务。您可以通过访问控制将阿里云资源的访问及管理权限分配给您的企业成员或合作伙伴。

以下简述三个产品在ACM 加密配置中起到的作用。

  • ACM: 主要功能还是起到配置的存放和发放功能。但是在加密配置解决方案中,ACM将安全的功能大部分转移到KMS中。ACM服务端中存放的配置是经过KMS加密的配置,且ACM服务端本身并不直接提供解密功能,借此大大提高配置的安全性。在读取加密配置的环节中,配置最终通过ACM客户端调用KMS进行解密。
  • KMS:在加密配置管理中,主要为用户提供加解密的服务。用户基于KMS在ACM进行配置加解密时既可指定自己定制的密钥对,也可以使用ACM提供的默认KMS的密钥对,以简化管理。
  • RAM:在阿里云的产品体系中,各个产品之间服务账号各自独立。也就是说,ACM控制台本身是没有办法访问用户的KMS的密钥配置的。然而在ACM控制台上,由于方便配置管理,用户需要在ACM控制台上对配置进行加密操作,因此就需要ACM控制台对用户的KMS密钥对有一定最小操作权限。这在阿里云的安全体系中,通过 RAM 的 角色授权 来实现。

通过以下章节我们来看看ACM在配置安全这块是怎么做的。

ACM 加密配置原理解析

ACM 加密配置的核心思路是通过KMS来对配置进行加解密。以下详述。

用户开通流程

首先看下如果用户要使用ACM的加密配置功能,需要走哪些流程。如下图所示。

1522126155903-23f48706-bf96-4779-bb69-91

步骤说明如下:

  • 开通 ACM, 这是必然的。
  • 开通 KMS,这也是当然的。
  • 在RAM上授权ACM一个可以读取用户的KMS加密功能的最小权限角色。这步很关键,否则作为单独产品,ACM是无法使用用户KMS中的密钥的。

用户在ACM控制台写入加密配置流程

用户在ACM控制台写入加密配置流程以下图为例:

1522116846027-93b5e288-a2a1-4a65-9e3e-ac

步骤详解:

  1. 用户在ACM控制台写人一个配置,并在控制台上设置其为加密配置
  2. ACM识别其为一个加密配置,需要依赖用户的KMS密钥。此时ACM会调用RAM,通过认证获得用户的之前授权ACM的一个可以读取KMS加密功能的最小权限角色。
  3. ACM使用该角色,通过调用KMS API,使用用户的KMS密钥对对用户存放在ACM控制台上的配置进行密文加密。
  4. ACM控制台将加密后的配置存放在ACM配置数据库中。

从以上过程中,可以看出,

  • ACM保存的配置都是密文,而且本身不保存密钥,即使配置信息被泄露,也无法获取到配置明文。
  • ACM通过RAM授权来操作用户的KMS密钥,该授权的角色只允许ACM对配置加解密相关的操作授权,不会有其他权限(如删除密钥对等操作),最大程度杜绝额外的安全隐患。

理论上,以上环节中,用户在写入配置时,也可以完全不依赖ACM的控制台功能,而通过KMS加密后,直接在控制台操作写入。当然,这会带来很大易用性问题。在ACM的加密配置写入流程设计中,通过和RAM角色授权打通来调用KMS,既保证了安全性,又为用户在创建配置时带来了极大的便利性,是一种非常平衡的折中方案。

应用通过ACM SDK读取加密配置流程

应用通过ACM SDK读取加密配置流程以下图为例:

1522127722610-fc6e38db-cf4e-4976-8516-72

步骤详解:

  1. 程序读取ACM配置ID
  2. 程序启动,读取ACM密文配置
  3. ACM Client识别该配置为密文配置,则KMS Client透明解密密文配置,返回明文配置
  4. 程序读取明文配置,链接数据库,明文配置不落盘,保证安全。

从以上过程中,可以看出,

  • 在应用侧,其配置本身不含任何敏感数据,只包含一个ACM Client需要读取的配置项。
  • 在实际使用过程中,ACM SDK将打包ACM Client和KMS Client调用,具体调用信息对应用程序透明。

ACM 加密配置总结

从以上章节可以看出,ACM的加密配置在安全和易用性上做到了较好均衡。

  • 在易用性方面无论是配置写入还是配置读出,服务端和客户端都做到了较好的透明。
  • 在安全性方面,通过RAM和KMS集成,保证配置能以足够安全的通道进行加密,并在存储端密文存放。

以上做法较好的满足了现在主流的等保三级的合规目标,切实满足了大部分企业用户的安全需求。

衍生阅读:等保信息安全技术 信息系统安全等级保护基本要求 第三级
1522225826566-9e16ead6-3fae-4b77-b4fe-7d

让您的配置在云上更加安全

作为一款面向配置中心,专注于用户配置的产品,ACM在上云时代首要目标将是保证用户的配置安全。在这个基础上,ACM将和更多的阿里云产品通过友好的整合方式来保护用户配置安全,其场景将包含但不限于:

  • 容器服务的配置安全存放。
  • ECS弹性伸缩的配置安全存放。
  • 其他各类PaaS服务链接的配置安全存放。

一大波应用配置安全加固场景即将来袭,经期期待。

相关文章
|
5天前
|
弹性计算 固态存储 大数据
阿里云服务99元一年,多配置价格表,太炸裂了
阿里云服务器2024年最新租用价格:轻量应用服务器2核2G3M带宽年费82元,折合每月6.8元;2核4G4M带宽年费298元。新老用户共享99元一年的2核2G3M带宽ECS服务器优惠,及199元一年的2核4G5M带宽企业级ECS u1实例。游戏服务器方面,4核16G10M带宽70元/月,8核32G10M带宽160元/月。此外,还有GPU服务器等多种配置供选择。具体价格和配置请参考阿里云官方页面。
|
6天前
|
云安全 弹性计算 安全
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器不仅提供了一些基础防护,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为大家介绍一下阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品。
阿里云服务器基础安全防护简介,云服务器基础安全防护及常见安全产品简介
|
5天前
|
存储 安全 API
"解锁企业级黑科技!用阿里云视觉智能打造钉钉级人脸打卡系统,安全高效,让考勤管理秒变智能范儿!"
【8月更文挑战第14天】随着数字化办公的发展,人脸打卡成为企业考勤的新标准。利用阿里云视觉智能开放平台构建类似钉钉的人脸打卡系统,其关键在于:高精度人脸识别API支持复杂场景下的快速检测与比对;活体检测技术防止非生物特征欺骗,确保安全性;云端存储与计算能力满足大数据处理需求;丰富的SDK与API简化集成过程,实现高效、安全的考勤管理。
16 2
|
16天前
|
弹性计算 固态存储 ice
阿里云ECS服务器2核16G、4核32G和8核64G不同配置租赁价格表
2024年阿里云服务器提供多种配置与实例规格,如2核16G、4核32G及8核64G等,用户可根据需求选择内存型r8i、通用算力型u1等不同架构。以2核16G为例,r8i每月334.19元起,u1则为286.2元起。公网带宽与系统盘亦有多档价位。实际价格与折扣请参照官网。
|
18天前
|
弹性计算 运维 监控
通过阿里云OOS“快速设置”快速配置多地域运维任务
阿里云OOS的快速设置功能助力用户简便配置多地域运维任务,如云监控安装、配置收集与补丁扫描,定时开关机,周期性带宽升级,实现自动化管理,确保配置一致性,提升运维效率。
99 3
|
7天前
|
JSON 数据格式 Docker
配置阿里云docker镜像加速
配置阿里云docker镜像加速
113 0
|
16天前
|
弹性计算 固态存储 ice
阿里云服务器2核16G、4核32G、8核64G配置不同ECS实例规格收费标准和CPU性能差异
2024年阿里云提供2核16G、4核32G及8核64G等多种服务器配置,用户可根据需求选择不同实例规格如内存型r8i、通用算力型u1等。以华北2(北京)为例,2核16G月费从286.2至385.99元不等;4核32G为572.4至771.97元;8核64G则在1144.8至1543.94元区间。公网带宽与系统盘(如ESSD云盘)亦有多样化选择与价格方案。长期租赁可享折扣,具体价格请访问阿里云官网确认。
36 0
|
3天前
|
机器学习/深度学习 编解码 人工智能
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
随着人工智能、大数据和深度学习等领域的快速发展,GPU服务器的需求日益增长。阿里云的GPU服务器凭借强大的计算能力和灵活的资源配置,成为众多用户的首选。很多用户比较关心gpu云服务器的收费标准与活动价格情况,目前计算型gn6v实例云服务器一周价格为2138.27元/1周起,月付价格为3830.00元/1个月起;计算型gn7i实例云服务器一周价格为1793.30元/1周起,月付价格为3213.99元/1个月起;计算型 gn6i实例云服务器一周价格为942.11元/1周起,月付价格为1694.00元/1个月起。本文为大家整理汇总了gpu云服务器的最新收费标准与活动价格情况,以供参考。
阿里云gpu云服务器租用价格:最新收费标准与活动价格及热门实例解析
|
5天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
目前企业对云服务器的性能、安全性和AI能力的要求日益提高。阿里云推出的第八代云服务器ECS g8i实例,以其卓越的性能、增强的AI能力和全面的安全防护,除了适用于通用互联网应用和在线音视频应用等场景之外,也广泛应用于AI相关应用。本文将深入解析ECS g8i实例的技术特性、产品优势、适用场景及与同类产品的对比,以供参考。
阿里云第八代云服务器ECSg8i实例深度解析:性能及适用场景参考
|
18天前
|
弹性计算 运维 搜索推荐
阿里云建站方案参考:云服务器、速成美站、企业官网区别及选择参考
随着数字化转型的浪潮不断推进,越来越多的企业和公司开始将业务迁移到云端,而搭建一个专业、高效的企业官网成为了上云的第一步。企业官网不仅是展示公司形象、产品和服务的重要窗口,更是与客户沟通、传递价值的关键渠道。随着阿里云服务器和建站产品的知名度越来越高,越来越多的用户选择阿里云的产品来搭建自己的官网。本文将深入探讨在阿里云平台上,如何选择最适合自己的建站方案:云服务器建站、云·速成美站还是云·企业官网。
103 13
阿里云建站方案参考:云服务器、速成美站、企业官网区别及选择参考