安全

云安全是云计算,特别是公有云计算研究中的重要课题,也是所有用户使用云计算都关心的话题。人们普遍担心自己的数据放到云端没有了控制权,担心云计算服务商会泄露自己的数据。

新浪云针对用户担心的安全问题,从系统到应用,已经做了并正在做着很多努力。

突发流量

互联网+时代最难预料的就是流量,因为某个突发事件就可以导致用户的应用成为了热点,在这种突发流量面前,新浪云能够做到用户无感知自动扩容以承载高并发,新浪云会自动在等待队列变长时,将流量分散多冗余节点上,整个过程用户无需关心更无需操作,完全自动。这个机制最典型的案例是2013春运期间新浪云帮助github承担了来自全国各地抢火车票的“DDOS”攻击,具体参见,http://tech.sina.com.cn/i/csj/2013-01-16/19367984516.shtml

系统和网络安全

系统安全主要是针对操作系统、服务器软件的安全升级和安全配置。我们有安全小组密切关注系统级别的软件出现的安全缺陷,并对这些缺陷所造成的影响做出评估,最终决定是否需要采取升级措施。在操作系统、服务器软件的配置上,也都做了安全上的加固。如2014年4月著名的OpenSSL漏洞,新浪云在第一时间进行了评估并且进行了修复,总共不超过4个小时,有力的保证了用户业务的安全运行。

网络安全主要是针对应用的网络防攻击。我们采用流量清洗解决方案的硬防设备已上线,该方案采用旁路集群方式部署,可以有效拦截各种DDOS攻击。

代码和数据安全

代码和数据安全涉及到两个方面,一个是防窃取,一个是防丢失,后者本质上是备份。

代码数据窃取

新浪云提供一套角色权限对应机制来保证用户的安全,在用户正常登陆后,所有涉及代码数据修改的操作都要求用户再输入安全密码,同时,用户可以授权其他用户以一定身份操作应用,如可以只授权查日志权限、只授权查表结构的权限,这样方便多用户进行团队协作。新浪云针对企业用户支持代码加密,用户可以将加密后的代码传到新浪云。

安全密码保护方案

除了用户自己需要加强安全方面的意识,加固电脑本身的安全外,新浪云平台也做了针对安全密码保护的解决方案。首先是新浪云将会对安全密码的登陆来源IP做实时检测,针对异地IP做手机的验证。其次如果客户对安全性要求更高,那么可以申请使用手机动态口令+安全密码的方式来增加帐户安全性,您可以在帐户管理中启用动态口令。

代码丢失

在新浪云上的代码是不会丢失的。首先是代码是被同步到了很多服务器上,每一个服务器都是独立保存的。其次应用的代码都是在SVN仓库中的,通过SVN来进行代码版本管理,一旦不小心误删除,可以自行恢复。

数据丢失

新浪云对于关键数据都进行备案,对于MySQL服务提供自动的热备和冷备,对于KVDB和Storage服务提供自动热备,用户可以通过接口自行进行冷备。对于MySQL的冷备数据有天备份和周备份两种类型,一周内的数据都是可以通过数据自恢复服务找回。

Web运行时安全

真正的用户代码是跑在新浪云提供的Web运行环境下的,为了提供公有云计算特有的安全性,新浪云设计多层沙盒来保证用户应用之间的隔离性。参考下图:

../_images/sandbox.jpeg

最内层的就是用户代码,绝大部分代码不需要做任何修改就可以跑在新浪云平台上。小部分代码需要做一些修改以适应新浪云的平台特性。新浪云因为安全性禁用了本地IO,所以fwrite等函数需要修改为使用TmpFS读写本地临时文件或者直接通过Storage服务读写我们的分布式文件存储,这部分针对您使用的语言可以参看相关的文档(本地IO部分)。

应用访问保护

有时候应用被一些不明IP恶意抓取,造成两个后果:一是应用的数据被别人非法获取,二是用户的云豆被大量消耗。新浪云针对这样的问题提供“应用防火墙”服务,用户可以在面板自定义来源IP的访问频率(分钟/小时/天等)、流量,定义黑白名单,有效保护自己应用的数据和云豆。新浪云还提供平台级防火墙,针对常见的网络攻击进行防护。

应用或网站本身的安全

应用层面的安全,往往是由于用户代码安全缺陷引发。主要的安全问题有:SQL注入、跨站XSS、挂马。对此,新浪云提供”应用体检”服务,其中包含了安全方面的检查,可以有效发现SQL注入、跨站攻击、挂马等安全问题,主动通知到用户。

消费安全

有时候,用户的应用还在测试阶段,因为上线了有bug代码导致云豆被大量消费,造成用户损失,为了避免这种情况,新浪云提供预算设置功能,用户可以在测试阶段设置每天的消费上限,这样遇到突发情况可以保护云豆不被错误消费。

新浪云还每天对用户的消费明细进行自动和人工的复查,遇到问题,用户可以通过工单反馈或者直接跟您的客户经理(针对企业用户)反馈。