前言
我们频繁的从各种文章看到云计算、云安全,相关产品或服务众多,令人眼花缭乱。笔者两年前也曾写过云安全的博客文章,现在又有些新的进展,重新更新一下。为了分清楚云计算和云安全,先弄清楚他们之间的关系。
云计算(通用云服务)
在通用云计算服务中,安全一般仅作为云计算的一项属性,即云计算为主,云安全为辅。
通用云服务有三种形态:
(1) IaaS (Infrastructure as a Service,基础设施即服务)
IaaS目前又可以细分为计算云(阿里云、腾讯云、UCloud、华为云、Amazon等)、存储云(iCloud、腾讯微云、金山云、百度云等),以后预计还会有网络云(等SDN普及的时候,可以方便的构建虚拟网络、虚拟边界等)。
(2) PaaS (Platform as a Service, 平台即服务)
PaaS不直接面向用户,而是向企业/组织,提供应用开发、应用测试、应用托管等服务。
(3) SaaS (Software as a Service,软件即服务)
SaaS就是最为常见的直接面向最终用户(含企业用户和个人用户)的各种在线服务,如在线CRM、Gmail、SDL SaaS等。
大家在使用这些服务的时候,总是会担心云服务提供方会出现安全问题,诸如公司信息资产泄露、个人数据及隐私泄露、被攻击导致服务不可用等等。
云安全的含义
不同的组织对云安全有不同的理解和定义,不过总体上可以分为以下几类:
- 各种云计算(IaaS、PaaS、SaaS)自身的安全性
- 各种云计算(IaaS、PaaS、SaaS)客户的业务安全
- 利用云计算技术来构建安全系统
- 直接提供安全相关的SaaS服务
下面分别来看。
各种云计算(IaaS、PaaS、SaaS)自身的安全性
这一种最为常见。
由于虚拟化技术的应用和部署位置的变化,安全风险有了新的分布。
IaaS主要面临的风险有:
- 虚拟化产品自身的0Day漏洞(IaaS领域的HyperVisor、PaaS领域的Hadoop等);
- 各种镜像模板的完整性(遭受破坏或被人为植入木马);
- 虚拟化网络边界的延伸与访问控制,如绕过访问网关、多租户之间的互访隔离。
等。对IaaS云计算系统的防护,除了利用基本的安全技术构建立体的防御体系之外,更多的需要在管理上加以治理,如定期例行的补丁更新、完整性检查、风险分析与评估。
PaaS、SaaS面临的风险有:
- 配置错误或逻辑漏洞,多租户的互访隔离;
- 传统的Web安全风险如SQL注入、跨站脚本等Web漏洞。
等。
各种云计算(IaaS、PaaS、SaaS)客户的业务安全
典型的场景一:IaaS计算云中客户云主机的安全性
客户的业务网站运行在IaaS云计算环境中,需要为客户的云主机连同上面所运行的业务提供保护。
能够为大批量用户构建安全防御体系,是IaaS云计算的优势(天然的抗DDoS带宽资源),特别是在抵御DDoS攻击方面。抵御DDoS在很多时候需要有足够的带宽来进行抵抗,但是带宽费用如此之贵,企业不可能单独为防止DDoS攻击而采购大量的带宽而任其绝大部分时间闲置。IaaS可将富余带宽用于防止DDoS攻击,今天保护了张三公司的服务器,明天保护了李四公司的服务器,总体利用率可得到很大的提高。
小型企业特别是创业型企业,一般缺乏安全开发、安全防御的能力,采购具有安全防御特性的云主机是一个不错的解决方案。
这些云防御特性构建了IaaS云计算的安全屏障(抗DDoS、WAF等),能够保护客户业务的正常运行,同时作为IaaS云计算产品的一个卖点,促进销售额的提升。
典型的场景二:IaaS云存储的安全性
自好莱坞艳照门以来,人们对云存储的安全性格外关注。
保护用户数据和隐私就成了云存储的重中之重。
主要的薄弱环节:账号口令被盗、账号口令被撞库(即使用互联网已泄漏的口令去尝试)、用户资料的权限控制(私有/公开权限错误、交叉授权错误/查看他人数据)。
防御措施:防撞库措施、权限访问控制、必要时对敏感数据的加密措施。
不过,涉及到法律或政治因素,通常云存储的数据都是没有加密的,或者说即使加密了,也并不能代表就是安全的。
典型场景三:SaaS应用的安全性
主要针对企业客户来说,与自建应用相比,所有权不同(自建应用的所有权归自己公司,SaaS应用的所有权归SaaS提供方),对安全的感知不同(SaaS服务方采取了那些安全措施,对客户来说,是看不到的),并由此导致产生信任问题,也就是我(客户)不知道你(SaaS服务提供商)采取了哪些安全措施,提供的服务安全性如何,并进而影响是否采购SaaS应用使用权的决策。
其实,SaaS应用跟传统的应用所面临的安全问题基本是一样的。
信任的建立,要依靠SaaS提供方对其所采取的安全措施的公开透明度,要告知客户(特别是对安全比较敏感的客户),供客户决策参考。
利用云计算技术来构建安全系统
典型场景:
- 防病毒领域的云查杀(建立在少量用户中招的前提下);
- 云联动的防火墙(一处发现攻击,通知其它防火墙同步防御);
- 防欺诈(防止薅羊毛的羊毛党,恶意攫取产品推广、运营活动中的经费);
- 云WAF CDN(反向代理到真实网站,在用户和真实的服务器中间提供安全的访问控制);
- 防止垃圾邮件、防止恶意网站的过滤系统(通过云端下发最新的防御策略、拦截列表)。
直接提供安全相关的SaaS服务
提供安全功能为主体的系统或服务,如:
- 用于安全身份认证的SSO或OAuth服务(提供口令、生物认证等方式);
- 提供安全的服务网关(解决移动运维、跨区访问等问题);
- 在线的加解密及彩虹表查询服务;
- 在线的安全风险监测服务;
- 在线的安全开发流程SDL SaaS服务;
- 在线的安全工具(口令生成器等)。
云安全还会有什么新的变化?
云计算带来服务模式的革命,也会带来更多的安全业务场景。
对甲方企业而言,特别是小型企业,类似云盾这样的安全防御基础设施会得到加强,为托管在IaaS云计算中的中小企业提供安全保障,小型企业可以聚焦在业务发展上,将安全交给IaaS服务提供商。
而对大中型企业来说,也会更多的使用外部厂商提供的企业级SaaS服务(而不是全部自建),对于聚焦业务、降低成本、提高效率大有裨益。对于没有安全开发流程的企业来说,不妨使用SDL SaaS服务(在线的安全开发流程),以加强产品全生命周期的安全性。
伴随软件定义网络(SDN)而来的安全虚拟化,如虚拟企业网、软件定义边界(虚拟防火墙/虚拟安全域)等,会逐步走向前台,向企业客户提供可以定制的网络环境,以满足复杂业务场景的需要。
对于IaaS提供商而言,之前一直被冷落的“可信计算”的价值可能将逐步被发挥出来,在保护云基础设施的完整性方面起到重要的作用,通过构建信任链,硬件TPM -> Hypervisor -> 虚拟TPM -> BIOS/EFI -> MBR -> OS Loader -> OS Kernal -> ApplicationService,逐级向上传递信任一直到应用层,进行完整性检查;简言之,只有纳入白名单(经过签名信任)的进程才能在Hypervisor和VM上运行,每个虚拟机都有自己的vTPM。这也是白名单策略在云计算领域的应用。不过,可信计算需要配合严格的安全管理(防止源头被污染)才会发挥作用。
此外,对各种云计算或云安全解决方案来说,让安全看得见(可视化),无论是对于IaaS、PaaS还是SaaS,都将比以前更重要。随着客户安全意识的提高,他们也将有能力对服务商提供安全保障的能力进行鉴别,供选型参考。