讨论云服务时,安全性是一个关键领域。实际上,Windows Azure 基础结构实施大量的技术和流程来保护环境。此页介绍 Microsoft 的全球基础服务如何运行基础结构以及它们实施的安全措施。

从根本上来说,Windows Azure 必须确保客户数据的机密性、完整性和可用性,就像任何其他应用程序托管平台一样。它还必须提供透明的责任,以允许客户及其代理亲自或由 Microsoft 跟踪对应用程序和基础结构的管理。此部分将根据到目前为止介绍的基本组件和关系,说明 Windows Azure 如何提供信息安全性的这些传统属性。

1. 用于内部控制流量的 SSL 相互身份验证

Windows Azure 内部组件之间的所有通信都通过 SSL 保护。

2. 证书和私钥管理

为了降低向开发人员和管理员公开证书和私钥所带来的风险,证书和私钥都是通过代码使用证书和私钥的机制之外的单独机制进行安装的。证书和私钥通过 SMAPI 或 Windows Azure 门户上传为 PKCS12 (PFX) 文件,上传过程中由 SSL 保护。这些 PKCS12 文件可能受密码保护,如果是这样的话,那么相同消息中还必须包括密码。SMAPI 删除密码保护(如果需要),使用 SMAPI 的公钥对整个 PKCS12 Blob 进行加密,并将其以及一个简短的证书名称(公钥作为元数据)存储到 FC 上的机密存储中。

3. 最低权限客户软件

运行拥有最低权限的应用程序普遍被认为是一种信息安全最佳实践。为了遵循最低权限原则,未为客户授予他们虚拟机的管理访问权限,并且默认情况下,Windows Azure 中的客户软件只能使用低权限的帐户运行(在未来版本中,客户可以自行选择不同的权限模型)。这减少了任何攻击的潜在影响并增加了成功进行攻击的必要难度,即攻击者要想成功,除了利用漏洞外,还需要提升权限。它还防止客户的服务受到其最终用户的攻击。

4. Windows Azure 存储中的访问控制

Windows Azure 存储具有简单的访问控制模型。每个 Windows Azure 订阅可以创建一个或多个存储帐户。每个存储帐户都拥有单个密钥,该密钥用于控制对该存储帐户中所有数据的访问。这支持以下典型情形:存储与应用程序关联,并且这些应用程序对其关联数据具有完全控制权。

5. 虚拟机管理程序、根操作系统和来宾虚拟机的隔离

一个重要边界就是将根虚拟机与来宾虚拟机隔离并将虚拟机管理程序和根操作系统管理的各来宾虚拟机分别隔离的边界。虚拟机管理程序/根操作系统配对机制利用了 Microsoft 数十年的操作系统安全经验以及 Microsoft 近年来在 Hyper-V 方面的技术来提供来宾虚拟机的强大隔离。

6. Fabric Controller 的隔离

有一些重要的控件发挥着中央控制台的作用,很大程度上是 Windows Azure Fabric 的中央控制台,这可以减轻对 Fabric Controller 的威胁,尤其是来自客户应用程序中可能已经受到危害的 FA 的攻击。从 FC 到 FA 的通信是单向的:FA 实施 SSL 保护的服务(从 FC 进行访问),并且仅回复请求。它无法启动至 FC 或其他特许内部节点的连接。FC 具有强大的功能来分析所有响应,就好像这些响应是不受信任的通信一样。

此外,FC 和无法实施 SSL 的设备位于不同的 VLAN 上,这就限制了它们的身份验证接口向托管虚拟机的受危害节点公开。

7. 数据包筛选

虚拟机管理程序和根操作系统提供网络数据包筛选器,这些筛选器可以确保不受信任的虚拟机无法执行以下操作:生成欺骗通信、接收目标并不是它们的通信、将通信指向受保护的基础结构端点、发送或接收不适当的广播通信。

8. VLAN 隔离

VLAN 用于隔离 FC 和其他设备。VLAN 对网络进行分区,以使在不经过路由器传递的情况下,VLAN 之间无法进行通信,这样可以防止受危害节点伪造从其 VLAN 外部到其 VLAN 上的其他节点的通信,并且它还无法窃听并非指向或来自其 VLAN 的通信。

9. 客户访问隔离

管理对客户环境(Windows Azure 门户、SMAPI 等)的访问的系统在 Microsoft 运行的 Windows Azure 应用程序中被隔离。这从逻辑上将客户访问基础结构与客户应用程序和存储隔离开来。

10. 删除数据

在适用情况下,在数据的有用生命周期过后应当继续对数据保密。一旦调用删除操作,Windows Azure 的存储子系统即会使客户数据变为不可用。所有存储操作(包括删除)都能够即刻保持一致。成功执行删除操作会删除对关联数据项的所有引用,并且通过存储 API 也无法访问该关联数据项。已删除数据项的所有副本随后被作为垃圾回收。当重复使用关联存储块存储其他数据时,就会覆盖物理位,这是标准计算机硬盘存在的典型情况。

关于 Azure 安全性的 10 点提示的更多相关文章

  1. Windows Azure HandBook (3) 浅谈Azure安全性

    <Windows Azure Platform 系列文章目录> 2015年3月5日-6日,参加了上海的Azure University活动.作为桌长与微软合作伙伴交流了Azure相关的技术 ...

  2. Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 我们在创建完Windows Azure Virtual Machi ...

  3. [New Portal]Windows Azure Virtual Machine (10) 自定义Windows Azure Virtual Machine模板

    <Windows Azure Platform 系列文章目录> 通过之前的文章,我相信大家对微软Windows Azure Virtual Machine有一定的了解了. 虽然微软提供了非 ...

  4. 增进离岸Java开发效率的10个提示

    本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/10-tips-offshore-java-effective Cygn ...

  5. Windows Azure Web Site (10) Web Site测试环境

    <Windows Azure Platform 系列文章目录> 我们知道,在使用Azure Cloud Service的时候,会有2个不同的环境,称为Production环境和Stagin ...

  6. Windows Azure Cloud Service (10) Role的生命周期

    <Windows Azure Platform 系列文章目录> 在上一章内容中,我们提到了Windows Azure会依次调用角色(Role)实例的OnStart()方法和Run()方法. ...

  7. 使用 FireMonkey 构建优秀专业 Android 应用的10点提示

    原文链接:http://www.firemonkeyx.com/ten-tips-for-building-stunning-professional-android-apps-with-firemo ...

  8. 打开Delphi 10.2提示脚本错误的解决方法

    HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\18.0\Known IDE Packages $(BDS)\Bin\CommunityToolbar240.bp ...

  9. Windows Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制

    在WindowsAzure安全最佳实践 - 部分:深度解析挑战防御对策中,我介绍了威胁形势以及在您的应用程序中采用深度防御的计划. 在本部分中,我将说明 Windows Azure的安全是一项共同责任 ...

随机推荐

  1. windows调试本地启动的tomcat

    我们一般都通过Eclipse进行tomcat的本地调试,但有些特殊情况下需要直接本地启动tomcat(进入tomcat的bin目录下执行startup.bat),此时我们可以利用类似远程调试模式的方式 ...

  2. eclipse配置项目部署到到本地tomcat

    一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...

  3. MATLAB01

    在命令行窗口输入edit就会进入代码编写区,编写完毕点击运行后会先进行保存,然后再执行代码,保存时候一定要以英文开头. 数组 创建矩阵: 函数名 描述 zero(m,n) 创建m行n列全零矩阵 one ...

  4. java代码====实现按钮点击改变颜色=======

    总结: package com.a.b; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event ...

  5. java代码实现点击鼠标从控制台输出信息

    总结:最难的就是当我们需要点击按钮时去实现某个功能-----------因为那个我没有理解透,是涉及整个程序的 package com.a.b; import javax.swing.*; impor ...

  6. juc线程池原理(二):ThreadPoolExecutor的成员变量介绍

    概要 线程池的实现类是ThreadPoolExecutor类.本章,我们通过分析ThreadPoolExecutor类,来了解线程池的原理. ThreadPoolExecutor数据结构 Thread ...

  7. AngularJS:表达式

    ylbtech-AngularJS:表达式 1.返回顶部 1. AngularJS 表达式 AngularJS 使用 表达式 把数据绑定到 HTML. AngularJS 表达式 AngularJS ...

  8. mysql特性及部署规范

    --分支版本,mysql对cpu,内存,io子系统资源利用特点--oracle mysql,mariadb,percona server--部署规范建议,系统安装,mysql安装,其他规范互联网业务为 ...

  9. springboot成神之——basic auth和JWT验证结合

    本文介绍basic auth和JWT验证结合 目录结构 依赖 config配置文件WebSecurityConfig filter过滤器JWTLoginFilter filter过滤器JWTAuthe ...

  10. 5.solr学习速成之语法

    常用查询参数 q - 查询字符串,必须的.   fl - 指定返回那些字段内容,用逗号或空格分隔多个.  start - 返回第一条记录在完整找到结果中的偏移位置,0开始.   rows - 指定返回 ...