Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
那么,哪些安全威胁应由WindowsAzure环境缓解?哪些安全威胁必须由开发人员缓解?
开发 Windows Azure 应用程序的最佳安全做法一文说明了对于在
Windows Azure 中运行的应用程序而言,什么样的威胁应被视为主要威胁。它还专门说明了 Azure
能够缓解的威胁以及您需要调用 API的内容和您需要自己处理的内容。(它未涉及合规性问题。)
您应该处理的内容
我将选择一些威胁和您应该执行的操作,并提供一些参考,以便您可以了解有关如何在代码中进行实现的更多信息。该列表在Windows Azure 安全概述中提供。但是具体结果将取决于您。
这个列表并不全面。正如您从本系列文章的以前部分中了解的那样,您根据您自己的应用程序需求来调整您的安全做法。
篡改威胁
篡改/泄漏凭据或其他敏感应用程序数据。针对 SSL连接,使用
WindowsIdentity Foundation和 HTTPS
相互身份验证。
· 请参见如何管理服务证书,了解有关将证书添加到存储、将证书与服务关联以及更新证书的信息。在这些情况下,我们假设
IT 管理人员和服务开发者是两个不同的人,但是他们也可能是同一个人。
· 请参见Windows
Identity Foundation,帮助开发者简化用户访问,方法是通过claim将用户访问从应用程序外部化,以及使用预先构建好的安全逻辑和集成 .NET工具减少开发工作量。
否认威胁
审计日志收集、存储和分析。根据需要使用监控和诊断 API,将日志通过 HTTPS传输到私有
Blob 存储/表存储。请参见:
· 在 Windows Azure 中控制日志记录和跟踪(来源于
MSDN 杂志)。
· Azure Monitor(可获得用于实时监控
Azure 托管的应用程序的代码)。它包含用于将运行时进程信息捕获到云表存储的库,还包含用于实时查看捕获的信息的桌面应用程序。
· 使用 Windows Azure Diagnostics(大约从该网页页面的三分之一开始)。Windows
Azure 提供集成的功能,用于在部署的环境中进行监控、记录和跟踪,这通常称为诊断。虽然这些功能也可以用于调试目的,但是它们最适合于监控应用程序性能随时间的变化。
信息泄漏威胁
泄漏 Blob/表/队列存储中的任意机密。在上传之前预加密机密数据。不要在
Windows Azure 存储中存储解密密钥。
泄漏共享访问签名。使用 HTTPS将共享访问签名安全地传输给期望的接收方并针对容器设置适当的权限。请参见管理
Blob 和容器的访问权限了解如何使用共享访问签名。
拒绝服务威胁
客户代码/应用程序级别的超大量请求。如有必要,实施应用程序级别请求限制。请参见自动伸缩和
Windows Azure。
权限提升
服务/应用程序设置配置错误。必须将所有 Cookie和
document.domain属性的范围设置为服务子域(例如 http://contoso.cloudapp.net),而不是 *.cloudapp.net
针对 Web role的跨站点请求伪造攻击。使用 ASP.NET防御。请参见利用
ASP.NET 的内置功能抵御 Web 攻击。
针对 Web role的跨站点脚本攻击。使用Anti-XSS
库。
针对 Web role所暴露的接口进行 API模糊攻击。对暴露给
Web(或任何其他服务)的、对于代码唯一的所有接口和端点进行模糊测试
使用安全测试工具,包括模糊测试工具。“模糊”给软件应用程序编程接口
(API) 和网络接口提供结构化但无效的输入,从而最大程度地提高检测可能导致软件漏洞的错误的可能性。
针对应用程序提供的自定义文件解析器进行文件模糊攻击。对所有专有网络协议或文件格式解析器进行模糊测试。
在 Web Role/客户代码级修补安全漏洞。制定安全响应和更新计划。
可以从Microsoft 安全开发生命周期 (SDL)网站获取用于协助进行模糊测试的工具。SDL包括各种免费工具和流程。例如,您可以使用:
· MiniFuzz 基本文件模糊测试工具是一款用于简化模糊测试部署的简单模糊测试工具。
· 正则表达式文件模糊测试工具是一款用于测试潜在拒绝服务漏洞的工具。
SQL Azure
我增加了这一节有关 SQL Azure的内容,因为该平台提供您应该知道的用于缓解威胁的其他方法。
SQL Azure
安全管理。SQL Azure 数据库中的安全管理与
SQL Server 的内部部署实例的安全管理类似。管理数据库级别的安全性基本相同,唯一不同的是可用的参数。由于 SQL Azure数据库可以扩展到一个或多个物理计算机,因此 SQL Azure数据库对服务器级别管理使用不同的策略。
SQL Azure
防火墙。您可以锁定数据库以仅向获得授权的用户或计算机提供访问权限。为了帮助保护您的数据,在您指定哪些计算机具有权限之前,SQL
Azure 防火墙会阻止对您的 SQL Azure服务器的所有访问。防火墙会基于每个请求的起源 IP地址授予访问权限。
资源
下一篇文章
Windows Azure 安全最佳实践 - 第 5 部分:基于Claims的标识,单点登录。用户标识是在您的应用程序中访问数据和业务流程的关键。在这一部分中,我将介绍如何将您的用户标识和用户角色从您的应用程序中分离出来,如何更轻松地创建单一登录应用程序。
以下是本系列中的文章的链接:
· Windows
Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策。
· Windows
Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制。
· Windows
Azure 安全最佳实践 - 第 3 部分:确定安全框架。
· Windows
Azure 安全最佳实践 - 第 5 部分:基于Claims的标识,单点登录。
· Windows
Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性。
· Windows
Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践。
本文翻译自:
Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施的更多相关文章
- Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践
在撰写这一系列文章的过程中,我总结出了很多最佳实践.在这篇文章中,我介绍了在保护您的WindowsAzure应用程序时需要考虑的更多事项. 下面是一些工具和编码提示与最佳实践: · 在操作系统上运行 ...
- Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性
多种Windows Azure服务可以帮助您将应用程序安全性扩展到云. 有三种服务可提供多个提供程序之间的身份标识映射.内部部署数据中心间的连接和相互发送消息的应用程序功能(无论应用程序位于何处). ...
- Windows Azure 安全最佳实践 - 第 5 部分:基于Claim 的标识,单点登录
基于Claim的身份标识是处理网站与 Web 服务的身份认证和访问一种简单而强大的方式,无论您是在本地工作还是面向云工作.您可以通过减少自定义实施和使用基于Claim的单一简化标识模型,创建更安全的应 ...
- Windows Azure 安全最佳实践 - 第 3 部分:确定安全框架
构建云应用程序时,安全始终是计划和执行Windows Azure的首要核心因素.第 1 部分提出安全是一项共同责任,Windows Azure为您的应用程序提供超出内部部署应用程序需求的强大安全功能. ...
- Windows Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制
在WindowsAzure安全最佳实践 - 部分:深度解析挑战防御对策中,我介绍了威胁形势以及在您的应用程序中采用深度防御的计划. 在本部分中,我将说明 Windows Azure的安全是一项共同责任 ...
- Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策
我每次与开发人员讨论将应用程序迁移到云时都围绕着两个主要问题. 1. 首先是业务.将应用程序迁移到云可以带来怎样的规模经济? 2. 其次是安全问题."云的安全性如何,尤其是Windows A ...
- [转]Android开发最佳实践
——欢迎转载,请注明出处 http://blog.csdn.net/asce1885 ,未经本人同意请勿用于商业用途,谢谢—— 原文链接:https://github.com/futurice/and ...
- Windows Azure系列公开课 - 第二课:为什么选择Windows Azure(上)
Windows Azure是微软的云平台,可以提供广泛服务.您可以通过它搭建.部署并管理解决方案,用于实现您可以想象的几乎任何目标.换言之,WindowsAzure是拥有无限可能的世界.无论您是需要运 ...
- (转)iOS 最佳实践
本文转自http://www.jianshu.com/p/b0bf2368fb95 感谢作者和译者 iOS最佳实践 iOS最佳实践 译者注 本文翻译自 futurice 公司的 iOS Good Pr ...
随机推荐
- QT 入门 -QApplication QPushButton QDialog Ui类型的手工使用
QT 1.工具 assistant 帮助文档 qtconfig QT配置工具 qmake QT的make与项目文件智能创建工具 uic UI界面的设计文件的编译工具 mo ...
- Javascript 学习 笔记一
1.操作 HTML 元素 如需从 JavaScript 訪问某个 HTML 元素,您能够使用 document.getElementById(id) 方法. 请使用 &qu ...
- 用AS3清空容器下所有子显示对象
容器中的子显示对象分为两类: 处于显示列表中的子显示对象.被numChildren所记录的. 由容器graphics对象绘制出来的矢量图.这个矢量图不属于Shape类型,不在容器的显示列表中,不被nu ...
- HDU 4891
一道简单的模拟题 需要要匹配{} 和 $$ 符里面的东西即可 //#pragma comment(linker, "/STACK:16777216") //for c++ Comp ...
- BNU 4067 求圆并
好久没写过单组数据的题目了 QAQ 赤裸裸的模板题 #include <cstdio> #include <cstring> #include <iostream> ...
- hdu2243之AC自动机+矩阵乘法
考研路茫茫——单词情结 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 当webview遇到了Slidingmenu,webView出现卡白,解决方案
先介绍一下什么是SlidingMenu: Sliding Menu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.如Evernote.Google+.F ...
- Linux 下IOport编程訪问
曾经写的一篇笔记.偶尔翻出来了,放在这里做个纪念 Linux 下IOport编程訪问 这里记录的方法是在用户态訪问IOport,不涉及驱动程序的编写. 首先要包括头文件 /usr/include/as ...
- Qt 释放新建窗口资源
当Widget *w = new Widget(); 不方便调用 delete w;时 Widget *w = new Widget(); w->setAttribute(Qt::WA_Dele ...
- Vmware Briged方式使虚拟机上网
1.禁用掉在网络连接VMware Network Adapter VMnet1和VMware Network Adapter VMnet8 (在bridged这种方式下不需要这两个连接,如下图) 2. ...