探究:你的数据在云上,安全吗?

在企业发展壮大的过程中,除了固有资产之外,数据也逐渐成为企业最核心的财富之一。重要的客户资料、产品规格、配置信息等数据同样会引起竞争对手或者黑客的注意。

探究:你的数据在云上,安全吗?

图一 安全之战无处不在

也许你可能并不知晓,但数据安全之战每天确实在我们周围发生着。例如美国和以色列通过Stuxnet(蠕虫)病毒黑进伊朗的核武器研究数据库,并对离心机的转速做了更改,直接导致伊朗核武器的研究滞后两年之久;还有Linkin早在2012年数据就已经被窃,直到现在才发现并公布于众。

相比较于从外部攻入、具有一定技术难度的数据篡改、偷窃行为,那些在企业内部发生的数据库的异常更为致命,手段通常更加暴力,结果更具有破坏性,例如由于劳资纠纷,员工关停服务器甚至彻底删除了数据,对业务带来了致命的伤害;或者员工被竞争对手买通,导出所有客户资料,直到公司客户大量流失才被发现。

探究:你的数据在云上,安全吗?

图二 对自建数据库的建议

因此,小到公司,大到平台,再大到国家,都应该对安全给予充分的重视。目前阿里云的客户中,约有百分之六十的公司数据是没有备份的,剩下的百分之四十具有备份的公司中,能实现数据恢复的又寥寥无几。这是因为数据恢复的成本是非常高的,它将花掉DBA大量的时间。此外由于大部分企业不会将数据恢复记入KPI中,因此即便是有着明确规定的企业中,也很少有人去定期进行数据恢复。如果数据不可恢复,那数据备份也就失去原本的意义。最近在公有云上发生了这样一个案例,某家企业采用2013的数据进行数据备份和回滚,近几年一直没有检查其备份策略是否有效,因此其备份一直是失败,无法恢复,这直接导致三年内的数据全部丢失,企业面临倒闭的风险。因此对于自建数据库的企业,以下几点就需要重点防范:

  • 收紧数据库网络入口, 检查是否有非正常IP访问

  • 检查所有密码,并定期更改:

    • 特别是为了方便而设置的空密码;

  • 检查备份策略的有效性:

    • 每周至少2次全备,考虑增量备份;

    • 尽量用物理备份;

  • 检查备份集的完整性:

    • 定期恢复。

云数据库的安全策略

众所周知,构建一个安全体系十分复杂。在数据库方面,阿里云利用五年的时间,在安全方面进行了大量的开发和测试,目前可以通过云服务的方式将阿里的安全能力输送给其他企业。下面来具体看一下MySQL安全能力的构建思路与方法。

安全的问题需要从事前、事中、事后三个时间轴以及存储层、网络层、访问层、应用层四个层面,立体化地构建解决方案。

探究:你的数据在云上,安全吗?

图三 立体化的解决方案

过去,我们认为数据库在私有网络(局域网)内才是最安全的。但目前来看,数据库在局域网内也只是做到了百分之五十是安全的。在公有云上,要确保安全性,同样需要为用户构建一个相对隔离的网络环境。数据库和应用服务器都需要构建在一个独立的VPC网络内;同时该VPC网络可以通过专线与局域网相连,实现线上线下的同步,这也就是混合云最底层的基本网络构建。这种构建方式可以将网络的虚拟层与局域网联合组成同一个网络地址段,例如局域网的IP为192.168.0.1,可以在云上设置192.168.0.125,二者相互联合构成完整的云端局域网络。

应用访问层

探究:你的数据在云上,安全吗?

图四 应用访问层

网络构建后,应用服务器和数据库有可能需要通过公网进行访问,例如一些直连数据库的App应用。在应用访问层上可以从以下几点出发保护数据的安全:第一,由于公网具有很多风险,如果需要在公网上暴露数据库时,需要支持SSL非对称加密,这样一来即使网络包被劫持后,也无法进行破解;第二,由于应用服务器是直接暴露在公网之上,所以也成为黑客们最喜欢攻击的对象,所以对数据库而言,需要确定访问源是否合法,同时也可通过事前设置IP白名单,通过授权访问进行安全控制;第三,可通过对库、表、视图设置严格且明确的数据库访问权限,实现数据库内部分安全防护,例如在数据内部有一百张表,只允许特定用户访问其中的十张表;第四是密码问题,特别是管理密码,对于大多数MySQL用户而言,为了便于批量管理使用,管理密码基本上都是设置为空值,这是一个非常不好的习惯,也是一个高危的漏洞;另一点值得注意的是SQL注入,由于应用的SQL注入漏洞,使得黑客很容易通过正常渠道完成数据的窃取;最后一点,对于删除全表等非常规操作需要进行相应的拦截,防止大规模的数据篡改、删除操作。例如电商云上,阿里云构建了SQL防火墙规则,超过一万条的查询、删除语句都不能正常执行。

存储层

探究:你的数据在云上,安全吗?

图五 存储层

当从正面渗入无法实现时,黑客们有可能将数据文件窃取到其他地方再打开。针对这种情况,可以采用数据库、数据表的TDE透明加密,在数据库或者表打开时进行密码验证,该密码是用户自行在KMS中进行设置更改的。

容灾

探究:你的数据在云上,安全吗?

图六 容灾

除了上述的防攻击、防窃取的应对措施外,安全领域内还存在着独特的行业规则,首先备份必须存储两到三年甚至更久,同时支持任意时间点的数据恢复查看。如果采用线下构建满足要求的平台,成本非常高,需要大量的人力投入;此外,跨机房的容灾和两地三中心的解决方案也成为了某些行业的硬性要求,例如金融行业,两地三中心是标配。

要实现这样的要求,投资成本是非常之大,甚至寻求托管运营商,也不一定具备这样的能力。但是通过阿里云提供的服务,在分钟级别就可以获得这样的能力,满足行业的要求。例如针对金融云上的两地三中心解决方案,可以实现1000KM距离的设计,同时传输时延控制在30ms以内;跨Avzone网络延迟在1-3ms左右,同时备份最长可保留两年,随时可一键恢复、验证数据。

内部信任

探究:你的数据在云上,安全吗?

图七 内部信任

当发生紧急情况,需要管理员介入处理时,首先需要向用户进行授权,获得颁发的临时Key(24小时失效);管理员获得临时Key后,才能对数据库进行相应的访问操作,这里用户也可自定义临时Key的有效时间。

为了更近一步的合乎规范,阿里通过引进了包括DJCP、AICPA/MTCS T3在内的第三方的权威机构进行监管认证,保证运营、管理以及数据保护体系达到国际标准。

100%?

探究:你的数据在云上,安全吗?

图八 如何做到100%

为了达到数据的100%安全,阿里云又提供了更高一级的防护措施。首先应用数据直接加密存储到数据库中,由于整个数据是加密的,即使被盗之后也不会导致数据的泄露;其次,通过数据投保,为企业提供了一层心理保障。目前,阿里联合众安保险为企业提供了最高投保额度高达一百万的数据保险。

使用建议

探究:你的数据在云上,安全吗?

图九 阿里云数据库安全实践

对于企业而言,不同的数据需要不同安全策略。对于一些安全程度要求较低的数据,对应的安全策略是:配置了HA高可用;每月一次验证备份的可靠性,备份保留30天;同时关闭公网访问或者采用VPC、IP白名单;涉及到用户隐私的高级数据,云数据库的安全策略进一步升级:首先云数据数据库密码是1-3月更换一次;同时打开TDE加密;数据备份全部存储在OSS中,可保留90天之久;此外数据库还应该支持同城容灾;对于核心数据而言,云数据库首先在应用层加密,支持SSL加密传输,备份可保留720天,同时支持跨地域容灾和两地三中心的部署方式。

总结

数据安全是一个永恒的话题,攻和防一直在持续,云数据库将会一直在您身边保护您的数据。

更多深度技术内容,请关注云栖社区微信公众号:yunqiinsight。

相关推荐