云端数据库审计,你不能不知道的秘密

云端数据安全,是云安全中最核心的问题之一。要实现云数据安全,需要从多个角度去努力。对数据访问情况的跟踪记录审计,是云数据安全的最基本要求。本文从数据源头——数据库的保护角度,以几个问题的问答方式,分析数据库的安全审计问题。

%e4%ba%91%e5%b9%b3%e5%8f%b0-800

1. 什么是云端数据库?

广义的说,云端数据库就是把数据库放到了云端。这里包括三类:

1)公有云服务商以SAAS的方式,提供给租户的数据库服务器;
2)私有云上预先搭建好的SAAS方式的数据库服务器;
3)租户租用云端服务器,自己安装和搭建的数据库。

而狭义的说,仅指公有云服务商提供的SAAS形式的数据库服务器,通常包含一个虚拟机系统和已经安装在上面的数据库系统。本文后续部分如果没有特别指出,云端数据库仅指公有云端的SAAS数据库。至于数据库的种类,在每个云平台上有所区别,但是主要的有关系型数据库RDB以及非关系型数据库NOSQL。

2. 云端数据库有哪些特殊性?

得益于云计算的特性,相比于传统环境下的数据库,在云端的数据库具有如下优势:

1) 搭建速度快

云服务商预先搭建好数据库模板,租户只需要根据需求,操作鼠标调整各种参数,在秒级时间内,就能够快速部署好所需要的数据库。

2) 构建成本低

不需要一次性投入,只需要按照实际使用的计算资源和使用时间付费。

3) 弹性可伸缩

数据库服务器的性能参数,可以根据实际情况动态调整。

4) 可靠性高

云服务商已经解决了硬件设备和数据的容灾和备份问题,可靠性很高。

5) 维护量小

租户只需要少量对数据的维护,不需要对服务器硬件、OS等进行维护。

除去以上优势,云端数据库的一个问题是可控性较低。这里说的可控性是指租户对数据库系统的控制能力。云服务商为了实现如上优势,云端数据库通常只对租户开放数据库访问接口。就是说租户对数据库的所有访问和维护,都只能通过这个接口进行。租户甚至不能登录到数据库所在的操作系统,以实现对数据库系统的更多管理。

3. 云端数据库面临哪些安全问题?

%e5%9b%be%e7%89%87-2-600

数据库存储着系统的核心数据,其安全方面的问题在传统环境中已经很突出,成为数据泄漏的重要根源。而在云端,数据库所面临的威胁被进一步的放大。其安全问题主要来自于以下几方面:

1) 云运营商的“上帝之手”

如上所述,云端数据库的租户对数据库的可控性是很低的,而云运营商却具有对数据库的所有权限。从技术上来说,云运营商完全可以在租户毫无察觉的情况下进入数据库系统;或者进入数据库服务器所在的虚拟机;或者进入虚拟机所在的宿主物理服务器;或者直接获取到数据库文件所在的存储设备。也就是说,任何租户的数据,对云运营商来说,几乎是完全开放的。而对于有商业价值的数据,对云运营商的众多技术人员来说,绝对有足够的吸引力。

2) 来自于其它租户的攻击

同一个云平台上的其它租户,有可能通过虚拟机逃逸等攻击方法,得到数据库中的数据。

3) 来自租户自身内部人员的威胁

租户内部人员能够直接使用帐号密码登录到云数据库,从而进行越权或者违规的数据操作。

4) 更广泛的攻击

有价值的数据放在云上之后,各种来源的攻击者,都“惦记”着这些数据。可能通过各种方法来进行攻击以获取数据,如近年来频发的SQL注入攻击事件,就导致了大量云端数据的泄漏。

4. 为什么需要数据库审计?

要解决如上所述的数据安全问题,需要多方面的防御手段。但是对数据库访问情况的记录和审计,是最基本的安全需求。租户需要清楚的知道,自己的数据库,在什么时间,被什么人,以什么工具,具体做什么访问,又拿到了什么数据。并且需要知道什么时候出现了攻击行为和异常的访问情况。这些功能,正是合格数据库审计产品所必须具有的功能。

5. 谁需要数据库审计?

云运营商:云运营商需要引入数据库审计产品,以方便快捷的方式,为其租户提供数据安全服务。这既是提高其云平台竞争力的手段,同时也是“自证清白”的有效途径。

租户:租户需要数据库审计,以增强数据安全防护能力。

6. 云端数据库审计有哪些特殊要求?

跟传统环境相比较,对于部署在云端的数据库审计,具有一些特殊的要求。具体体现在:

1) 高性能

“性能、性能、性能”,重要的事说三遍。在云上,对性能的要求是苛刻的。最主要的原因就在于云计算“资源即费用”的收费模式。对于同样的数据库审计能力,产品性能越低,需要的计算资源越高,费用自然就越高。反之,产品性能越高,需要的计算资源越少,费用自然就越低。

2) 中立性

对于云端的数据安全措施,最好的方式就是第三方的。所谓的“第三方”,就是指这种安全措施,不是由云运营商提供的,而是由其它独立厂家提供的。之所以这样要求的原因很简单,就好比云运营商给了我们一把锁和一把钥匙来保护你的数据,我们怎么能保证他没有另一把钥匙呢?况且这个锁每天就放在他们院子里。显然,数据库审计最好也是第三方的。

3) 与云平台解耦

也就是产品的实现独立于具体的云平台,不需要云运营商的研发做对接即可完成。这样的好处是既能减少了云运营商的工作量,方便今后的升级;同时也能减少云运营商对审计过程进行干扰的可能性,进一步的保证中立性;而对数据库审计提供商来说,则可以低成本、快速的在多个云平台上进行部署。

4) 审计内容不会泄漏

这涉及到审计产品获取数据的方式以及部署的方式。如果审计产品通过流量复制(镜像)的方式获取数据库通信内容,那么这些被复制的通信内容就存在被泄漏的可能,而这些内容中含有大量的敏感内容。或者,如果采用由数据库审计服务商集中管理所有租户审计内容的方式,那么审计服务商则有机会看到所有租户审计内容中的敏感信息,同样存在泄漏的可能。

5) 审计所有访问数据库的途径

合格的云端数据库审计产品,应该能够审计到如下几个途径对数据的访问:

a) 云运营商直接登录数据库所在服务器,访问数据库,即所谓的“上帝之手”;
b) 其它租户通过虚拟机逃逸,连接到数据库进行访问;
c) 租户内部人员对数据库的所有访问;
d) 外部攻击者通过SQL注入、网站后门等方式对数据库的违规访问;
e) 应用程序正常的数据库访问。

7.如何选择云端数据库审计?

云端数据库审计提供弹性审计能力,以及以”审计即服务”的方式进行交付,保证了快速的交付和低成本。但是在具体选择云端数据库审计产品的时候,还需要从以下几个方面进行考虑。

1)选择中立性的厂商

在云端,包括数据库审计产品在内的所有数据安全产品的厂家都应该是绝对中立的,也就是说云服务商自身不能是数据库安全厂家,甚至不能与数据库安全厂家有过于紧密的利益关系,比如股权合作。云服务厂家也应该优先推荐中立公司的数据安全产品。

另外,租户可以选择在多个云平台上都已成功部署的厂家,这也能部分的确保其中立性。

2)选择高性能的数据库审计产品

在云端,数据库审计产品的性能越高,租户投入的成本越低。在对数据库审计产品进行性能评估的时候,租户需要搞清楚三个性能,以确保选择到心仪的产品。

其一是连续处理性能。这是最最重要的性能,甚至是很多租户需要真正关心的唯一性能,也是数据库审计产品的首要质量因素。所谓的连续处理性能很好理解,就是产品能一直以这个性能进行长时间的工作,不会出现漏审现象。技术上讲,连续处理包括收包、协议解析、SQL解析、规则匹配和风险识别、入库等处理环节。我们需要所有这些处理环节都达到一个稳定的性能,不存在性能瓶颈。

很多厂家宣传时候,避重就轻,只宣传峰值处理能力,而不提连续处理能力。其所谓的峰值处理能力,一般指收包的能力,或者最多到规则匹配的能力。这个能力,实际并不是产品的真正处理能力,其产品很可能存在性能瓶颈。因为收包或者处理很快,但是不能即时完成分析、入库,结果就是在流量稍大于其性能瓶颈时造成漏审。用户在选择数据库审计产品时,需要识别出其连续处理性能,而不要被峰值性能混淆。比如市场上某几款产品的入库性能即是其连续处理性能。

其二是内容检索性能。这是第二重要的性能,直接关系到租户的体验和产品的价值。对于分析存储后的审计内容,需要在随时以高效的速度进行检索。而且,这种检索必须是任意关键字的检索,因为我们需要检索数据库访问日志中的具体内容。比如检索“张三”、“李四”、STUDENT(表名)等的访问情况。如果检索性能很低,那么存储的审计内容越多,产品的可用性就越低,产品的价值就越低。

很多厂家在宣传的时候,宣称检索性能很快,实际指的并不是这种任意关键字检索的性能,而是对对结构化部分内容的检索。对于诸如IP地址、用户名、时间等结构化的内容,几乎所有的数据库审计产品能够达到很高的检索性能。但是任意关键字检索才是租户真正关心的功能,其功能和性能都必须单独提出,不能被回避。

其三是存储性能。云端的存储也是需要付费的,所以我们希望单位硬盘空间能够存储的审计内容越多越好。很多厂家在宣传的时候,都只说能存储多少条SQL,但是没有明确用了多大的硬盘空间。我们需要明确知道单位硬盘空间的存储能力,比如1TB硬盘空间能够存储多少条SQL日志。

3)选择能够审计“上帝之手”的产品

“上帝之手”的存在,是每个云租户的梦魇。云端数据库审计产品必须能够审计到上帝之手对数据的访问,这是云厂家和租户都关心的功能。这就要求审计产品有特殊的内容获取方式。有些厂家通过软件定义网络,以旁路复制(镜像)流量的方式获取数据库访问流量,这种方法既不安全,也容易丢包,更不能防止这种“上帝之手”。因为上帝之手访问数据库时,完全可以绕开这种审计机制。

4)选择风险识别能力高的产品

云数据库审计关系到云端数据安全的问题,风险识别能力一定要高。由于产品防护内容的特殊性,需要在应用层进行规则设置,这比传统的防火墙的配置更复杂。这就要求产品具有细粒度的风险识别能力,包括表、字段、语句级,并且这些规则最好是由产品自动学习完成的。此处“语句”级是最细的一个粒度,代表数据能够被合法访问的最具体的方式。目前绝大多数的数据库审计产品,都还不支持语句级粒度,租户要注意分辨。

5)选择租户可以完全控制的系统

数据库安全产品保护敏感数据,最好是租户可以完全控制的。这就要求:首先,数据库安全厂商交付给租户的数据库审计产品,应该是一个独立的虚拟机,就好像传统环境中的一个独立设备,从而可以控制审计内容的存储主体;其次,这个虚拟机应该部署于租户的虚拟局域网中,从而防止审计内容外发;然后,这个虚拟机的登录口令应该完全由租户掌握,只有租户自己能够登录。

8.对于云数据库安全,仅仅数据库审计够吗?

云端的数据防护是个系统工程。数据库审计是一个非常有必要的、基础性的数据安全策略。但是仅有数据库审计是远远不够的。比如,数据库审计虽然能发现来自“上帝之手”、租户管理员、外部攻击者的SQL注入等违规和攻击,但是却不能实时的阻止。又比如,数据库审计也不能阻止“上帝之手”直接分析数据库服务器的存储文件系统,获得数据库内容。

数据库安全厂商中安威士将继续发布云端数据库防火墙、云端数据库加密等云端数据库安全产品,进一步解决如上数据安全问题。

作者:中安威士

 


安全牛

1评

忘记密码