390 likes | 501 Views
SEC314. 微软 企业集中管理和控制应用程序的安全访问. 课程内容 概要 和安排. 自我介绍 企业应用程序安全访问 的复杂性 及其 演变 微软 企业 内部环境概况和 程序安全管理 的挑战 微软统一平台的战略和 安全访问 的 集中控制 了解 和 剖析 统一平台的 体系 架构 及其 使用的技术 总结. 自我 介绍. 毕业于四川大学 机算机系 ( 1986), 中国人民大学财政信息系 (1989) 和 美国 南卡罗来纳医科大学信息系统系, 博士 (1994)
E N D
SEC314 微软企业集中管理和控制应用程序的安全访问
课程内容概要和安排 • 自我介绍 • 企业应用程序安全访问的复杂性及其演变 • 微软企业内部环境概况和程序安全管理的挑战 • 微软统一平台的战略和安全访问的集中控制 • 了解和剖析统一平台的体系架构及其使用的技术 • 总结
自我介绍 • 毕业于四川大学机算机系(1986),中国人民大学财政信息系(1989)和美国南卡罗来纳医科大学信息系统系,博士(1994) • 先后在贝尔南方电讯公司(BellSouth),美国电话电报公司(AT&T)和 AT&T 移动电话等公司任职高级软件工程师,设计师,软件开发部主管,和企业构架师 • 2006年加入微软任企业构架师。研究,设计和制定企业内部的整体体系架构,系统间集成和企业数据安全性管理的规范和战略
什么是应用程序安全性? • 对于企业来说,程序安全性是为了保护程序所管理的信息,数据和资源, 以避免受到各种威胁和攻击 • 信息泄漏和曝光 • 未经认证和授权的数据更改 • 窃取用户名和密码等等 • 应用程序安全性主要包括: • 用户身份的管理和认证(Authentication) • 用户授权的管理与决策(Authorization) • 安全访问的审计,监督管理和报告(Audit and Regulatory Compliance)
应用程序资源保护的例子 • 企业合同管理应用程序 • 功能保护: 创建,修改,批准, 签名等 • 数据保护: 与政府的合同,与大中小型企业的合同,与大专院校的合同等等 • 其他保护: 金额百万以上的合同,各地区的合同 • 职责分离的要求(Separation of Duty) • 企业财政和财务数据管理应用程序 • 数据存取的安全按照地区结构来管理 • 按照机构内部层次来管理 • 业务分类的财务数据安全管理
应用程序安全性演变(1) • 从单用户独立程序的安全保护…
应用程序安全性演变(2) • 到多用户多身份访问的大规模集成应用程序
安全访问的复杂性增长 • 程序访问起点的角度 • 从公司内网客户端到无线设备上的访问 • 从供应商和合作伙伴的网络到互联网 • 用户身份的角度 • 从单个身份(公司活动目录帐户) • 到多种身份的认证(自己公司,合作公司和个人的帐户) • 保护的资源角度 • 程序本身 • 程序的功能(例如:合同的建立, 批准和签名) • 程序所管理的数据(例如: 定单,合同,财政和人事数据)
企业资源安全性管理持续演变 随作业务发展,安全性控制持续演变 程序和数据的安 全管理 资 源 的 安 全 性 管 理 服务器和文件 主机和网络 规定和手工程序 时 间
视 频 应用程序的安全管理 (ApplicationSecurity) Neil MacDonald and John Weinshenk Research VP of Gartner and CEO of Cenzic http://www.accelacast.com/programs/gartner_583_cenzic/
微软企业内部环境概况 • 要点 • 2300个应用程序 。用户来自各国,包括雇员,临时员工,合作伙伴和客户。使用者达百万以上。 • ≈2300 Line of Business Applications • ≈600K+ PCs and devices • Largest Private Wireless Network • Largest Private Cable & Satellite Network Redmond Dublin Singapore • 3M+ internal e-mail messages per day • 20M+ e-mails from the Internet per day • 97% rejected as spam • 140K+ end users • 98 countries • 550 buildings • 1/3 Internet only Connections • 9.5M+ VPN connections/month • 85K Outlook / IM over the Internet users
应用程序安全性开发的挑战 • 应用程序各自独立设计和开发自己的安全保护方案 • 开发成本高 • 大约10%-15%的项目成本 • 开发的总成本估计每年高达$50 Millions 左右 • 缺乏统一标准和技术 • 管理操作难度性大
视 频 MSIT Security Model & Customer Data Protection Tony Scott, CIO Microsoft Corporation Create New Security ModelProtect Microsoft Customer Data
实施统一安全平台的战略 • 设立专门小组来研究和开发应用程序安全访问的解决方案和平台 • 其他程序与统一平台集成以实现程序数据和资源的集中管理和保护 • 统一平台给微软带来的效益 • 降低程序开发和管理的成本 • 加快项目设计和开发的速度 • 有效监督数据保护法案的执行情况 • 例如 SOX法案和隐私法
统一平台系统构件 • 平台管理工具(Administration Tool) • 平台数据库(Platform Databases) • 身份认证服务层 (Authentication Services) • 访问授权服务层(Authorization Services) • 程序编程接口(APIs)
平台构件: 管理工具 • 功能 • 定义被保护程序的功能,数据 和资源 • 定义程序访问的角色和角色权限 • 分配用户的角色和用户角色的限制 • 制定数据的安全访问政策 • 物理实现 • ASP.net 网页应用程序 • 使用微软WF工作流程技术 • WF=Windows Workflow Foundation
平台构件: 数据库 • 功能: 存储以下数据 • 用户及身份 • 程序的资源,资源属性及安全政策 • 程序的角色,角色权限和用户角色的分配 • 物理实现 • 微软 SQL Server 数据库服务器 • 数据库模型 • 实现和扩充基于角色的访问控制(RBAC)安全模型
RBAC安全模型 • 基于角色的访问控制(RBAC)是一种跨企业的标准模型 • 简单而有效,但功能有限,不能满足业务的需求 • 例如, 王小明(用户) 作为地区销售经理(角色) 可以批准与加拿大政府客户有关的合同(资源的操作), 但所批准的合同金额必需小于一百万 • 标准RBAC模型不能很好地支持以上的要求 角色权限 的分配 用户角色 的分配 用户 (User) 角色 (Role) 资源的操作 角色 (Role) 资源的操作 资源的操作
扩充RBAC安全模型 用户角色的范围限制 (User Role Scope Constraints) 角色权限的 分配和限制 用户 (User) 角色 (Role) 资源的操作 角色 (Role) 资源的操作 资源的操作 用户角色的 分配和限制 角色本身的范围限制 (Role Constraints)
平台构件: 身份认证服务层 • 功能 • 身份验证和身份联盟(Identity Federation) • 收集和整合用户的详细资料和当时的环境属性 (时间,IP 地址等) • 物理实现 • 使用微软的活动目录联合服务器产品 • ADFS v2, code named Geneva Server(Geneva 服务器) • 连接和验证公司的活动目录身份, 个人的Windows Live ID身份 和合作公司的用户身份 • 是一种安全令牌服务(Security Token Services) • 验证完后, 发行 SAML安全令牌 • SAML 是一种跨企业的安全声明标准语言
Geneva 服务器身份认证流程(1) • 企业内部活动目录联合服务器(Geneva)的工作流程 4 5 6 3 1 2
Geneva 服务器身份认证流程(2) • 企业之间活动目录联合服务器(Geneva)的工作流程 企业Y 信赖 企业X 发行的安全令牌
平台构件: 访问授权服务层 • 功能 • 检索和执行制定好的安全政策 • 作出最终授权决定 • 物理实现 • 授权服务引擎(Authorization Services Engine) • 基于微软WCF技术来创建和运行的 Web Service • 使用XACML语言和结构来描述安全政策和执行 • XACML是一个跨企业的安全访问控制的开发标准 • 授权程序编程接口(Platform API)
XACML简介 • XACML=eXtensible Access Control Markup Language • 是由OASIS组织制定的安全访问控制的标准 • OASIS = Organization for the Advancement of Structured Information Standards • 标准语言来描述和表达资源安全访问的政策 • 例如, 王小明只能批准与加拿大政府客户有关的金额小于一百万的合同 • 标准体系架构和流程来执行授权过程
XACML安全政策例子 (1) 安全政策 <PolicyPolicyId="policy:1" RuleCombiningAlgorithm="deny-overrides”> <Target> <Subjects> <AnySubject /> </Subjects> <Resources><Resource> <ResourceMatchMatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> <AttributeValueDataType="http://www.w3.org/2001/XMLSchema#string">*</AttributeValue> <ResourceAttributeDesignatorAttributeId="urn:msit:names:contract:resource:ContractID" DataType="http://www.w3.org/2001/XMLSchema#string" /> </ResourceMatch> </Resource></Resources> <Actions><Action> <ActionMatchMatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> <AttributeValueDataType="http://www.w3.org/2001/XMLSchema#string"> urn:msit:namescontract:action:Approve </AttributeValue> </ActionMatch> </Action></Actions> </Target> … 用户 资源 动作
XACML安全政策例子 (2) 政策规定 … <RuleRuleId="rule:1" Effect=“Grant"> <Condition> <Apply FunctionId=“equal-to"> <SubjectAttributeDesignatorAttributeId=“Role" DataType="integer"/> <AttributeValueDataType=“string">SalesManager</AttributeValue> <AttributeValueDataType=“string">RegionalSalesManager</AttributeValue> </Apply> </Condition> <Condition> <Apply FunctionId=“integer-less-than"> <ResourceAttributeDesignatorAttributeId=“Amount" DataType="integer"/> <AttributeValueDataType=“integer">1000000</AttributeValue> </Apply> </Condition> </Rule> </Policy> 规定条件 规定条件
XACML 授权流程 2 (1) 访问程序资源 (2) 访问请求 平台安全政策执行点 (Policy Enforcement Point) 应用程序 1 (12) 访问答复 12 4 用户 (11) 返回XACML 安全决策 11 (3) XACML 请求 平台安全政策决策点 (Policy Decision Point) (4) 查询有关政策 3 平台中心处理器 (Context Handler) 5 (5) 需要政策参数 9 (9) 返回参数值 (10) 返回安全决策 (6) 检索有 关参数 (8) 返回有 关参数值 6 10 外部数据源 8 平台安全政策信息点 (Policy Information Point) 缓存(Cache) (7) 检索外部 有关参数 缓存(Cache) 7 Identity Attributes Resource Attributes Role Attributes XCAML Secure Policy 平台数据库 RBAC Policy Store Resource Store Identity Store XACML Policy Store
总结 • 微软企业统一集中管理和控制应用程序的安全访问 • 降低应用程序开发成本 • 加快项目设计和开发的速度 • 有效监督各种数据保护法案的执行情况 • 统一安全平台 • 是一个多层整合的体系架构 • 使用多种微软技术和产品(WCF, WF and ADFSv2) • 采用多种工业标准和规范(RBAC,SAML and XACML)
Microsoft Security Portal http://www.microsoft.com/security/ Microsoft Geneva Server http://msdn.microsoft.com/en-us/security/aa570351.aspx Microsoft Identity Lifecycle Management http://www.microsoft.com/windowsserver/ilm2007/default.mspx Microsoft IT Showcase http://technet.microsoft.com/en-us/library/bb687780.aspx Microsoft IT Case Study http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000003876 http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000004389 Non-Microsoft Links http://csrc.nist.gov/groups/SNS/rbac/ http://saml.xml.org/ http://www.oasis-open.org/specs/#xacmlv2.0 http://www.accelacast.com/programs/gartner_583_cenzic/ http://whatis.bitpipe.com/detail/RES/1253214558_775.html 参考资源
专家问答区 (F4)本课程结束后,我将在接下来的70分钟内于4层专家问答区与您交流答疑