关于 Azure 安全性的 10 点提示
讨论云服务时,安全性是一个关键领域。实际上,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 点提示的更多相关文章
- Windows Azure HandBook (3) 浅谈Azure安全性
<Windows Azure Platform 系列文章目录> 2015年3月5日-6日,参加了上海的Azure University活动.作为桌长与微软合作伙伴交流了Azure相关的技术 ...
- Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 我们在创建完Windows Azure Virtual Machi ...
- [New Portal]Windows Azure Virtual Machine (10) 自定义Windows Azure Virtual Machine模板
<Windows Azure Platform 系列文章目录> 通过之前的文章,我相信大家对微软Windows Azure Virtual Machine有一定的了解了. 虽然微软提供了非 ...
- 增进离岸Java开发效率的10个提示
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/10-tips-offshore-java-effective Cygn ...
- Windows Azure Web Site (10) Web Site测试环境
<Windows Azure Platform 系列文章目录> 我们知道,在使用Azure Cloud Service的时候,会有2个不同的环境,称为Production环境和Stagin ...
- Windows Azure Cloud Service (10) Role的生命周期
<Windows Azure Platform 系列文章目录> 在上一章内容中,我们提到了Windows Azure会依次调用角色(Role)实例的OnStart()方法和Run()方法. ...
- 使用 FireMonkey 构建优秀专业 Android 应用的10点提示
原文链接:http://www.firemonkeyx.com/ten-tips-for-building-stunning-professional-android-apps-with-firemo ...
- 打开Delphi 10.2提示脚本错误的解决方法
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\18.0\Known IDE Packages $(BDS)\Bin\CommunityToolbar240.bp ...
- Windows Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制
在WindowsAzure安全最佳实践 - 部分:深度解析挑战防御对策中,我介绍了威胁形势以及在您的应用程序中采用深度防御的计划. 在本部分中,我将说明 Windows Azure的安全是一项共同责任 ...
随机推荐
- (转)在二元树中找出和为某一值的所有路径,java版本
摘自:http://www.cnblogs.com/qi09/archive/2011/05/24/2055643.html 4.在二元树中找出和为某一值的所有路径 题目:输入一个整数和一棵二元树. ...
- zabbix 执行自定义key脚本超时
报错如下: [root@master scripts]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k web.site.code[www.baid ...
- ubuntu下安装ros出现“无法下载-package.ros.org中某个包-校验和不符”的解决方法
新安装的Ubuntu14.04,为了科研马上准备装ros indigo,却困难重重,一步一个坎. 比如说按照ros wiki里面一步一步来,当运行sudoapt-get update 然后出现下列情况 ...
- CAN总线过载帧
过载帧 过载帧与主动错误帧具有相同的格式.但是,过载帧只能在帧间间隔产生,因此可通过这种方式区分过载帧和错误帧(错误帧是在帧传输时发出的).过载帧由两个字段组成,即过载标志和随后的过载定界符.过载标志 ...
- Vue.js:计算属性
ylbtech-Vue.js:计算属性 1.返回顶部 1. Vue.js 计算属性 计算属性关键词: computed. 计算属性在处理一些复杂逻辑时是很有用的. 可以看下以下反转字符串的例子: 实例 ...
- python开发函数进阶:命名空间,作用域,函数的本质,闭包,作用域方法(globales)
一,命名空间 #局部命名空间#全局命名空间#内置命名空间 #三者的顺序#加载顺序 内置命名空间(程序运行前加载)->全局命名空间(程序运行中:从上到下加载)->局部命名空间(程 ...
- Invalid byte tag in constant pool: 19
环境: windows 2008 server R2 ; tomcat 8.5.3 ; jdk-1.8.0_91 故障截图: 报的就是 Invalid byte tag in constant ...
- Deep Learning 学习笔记(8):自编码器( Autoencoders )
之前的笔记,算不上是 Deep Learning, 只是为理解Deep Learning 而需要学习的基础知识, 从下面开始,我会把我学习UFDL的笔记写出来 #主要是给自己用的,所以其他人不一定看得 ...
- nginx反向代理负载均衡初次配置
反向代理,我个人理解是通过一台反向代理服务器,把客户端的把有请求按照一定的规则分发给后台的服务器.nginx作反向代理服务器的虚拟机配置如下: upstream itest { #正常情况下应该作如下 ...
- JAVA的ByteArrayOutputStream
为什么要使用ByteArrayOutputStream? 我的看法是,有时InputStream里面的内容很大,不能一次读完,需要一个中转站来储存里面的数据,而不是需要一次数据就又打开InputStr ...