云上数据库“全链路安全”实践:保护企业核心资产

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 数据库所保存的是企业最为核心的资产,所以对于企业而言,必须要将数据库的安全做到位。那么,如何保证云上数据库的安全呢?在本文中,阿里云数据库高级产品专家崔京(乙休)就为大家带来了云数据库的“全链路安全”。

数据库所保存的是企业最为核心的资产,所以对于企业而言,必须要将数据库的安全做到位。那么,如何保证云上数据库的安全呢?在本文中,阿里云数据库高级产品专家崔京(花名:乙休)就为大家带来了云数据库的“全链路安全”。

_

在大家心中,数据库安全到底指什么呢?其实数据库安全可以分为几个方面理解,首先是数据连续可用,保证业务能够持续对外提供服务;二是数据可靠,不会丢失,保证数据的完整性,无论是磁盘故障还是硬件故障还是机房失火,都需要保证数据的完整性;三是需要保证数据隐私性,保证数据不泄露。本次重点则围绕数据隐私不泄露的方面分享。

数据库真的“安全”吗?

回顾近期发生的数据安全事件,首先是有一千多万的快递信息泄露了,上面包括了收货人和发货人的信息。其次,是很多人的生物识别信息泄露,导致一些包括指纹在内的信息泄露。还有一个事件就是某酒店的入住信息泄露。近期还有一种攻击行为是基于数据库本身的安全漏洞进行扫描,进行数据加密和勒索,这种方式是更为严重的攻击大范围攻击手段。

其实对于数据安全而言,最大的风险就是我们不知道风险在哪里。有人觉得自己的数据存在自己的线下机房里就是安全的,但是根据报道和统计,大部分数据泄露都来源于线下。这是因为线下往往缺乏有效的安全管理和技术手段。据不完全统计,超过7成的自建数据库存在风险,比如弱口令或者没有防火墙。

那么在阿里云上,如何对待数据安全呢?首先,阿里云认为数据隐私是第一原则,这一原则根植于阿里云飞天操作系统内核,在这内核之上产生的所有引擎、服务、平台以及产品都必须遵循数据安全和隐私第一这个原则,也就是“Security By Design”的实现,也称之为“未雨绸缪”。同样,外界环境也是充满着不确定性的,那么为了保证数据库能够在不确定的 环境中能够对外提供服务,那么就需要有“居安思危”的思想,这也是阿里云的整体思想。

阿里云的全链路解决方案

在2011年左右,阿里云数据库推出了一款商用数据库——MySQL 5.1版本,从那时到现在已经过去了7年时间,这7年间阿里云数据库形成了一套属于自己的安全解决方案,称之为全链路安全方案。数据库其实是一个云上的资源服务,要想保护好一个数据库,首先需要从控制层面对于访问这件事情进行控制。第二点就是需要审计能力,需要知道谁在什么时间和地点以什么形式访问了数据库。第三点就是加密能力,包括链路、传输以及存储加密。之后一点就是对于风险的预警能力,也就是对于紧急事件的应急处理能力,这就是全链路安全的概况。

对于数据库的访问控制而言,首先需要知道访问路径。其实访问路径无外乎两种,一种是标准的SQL语句的数据链路,另外一种就是通过API,因为云上数据库不同于其他数据库,数据库本身作为云上的资源供用户使用。对于资源本身进行管理其实形成了API的标准,通过API能够创建、删除以及恢复数据库等,这样的方式等同于直接在控制台做操作,也等同于通过一些SDK或者控制台以及CLI进行操作。

具体而言,如何对于这两种访问路径进行控制呢?当我们需要访问云上中心数据的时候需要一层层地认证、授权以及通过每一层的防护网,才能达到所需的数据。数据链路最外层是阿里云大安全所提供的云盾能力,第二层就是金融云的解决方案,提供了符合金融行业监管的标准。第三层就是提供了集中授权访问的功能,这是联合堡垒机产品实现的,其意思就是当有很多用户以及应用程序需要访问很多数据库的时候,有效地管理中间的授权和审计。其次,还有专有网络以及访问来源的ACL。在其下就可以使用内核、数据库引擎提供的ACL。在控制链路上,可以通过资源控制来控制人员和账号允许其在什么时间用什么IP对于哪些数据库进行访问,这样的授权粒度非常细。基于最小授权原则,无论是数据链路还是控制链路,都应该基于这套原则控制用户访问。

数据库安全解决方案案例分享

接下来分享两个案例。第一个案例是某公司拥有100多个数据库,100多个研发人员,研发需要处理数据库问题,因此需要访问数据库,那么如何对于这些数据库进行管理呢?客户提出已经给每个研发提供了AD认证,而阿里云提供的解决方案就是引入堡垒机,堡垒机就是在阿里云VPC内部的服务器,当用户的内网和VPC打通之后,就可以在公司内网直接通过域账号登录堡垒机,因为其是与AD打通的,无论是SSH协议的Linux还是Windows都能够连到堡垒机上,在堡垒机上再为每个用户分配账号和密码,这样一来,研发人员就可以安全地访问到符合自己权限的数据库。同时,对于不同的业务可以做资源组隔离来保证不同业务的ECS不能互相访问彼此的数据库。

第二个案例与第一个类似,但是客户要求每个研发同学都拥有一个RAM子账号,在这样的情况下,可以在中间引入一个DMS产品提供的统一认证功能,这样一来研发同学并不需要知道数据库密码就可以访问。而用户可以授权RAM子账号能够访问哪些数据库。

阿里云数据库全链路安全能力

审计部分而言,在数据链路部分都是发起SQL,那么如何对于SQL进行审计呢?阿里云会记录完整的登录事件,也就是会记录登录、登出日志。此外,还会进行完整的SQL执行审计,包括查询、更新、修改和删除,还会记录SQL扫描的行数以及返回的数据行数。在控制链路上,可以审计哪个子账号在什么时间从哪个IP通过什么方式访问了哪个实例,做了什么操作,并且这是阿里云的通用服务。

此外,值得一提的就是阿里云近期会对之前的SQL审计功能进行全面升级,新版本提升了基于SQL日志的安全风险以及性能风险的分析洞察能力,所以我们称之为“SQL洞察”。另外,在技术架构设计上做了一次大调整,使用了新的列式存储服务以及压缩、索引技术,使得存储成本整体降低了60%。

具体而言,在SQL洞察上提供了哪些能力。首先,对于搜索功能进行了增强,高级搜索能够帮助用户实现很多功能,这些功能将会逐渐开放API。其次,会提供一些分析诊断的能力,将会与原本的性能诊断服务打通,实现定制化的灵活的诊断能力。比如你可以找出昨天业务系统报错那十分钟,数据库的SQL有没有异常,哪条SQL是“罪魁祸首”。

加密方面,阿里云对于传输和存储都提供加密能力。在传输这里,提供了像SSL TSL v1.2的支持,并且还可以强制某一用户使用SSL,配置过程也非常简单。同时,除了在访问路径上实现了加密,在数据库备份的时候,以及在传输和存储到OSS的时候,也提供了加密能力,并且加密的Key由用户自己保管。目前提供的表级别的TDE加密,可以在数据库里面直接开启某一张表的加密,未来还可以通过云盘实现数据库实例级别的加密等。

预警以及应急方面,阿里云提供了免费的产品——Adviser智能顾问,它将会帮助用户发现基础云产品中的安全风险,并将这些风险以建议的方式推送给用户。同时,在应急方面,还会与安全组织进行合作,在重大漏洞爆发之前就能够提前感知,此外基于阿里云安全团队的技术能力能够在漏洞爆发之前将其修复,并且提供了24小时的安全应急响应能力。

总结而言,全链路安全从技术层面到服务层面,无论是数据链路还是控制链路,从事前、事中再到事后,从接入层、网络层再到代理层、存储层,阿里云都提供了立体的全链路安全方案,用户可以按需选择里面可能有帮助的功能,这套安全体系已经支撑云上的MySQL、MariaDB以及全新的下一代云数据库POLARDB等。

但是,仅有这些还远远不够,因为安全是需要持续进化的事情,没有永远的安全,但是云计算技术的进化速度远比线下自身的技术能力进化速度更快。这是因为云有两大特点,第一个就是“在线”,其次是很多人参与,这样就可以获更多的贡献。正如“流水不腐,户枢不蠹”所言的,阿里云希望通过云这种新的形式构建更高的安全能力,帮助大家实现更高的安全建设。

双11狂欢,云数据库首购低至2折!还能100%中奖,最高1000元无门槛通用代金券,快来参加吧!>>

目录
相关文章
|
1月前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
17 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
20天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
43 3
|
1月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
2月前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
2月前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
2月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
79 11
|
2月前
|
安全 NoSQL 关系型数据库
阿里云数据库:构建高性能与安全的数据管理系统
在企业数字化转型过程中,数据库是支撑企业业务运转的核心。随着数据量的急剧增长和数据处理需求的不断增加,企业需要一个既能提供高性能又能保障数据安全的数据库解决方案。阿里云数据库产品为企业提供了一站式的数据管理服务,涵盖关系型、非关系型、内存数据库等多种类型,帮助企业构建高效的数据基础设施。
75 2
|
2月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
2月前
|
Rust 前端开发 关系型数据库
Tauri 开发实践 — Tauri 集成本地数据库
本文介绍了在 Tauri 框架中集成本地数据库的几种方案,包括直接绑定 SQLite、使用第三方数据库库和使用 tauri-plugin-sql-api 插件。最终选择了 tauri-plugin-sql-api,因为它集成简单、支持多种数据库类型,并且与 Tauri 框架深度整合,提升了开发效率和安全性。文章详细介绍了如何安装和使用该插件,以及如何编写核心代码实现数据库操作。
176 2
|
2月前
|
SQL 开发框架 .NET
ASP连接SQL数据库:从基础到实践
随着互联网技术的快速发展,数据库与应用程序之间的连接成为了软件开发中的一项关键技术。ASP(ActiveServerPages)是一种在服务器端执行的脚本环境,它能够生成动态的网页内容。而SQL数据库则是一种关系型数据库管理系统,广泛应用于各类网站和应用程序的数据存储和管理。本文将详细介绍如何使用A
62 3