本来没打算写这篇博文,毕竟感觉太理论化,不像做技术的人应该写的东西,但是作为一名售前,发现很多不了解Azure的客户,上来的第一个问题竟然就是Azure如何保证客户数据的安全性,我清楚记得我第一次被问这个问题直接懵了,要不是当时的销售接过话题,那就很尴尬了,毕竟这是一个很基础的问题,但是就是这样一个基础的问题,往往反而会难倒你,回去想想,觉得自己有必要好好总结一下!!!
关于这个问题,我们可以从两个大的方面进行阐述,一个法律层面,另一个就是Azure的技术层面,首先,Azure承诺绝不会挖掘客户的数据进行营销,也无权查看客户的数据或其它信息,想起来微软有句话说,微软立志要成为一个伟大的公司而不是一个好的公司,一个伟大的公司信誉永远是第一位,有人不禁会问,你说你不会挖掘就不会挖掘了?的确,光凭这个确实很难说服客户,所以我们从法律法规角度来说,Azure一切的行为准则都要遵循法律法规,在美国有联邦数据保护法,在欧洲,有欧盟数据保护条例,在我天朝,还有网络安全法,Azure无论在哪个国家或者地区都会严格遵守上述法律法规,微软认为合规才是长久生存之道,正是基于这些原因,Azure成为第一个国外公有云手续齐全地落地中国,除此以外,Azure还获得很多了安全认证,其实,机密或者个人信息的保密取决于信息本身对保密性的要求,Azure通过了ISO(国际化标准组织)的27018号认证(云端隐私的国际标准),迄今为止,Azure全球数据中心获得了诸多认证,这些认证包括
ISO 27001/27002/27301/27017/27018
SOC 1/SSAE 16/ISAE 3402 and SOC 2
Cloud Security Alliance CCM
FedRAMP
FISMA
FBI CJIS(Azure Government)
PCI DDS Level1
United Kingdom G-Cloud
Australian Governmet IRAP
Singapore MTCS Standard
HIPAA
EU Model Clauses
Food and Drug Administration 21 CFR Part 11
FERPA
FIPS 140-2
CCCPPF
MLPS等等
具体关于Azure全球数据中心所获得的认证可以参考www.microsoft.com/en-us/TrustCenter/Compliance/default.aspx 有兴趣的读者可以去看看
在中国,由世纪互联运营的Azure获得了如下的合规性认证:
1.工信部可信云服务认证
2.ISO/IEC 27001:2005审核和认证
3.信息系统安全等级保护定级(DJCP):三级
详细介绍可参考www.trustcenter.cn/zh-cn/compliance/defualt.html
以上所述的都是从法律层面以及其所获得的认证来阐述Azure安全性的,Azure本身的安全机制有哪些呢
第一点运维安全性
1.Azure数据中心的运维团队对其进行7*24小时的连续监控,即使数据中心的日常维护,Azure也需要众多流程审批才能进行,其实现在Azure数据中心的硬件已经做到了免维修,同时采取物理措施构造、管理和监视数据中心,杜绝一切未经授权访问数据和服务以及防范一些风险环境
2.微软的员工没有权限访问客户的数据,即便在客户需要微软进行支持时,微软也只会授予员工最小的权限,而且在访问客户数据的过程中会被多点认证,进行核查,并进行记录
在这里顺便提一下,曾经有同行做过实验,在Azure数据中心创建了一台虚拟机,反复扫描数据中心同一IP段内的常用端口,结果很快被Azure运维团队发现,并且受到一封警告邮件,发现虚拟机存在异常行为,如果再不停止该行为,则会有停止整个订阅的风险
3.一旦客户发现自己的云端数据中心有被攻击的迹象,可以立即联系Azure运维团队,Azure会优先处理该种情况
4.Azure一直在增强其安全防御能力,这种能力包括入侵检测和防御系统,DDos攻击防御,常规渗透测试,取证工具等
5.Azure允许客户部署自己的反网络入侵系统,包括从客户端模拟对Azure的应用进行压力测试,但是必须提前一星期提交渗透测试批准表,联系数据中心,但是不允许客户对Azure数据中心进行审核,因为Azure数据中心已经通过了大量的第三方审核机构的认证
第二点平台安全性
大致可以分为如下的几个方面
存储安全性
Azure提供包括AES-256在内的各种加密方式(备注:AES-256是高级加密标准,密钥长度256位,是公认的安全性较高的加密方式,安全性要远高于常见的AES-128与AES-192,以及RSA-1024这些加密方式),对于客户所关心的安全性问题,其实是大可不必的,因为Azure上都做到了数据漂移存储,除了域控制器(area controller)没有人知道数据具体放在哪个存储节点上,即使是世纪互联的运维人员也不得而知。
网络安全性
第一点,Azure提供Anti-DDos功能,预防外部攻击,可在两个数据中心做流量清洗;
第二点,Azure支持ACL,即访问控制列表,可以设置公网的传入流量,允许指定的某些公网IP地址来管理Azure上的服务,以此设置客户端的访问权限;
第三点,Azure提供NSG功能,即网络安全组功能,可以设置同一个虚拟网络里面的不同subnet与不同VM之间的互相访问;
备注:在这里笔者觉得有必要说一下,在ASM中,即老portal里面,ACL只是针对整个cloud service来设定路由规则的,也就是无法对同一个cloud service中的某个虚拟网络中的不同subnet和不同VM之间做路由规则,这样就导致同一个虚拟网络里面的subnet或vm之间可以随意访问,就类似于传统网络架构里面的VLAN,但是在ARM的libza portal里面,就是新的portal里面,加入了全新的NSG的概念,可以一出subnet与vm就可以做路由规则,这样就可以限制同一个虚拟网络中的不同subnet与VM之间的访问规则。
有人不禁会问笔者,你以上所说的网络安全性都是纯Azure平台的,假如我们的场景是混合云的情况怎么办,对于该种情况,我们提供两种vpn与专线来解决,两种vpn分别是s2s vpn(site to site 站点到站点vpn),该vpn是基于IPsec协议来保证网络安全性,另一种是p2s vpn(point to site 点到站点 vpn),该vpn是基于SSTP协议来保证网络安全性的,对于专线(express route)而言,支持专属光纤链路直接相连,或者MPLS网络相连,这两种安全性就不言而喻了,当然成本也会高很多。
对于纯内网的访问方式,就是说不接受来自公网Internet的访问,我们还有NAT加堡垒机的安全机制来进行安全隔离。
传输安全性
数据传输Azure也提供了两种加密方式,一种为SSL,另一种为TLS加密方式,从而保证传输安全性
数据库安全性
这里说的数据库分为两类,第一种是Azure所提供Paas服务的数据库,另一种是通过IaaS SQL VM自己搭建的
第一种,在SQL Paas服务中提供IP白名单功能,设置某些信任服务器的IP端加入白名单,组织其它非信任的IP进行连接;
第二种,在IaaS SQL VM中,仍然提供传统SQL server 安全性连接机制,比如证书加密,对称加密,非对称加密,透明数据加密等等
对与以上的技术的总结,笔者画了一个简单的架构图,仅供大家参考
在这里笔者想提一点,在以前,ASM中,Azure甚至是不支持直接查看启动诊断日志文件的(在新的libza portal可以看到的),因为微软认为凡是涉及到客户敏感信息的内容(启动日志往往包含了客户很多敏感信息),无论是微软的工程师还是partner的工程师都无权查看,如果有查看的必要,必须要拿到客户的授权并向世纪互联出示证明才能查看,Azure承诺绝不会挖掘或查看客户的信息,我们只是一个平台,Azure是这么承诺的,也是这么做的,但反而有很多用户向我们抱怨,为什么我看不了我的启动日志,连看个启动日志都要这么麻烦,这里我想说一句,其实安全和便捷就是鱼和熊掌的问题,你要便捷,就不可能做到十分安全,你要安全,就不可能做到十分便捷,我并非为Azure说话,这是所有公有云平台都无法回避的问题,最后,我一直认为其实所谓安全性问题都是客户心中自己的枷锁,关键就在于我们如何解决客户心中的疑点。
以下是笔者认为关于Azure安全性比较全面的文档链接,有兴趣的读者可以自己研究一下。
以上内容仅为个人的粗浅看法,难免有不足与疏漏之处,还望见谅,部分内容参考了一些前辈的文章,向他们致谢!!!