虚拟化及云环境下数据库审计技术探讨

  随着越来越多的企业用户将传统的业务系统迁移至虚拟化环境或是云服务商提供的云平台,数据的泄露及篡改风险变的越发严峻,针对数据安全的防护以及事后审计追溯也变得越来越困难。究其原因,主要是传统的数据库审计解决方案是通过旁路分析目标被审计数据库镜像的流量,而虚拟化环境或者云平台由于内部的虚拟交换机(Vswitch)流量很难镜像或者无法镜像,因此传统的数据库审计解决方案不足以应对虚拟化和云平台的数据库审计需求。

  首先我们对虚拟化及云平台环境中,传统的数据库审计解决方案在典型的几种场景下的优缺点进行解析:

场景一:应用和数据库的虚拟主机不在同一台物理机器上

  如下图所示这种情况下的应用和数据库虚拟主机不在同一台物理机器上,对传统数据库审计来说,可以采用传统方式直接镜像数据库服务器所在的物理宿主主机(物理机器4)网卡的流量,完成对目标数据库的审计,缺点是需要将虚拟机流量全部镜像过去,同时可能会导致一些无需审计的主机的数据的泄露,这是这种解决方案最大的一个风险。

场景二:应用和数据库的虚拟主机在同一台物理机器上

  针对应用和数据库在同一台物理机器上,应用和数据库的交互过程通过内部的Vswitch进行了流量转发,流量并不通过所在的物理机器的宿主主机网卡,因此采用传统的镜像流量根本无法镜像,如下图所示:

针对这种情况传统数据库解决方案有三种方法解决:

  a、虚拟机虚拟网卡绑定物理网卡

  要求宿主主机有多个物理网卡,每个物理网卡和上层交换机直连,虚拟机层面在安装时可以指定将虚拟网卡绑定在对应的宿主主机的物理网卡上,然后使用传统的镜像方式镜像物理网卡的流量完成审计,这种缺点非常明显,要求物理服务器要有多个网卡,实际上大部分PC服务器只有不超过1-4个网卡端口,大部分物理机器上虚拟了几十个虚拟机,因此,在实际部署上并没有那么多网卡可供绑定,存在诸多限制,实际上并无法实施。

  b、在VDS上配置流量镜像

  Vmware ESX在最新版本中推出的功能,将某虚拟机网卡流量通过GRE封包,直接通过TCP协议发送到某个IP地址上(数据库审计设备),数据库审计设备接收GRE数据包完成审计,但是这种解决方案的缺点如下:

  Vmware版本及VDS(分布式虚拟交换机),据官方技术资料只有Vmware 5.5以上版本才支持,目前客户现场主流的4.x、5.0、5.1等版本都不支持,其他非Vmware虚拟化环境就更不支持,因此针对大部分客户现场环境实际并不支持部署。

  通过GRE封装做流量镜像对宿主主机的物理网卡性能影响非常严重,所有镜像流量都要通过宿主主机的物理网卡进出,极大影响了物理网卡的性能。

  VDS属于虚拟交换机,其对数据包的处理完全依赖于CPU,并不像传统交换机靠硬件进行流量转发,因此对宿主主机的CPU资源占用也非常严重,极大的降低了宿主主机的性能。

  c、开启流量广播

  这种方式目前是最主流的方式,将数据库审计以虚拟机的方式部署在对应的宿主主机,当做宿主宿主机的一个虚拟机看待,然后开启Vmware的流量广播功能,每个虚拟机都将收到Vswitch上每个端口通信的IP流量,因此DB审计设备只需要采集其虚拟网卡上的流量就可以采集到目标数据库服务器的流量,只需要在采集阶段过滤掉其他流量即可完成审计,如下图所示:

这种解决方案的缺点也非常明显:

  1、开启流量广播虽然大部分Vswitch都支持,但是这种方式就好比早期的Hub一样,tcp通信能力将明显降低,严重影响整体网络传输的时延及可靠;

  2、DB审计可以采集到所有虚拟机的流量,其他虚拟机一样也会采集到所有的流量,这些流量里肯定包含很多未加密的敏感数据如用户名、密码等,假设这些虚拟机中有一台机器被入侵或者非法利用,这样会带来极大的安全问题。

场景三 :应用和数据库的虚拟主机随机的分配在一个虚拟化集群的某个主机上

  这种场景其实是场景一和场景二的结合,目前大部分客户为了避免单一硬件的故障,基本上都采用虚拟化集群的方式实现企业的虚拟化,当碰到单一硬件的故障,虚拟机会在整个硬件虚拟化资源池中自动迁移,具体迁移到哪台物理主机上并不确定,因此传统的镜像方式并不能确定虚拟主机此刻在哪个交换机上,如下图所示:

  因此在这种场景下同样无法做镜像,只能把虚拟化集群所有主机的流量全部镜像出来,这种缺点也非常明显:

  1、当出现业务和DB在迁移到同一个物理机器上时,其实并没有流量,实质上审计不到任何数据,这个时候是存在严重的漏审计;

  2、虚拟化集群涉及的机器比较多,流量非常大,网络可能也比较复杂,传统的镜像方式很难在实际中进行配置,因此很难实施;

场景四:应用和数据库分别托管部署在完全独立的第三方云计算平台

  场景四是场景三的一种延伸与扩大,场景四主要指目前主流的第三方云平台提供商如阿里云、亚马逊、腾讯云、华为云、百度云等等,底层的硬件、存储、网络等等都对用户不透明,上层的虚拟机具体在哪个物理硬件服务器上,连接哪个物理交换机,用户一概不知道,如下图所示:

  因此要用传统方式配置镜像,基本上没有可能,云平台提供商并不会提供底层资源的控制权给云主机租户,因此对这种场景的数据库要进行审计,传统数据库审计解决方案将彻底无能为力。

  综上所述,在虚拟化和云环境平台中,只有场景一,传统的数据库审计解决方案勉强可以解决。针对场景二传统数据库审计解决方案基本上是不支持,部分情况即使支持也是有非常明显的缺点及种种环境的限制,针对场景三、场景四传统的解决方案直接是无法支持。

针对虚拟化环境和云平台中的数据库审计难题,安恒信息推出了全新架构的虚拟化云环境Agent代理审计解决方案。通过在虚拟主机上部署Agent,以不变应万变,全面支持以上描述的四种典型场景,这种解决方案由Agent对数据库的请求行为直接进行处理,处理完成之后由Agent直接将数据发给采集器统一检测、告警、存储及挖掘分析,彻底解决了各种虚拟化、云环境数据库无法审计的难题。具体部署拓扑图如下图所示:

本解决方案有以下优点:

  1、全面支持所有虚拟化环境和云环境的数据库安全审计,不区分业务部署架构、底层虚拟化软件架构和底层的网络架构,不依赖传统的交换机流量镜像;

  2、支持部署在虚拟化环境中所有的Linux 2.6以上内核版本、及windows2003、2008、2012等版本;

  3、支持主流的Oracle、SQL Server、DB2、Sybase、Mysql、Lnformix等数据库,同时支持达梦、人大金仓、Oscar、Gbase等国产数据库,还支持cache、teradata、postgresql等数据库的审计;

  4、部署简单,支持一键安装;

  5、对虚拟主机的性能影响可以忽略不计,经实际阿里云环境虚拟主机测试,DB服务器流量在120Mb以内,agent对目标服务器的性能影响在3-8%之内。

  随着虚拟化、云计算技术的不断成熟,业务迁移到云端也是不可逆的趋势,未来将会有越来越多的企业、政府、个人用户将应用系统及数据库逐渐迁移到自主搭建的私有云中,或者是第三方服务商提供的公有云平台中,企业、政府的核心敏感数据托管在云环境中,面临着各种窃取、篡改的威胁,数据的安全审计将越发重要,传统的数据库审计产品将逐步被下一代数据库审计产品所替代,安恒明御数据库审计产品将继续作为行业的领导者,在虚拟化、云计算时代继续为用户的数据库安全审计保驾护航。

原文发布于微信公众号 - 安恒信息(DBAPP2013)

原文发表时间:2015-07-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jerry的SAP技术分享

如何在腾讯云上安装Cloud Foundry

Cloud Foundry是VMware推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用...

27950
来自专栏IT派

2018年Python web五大主流框架

我们都知道风靡一时的Python语言作为人工智能战场上主要使用的枪外,还被广泛应用在Web开发、游戏开发、人工智能、云计算开发、大数据开发、数据分析、科学运算、...

23130
来自专栏云计算D1net

保护微服务需要知道的那些事

随着容器的持续流行,将应用改造成云上的微服务,对于很多希望IT运营更加敏捷高效的企业来说是显而易见的下一步。但是,在容器化应用并且部署之前,需要首先确保你的应用...

36370
来自专栏数据和云

Oracle 数据库版本发布计划变更:下一版本将是 18

编辑手记: 在最近举行的Oracle数据库技术大会上,Andy Mendelsohn 透漏了关于Oracle Database 产品发布计划的变更。自2018年...

47940
来自专栏云计算D1net

容器与DevOps 被称为天作之合的7个原因

作为自动化应用程序部署的一种方式, 容器的流行程度在不同行业的企业环境中不断上升。根据行业研究调查显示, 虽然云原生正在拥抱容器技术,但只有约10%的企业在生产...

35750
来自专栏Rainbond开源「容器云平台」

好雨云帮一周问答集锦(12.12-12.18)

14830
来自专栏ThoughtWorks

你的微服务敢独立交付么?| 洞见

最近经常在项目或是社区里听到大家谈论微服务架构,但谈论的焦点更多集中在微服务拆分,分布式架构,微服务门槛,DevOps配套设施等话题上。

12720
来自专栏GreenLeaves

Unity系列之简介

Unity的目标是为了提升"依赖注入"的思想,去建立更加松耦合的系统.patterns & practices 小组在那个时候实现DI的方式和我们现在认为的DI...

37650
来自专栏EAWorld

容器时代的DevOps部署

本文目录: 一、企业应用的部署发展 二、普元容器云与DevOps的部署设计 三、面向微服务的部署设计 四、容器组装化部署 五、容器云集成之路 六、结语 一、企业...

68170
来自专栏顾宇的研习笔记

Serverless 微服务持续交付案例

“Serverless 风格微服务的持续交付(上):架构案例”中,我们介绍了一个无服务器风格的微服务的架构案例。这个案例中混合了各种风格的微服务

17620

扫码关注云+社区

领取腾讯云代金券