Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策
我每次与开发人员讨论将应用程序迁移到云时都围绕着两个主要问题。
1. 首先是业务。将应用程序迁移到云可以带来怎样的规模经济?
2. 其次是安全问题。“云的安全性如何,尤其是Windows
Azure?Windows Azure可以提供哪些优势?为保证应用程序的安全,我需要采取哪些措施?”
此外还有一个心照不宣的问题:“我如何让用户对云的使用体验就像使用内部部署应用程序一样顺畅?”
作为 ISV,我们希望向授权用户、客户和系统提供随时随地使用任何技术访问所需数据的功能,同时满足机密性、可用性和完整性方面的基本安全要求。
而且同样重要的是,我们希望让坏人远离这些数据。
本文是多篇有关软件设计挑战的文章中的第一篇,旨在说明如何才能让拥有访问权限的人顺利访问软件,同时阻止未经授权者访问。
此系列文章旨在为您提供更多背景信息,让您能够编写出适用于公共云的理想应用程序。
威胁
首先我将简要概括一下这些挑战。您的应用程序面临的威胁多种多样,与您能想到的内部部署应用程序面临的威胁相类似。但对于内部部署应用程序,有些关键威胁会得到缓解,因为它们在防火墙之后运行。
迁移到 Windows Azure云时,有些威胁会提高,有些则会降低。同您部署自己的应用程序时相比,缓解这些威胁变成了一个更深层次的合作。在您自己的服务器上部署应用程序时,您控制着对服务器的物理访问、操作系统、补丁以及用户的访问方式,等等。但随之而来的是加重了维护基础结构、确保执行备份、配置负载平衡器的责任。
但与 Microsoft合作时,全球基础服务团队可以应对各种客户需求,并承担与您的应用程序安全相关的部分责任。
这一点类似于由您负责基础结构的基础结构即服务 (IaaS)和与 Microsoft共享基础结构的平台即服务
(PaaS)之间的区别。
在这两种环境中,您需要考虑七个攻击矢量。
· 对应用程序进行管理的客户管理员。如何对应用程序进行部署、更新和数据访问?哪些人拥有访问权限以及如何对访问进行身份验证?
· 托管服务的管理中心。如何、何时、在哪里、用什么工具监视托管商管理员以及谁拥有托管服务的访问权限?
· 如何对服务器进行物理访问?它是否被放在办公桌下?是否具有武装防护措施?谁可以接触服务器以及谁拥有这些设备的物理访问权限?
· 用户可以访问哪些数据以及如何将数据提供给这些用户?用户有权查看哪些数据?
· 客户如何才能从应用程序内部攻击 Windows Azure?客户如何对系统进行越狱并损害系统?
客户使用 Azure来攻击其他网站时,会发生什么?
即使将应用程序迁移到云,传统威胁仍然存在。例如,您仍然需要防范跨站点脚本攻击 (XSS)和代码注入攻击。而提供商需要防范 DNS攻击和网络拥堵问题。
有些威胁进一步扩大,比如您需要考虑的数据隐私。您需要知道数据的存储位置和数据隔离,尤其是在多租户环境中。您还需要处理访问权限。
云服务提供商的性质带来了新的威胁。例如:
· 新权限升级攻击(VM到主机或 VM
到 VM)
· VM边界的越狱
· 网络劫持(对主机或 VM进行 Rootkit
攻击)
不过有些旧有威胁由于修补自动化和实例迁移到安全系统而得到了缓解。此外,云恢复能力改进了故障转移。
在本系列的接下来几篇文章中,我将描述如何才能保护数据,介绍 Windows Azure所提供的功能,并提供可供您查看更多详细信息的基本参考材料。
深度防御
在线服务安全性与合规性 (OSSC)团队负责管理 Microsoft云基础结构的安全,它隶属于全球基础服务部门。确保
Microsoft 云安全说明了如何通过对人员、流程、技术和经验的应用进行战略性协调,以持续改进 Microsoft云环境的安全。
采用深度防御的方法是 Microsoft提供值得信赖的云基础结构的基本因素。在多个层应用控制涉及采用保护机制、制定风险缓解战略以及在攻击发生时能够对其进行响应。
物理安全
使用技术系统来实现针对某些保障措施的访问和身份验证的授权自动化,是物理安全随着安全技术的进步而发生变革的体现之一。
OSSC 负责管理所有 Microsoft数据中心的物理安全,这对保持设施运营和保护客户数据至关重要。每个设施中都使用了安全设计和运营方面的既定精确程序。Microsoft通过不断增强每个周边层的进出控制,确保建立了外围和内围安全机制。
数据安全
Microsoft 根据需要向数据中心设备和网络连接应用多个安全层。例如,在控制平面和管理平面上使用了安全控制。配备了负载平衡器、防火墙和入侵防护设备等专门硬件来管理基于访问量的拒绝服务 (DoS)攻击。网络管理团队根据需要向分成几个部分的虚拟局域网
(VLAN)和应用程序设置分层访问控制列表 (ACL)。Microsoft通过网络硬件,使用应用程序网关功能来执行深度数据包检查并采取相应措施,例如发送可疑网络流量警报或拦截可疑网络流量。
为 Microsoft云环境配备了全局冗余内部和外部 DNS基础结构。冗余可提供容错功能,通过
DNS服务器的群集来实现。
身份认证和访问管理
Microsoft 使用“需要知道”和“最小权限”模型来管理对资产的访问。只要可行,就使用基于角色的访问控制来将逻辑访问权限分配给特定工作职能或责任范围(而不是个人)。这些策略规定,如果资产所有者未按照既定的业务需求明确授予访问权限,则默认情况下访问将被拒绝。
应用程序安全
年正式形成了一个称为安全开发生命周期 (SDL)的流程。
参考
要了解更多信息,请访问全球基础服务在线安全。全球基础服务团队提供值得信赖的可用在线服务,可为您和
Microsoft Windows Azure 带来竞争优势。
下一篇文章
在Windows
Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制中,我将说明 Windows Azure的安全是一项共同责任,Windows Azure为您的应用程序提供超出内部部署应用程序需求的强大安全功能。但另一方面,它也暴露了您应该考虑的其他漏洞。此外,我还将探讨合规性。
在其他即将发布的系列文章中,我将描述安全地进行总体应用程序设计、开发和部署可以采取的步骤。
以下是本系列中的文章的链接:
· Windows
Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制。
· Windows
Azure 安全最佳实践 - 第 3 部分:确定安全框架。
· Windows
Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施。
· Windows
Azure 安全最佳实践 - 第 5 部分:基于Claims的标识,单点登录。
· Windows
Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性。
· Windows
Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践。
本文翻译自:
Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策的更多相关文章
- Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践
在撰写这一系列文章的过程中,我总结出了很多最佳实践.在这篇文章中,我介绍了在保护您的WindowsAzure应用程序时需要考虑的更多事项. 下面是一些工具和编码提示与最佳实践: · 在操作系统上运行 ...
- Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性
多种Windows Azure服务可以帮助您将应用程序安全性扩展到云. 有三种服务可提供多个提供程序之间的身份标识映射.内部部署数据中心间的连接和相互发送消息的应用程序功能(无论应用程序位于何处). ...
- Windows Azure 安全最佳实践 - 第 5 部分:基于Claim 的标识,单点登录
基于Claim的身份标识是处理网站与 Web 服务的身份认证和访问一种简单而强大的方式,无论您是在本地工作还是面向云工作.您可以通过减少自定义实施和使用基于Claim的单一简化标识模型,创建更安全的应 ...
- Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
那么,哪些安全威胁应由WindowsAzure环境缓解?哪些安全威胁必须由开发人员缓解? 开发 Windows Azure 应用程序的最佳安全做法一文说明了对于在 Windows Azure 中运行的 ...
- Windows Azure 安全最佳实践 - 第 3 部分:确定安全框架
构建云应用程序时,安全始终是计划和执行Windows Azure的首要核心因素.第 1 部分提出安全是一项共同责任,Windows Azure为您的应用程序提供超出内部部署应用程序需求的强大安全功能. ...
- Windows Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制
在WindowsAzure安全最佳实践 - 部分:深度解析挑战防御对策中,我介绍了威胁形势以及在您的应用程序中采用深度防御的计划. 在本部分中,我将说明 Windows Azure的安全是一项共同责任 ...
- nodejs 实践:express 最佳实践(七) 改造模块 connect2 解析
nodejs 实践:express 最佳实践(七) 改造模块 connect2 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs 的 ...
- [转]Android开发最佳实践
——欢迎转载,请注明出处 http://blog.csdn.net/asce1885 ,未经本人同意请勿用于商业用途,谢谢—— 原文链接:https://github.com/futurice/and ...
- Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(上)
Windows Azure是微软的云平台,可以提供广泛服务.您可以通过它搭建.部署并管理解决方案,用于实现您可以想象的几乎任何目标.换言之,WindowsAzure是拥有无限可能的世界.无论您是需要运 ...
随机推荐
- POJ 2455 Secret Milking Machine(搜索-二分,网络流-最大流)
Secret Milking Machine Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9658 Accepted: ...
- nginx源代码学习资源(不断更新)
nginx源代码学习是一个痛苦又快乐的过程,以下列出了一些nginx的学习资源. 首先要做的当然是下载一份nginx源代码,能够从nginx官方站点下载一份最新的. 看了nginx源代码,发现这是一份 ...
- asp.net中MVC多语言包的使用
Global.asax.cs文件 protected void Application_AcquireRequestState(object sender, EventArgs e) { if (Ht ...
- 百度SiteApp构建网站APP
现在很多个人网站和企业网站都是传统的Web方式,有没有想过个人/企业网站也能做成APP应用对外宣传呢?专门找人去开发Android和IOS上的APP又太贵,为了赶上移动互联网时髦,我以个人网站试做了一 ...
- CodeForces 189A 166E 【DP ·水】
非常感谢 Potaty 大大的援助使得我最后A出了这两题DP ================================== 189A : 求切分后的ribbon最多的数目,不过要求切分后只能存 ...
- 一个开源Delphi分类组件推荐网页
https://github.com/Fr0sT-Brutal/awesome-delphi
- Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)
DataFrame是Pandas中的一个表结构的数据结构,包括三部分信息,表头(列的名称),表的内容(二维矩阵),索引(每行一个唯一的标记). 一.DataFrame的创建 有多种方式可以创建Data ...
- Mysql 启动失败 报错 1067
Mysql装好后,重启电脑第二次发现服务无法启动.提示如下: ------------------------ MySQL 服务无法启动. 系统出错. 发生系统错误 1067. 进程意外终止. --- ...
- Android PopupWindow显示位置和显示大小
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb3l1YW41MTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- [转]tripwire-文件指纹
原文链接:http://www.ipython.me/centos/tripwire-file-md5.html Tripwire是目前最为著名的unix下文件系统完整性检查的软件工具,这一软件采用的 ...