ASP 的安全管理
Microsoft 企业服务白皮书
发布日期:2000 年 9 月 1.0 版
摘要
本白皮书系有关 Microsoft© 企业服务 (ES) 框架的系列文章之一。要了解该系列出版物的完整清单,请访问 ES Web 站点:http://www.microsoft.com/enterpriseservices/。
该白皮书介绍应用程序服务提供方 (ASP) 环境中安全管理的功能和关键问题。凡是阅读本白皮书的人,均应首先阅读“Microsoft Operations Framework Executive Overview”白皮书,其中包含有关该主题的重要背景信息。
引言
摘要
本白皮书论述并举实例说明了 ASP 安全管理的最佳做法。其中着重阐述了应用程序服务提供方 (ASP) 面对的常见问题。其中包含了有关 Microsoft® Windows® 2000、Microsoft Internet Information Server 5.0、Microsoft Exchange 2000 Server 和 Microsoft SQL Server™ 7.0 方面的信息,但其中所论述的方法并不仅限于这些产品。
安全管理集中解决信息或信息处理的安全性。对于信息技术来说,信息是其存在的核心。任何威胁信息或信息处理的事情都会直接危及 ASP 的表现。不论那些威胁是否涉及机密性、完整性或信息的及时性、处理功能的可用性或机密性,安全都必须考虑那些形成风险的威胁。
读者对象
本白皮书针对两类读者。其目的是为安全管理员以及技术人员提供有效的帮助。本白皮书的开始部分以非技术方式定义安全管理。而其它部分则技术性非常强,专门针对 ASP 的开发人员及技术人员。尽管本白皮书面向两种不同的读者,但整个文档对双方都是很有价值的。
Microsoft 操作框架和企业服务
Microsoft 操作框架 (MOF) 是最佳做法、原则和模式的集合。它为在 Microsoft 产品和技术上实现任务关键型产品系统的可靠性、可用性、支持性和管理性提供了全面的技术指导。
MOF 是组成企业服务框架的三个框架之一。每个 ES 框架都针对信息技术 (IT) 生命周期中的一个不同而必不可少的阶段。每个框架对各自领域内成功执行所需要的人员、过程和技术,提供了有益和详细的信息。其它两个 ES 框架为 Microsoft 准备工作框架 (MRF) 和 Microsoft 解决方案框架 (MSF)。下图描述了各个框架如何用于企业服务。
企业服务框架
“Microsoft 准备工作框架”协助 IT 组织做好使用 Microsoft 产品和技术的个人和集体的准备工作。该指南包括评估和准备工作计划工具、学习指导图、与准备工作相关的白皮书、自我调节进度的培训、课程、认证考试和准备工作事件。
Microsoft 解决方案框架为项目生命周期的计划、创建和部署阶段提供指南。指南涉及企业结构、应用程序开发、组件设计和基本结构部署等各方面,其形式有:白皮书、部署指南、加速解决方案、解决方案工具包、案例分析以及课件。
Microsoft 操作框架包括一系列全面的操作指南,其形式包括白皮书、操作指南、评估工具、操作工具包、最佳做法、案例研究,以及在当今复杂的分布式 IT 环境中为有效的管理系统进行人员、进程和技术安排的支持工具。
Microsoft 操作框架概述
为企业对消费者 (B2C) Web 站点提供高层次的可用性和可靠性不仅需要良好的技术,还需要完善的操作进程。Microsoft 在行业经验和最佳做法基础之上,创建了建立和运行这些进程所需的知识库。本文档是封装在 MOF 中的知识库的一部分。该框架基于两个重要的概念:服务解决方案和 IT 服务管理。
服务解决方案
服务解决方案指 IT 为其客户提供的能力或业务功能。服务解决方案的示例如下:
- 应用程序托管
- 电子商务
- 消息传递
- 知识管理
基于当前应用程序托管和外购的趋势,MOF 非常支持“将软件作为一种服务解决方案来提供”。
IT 服务管理
IT 服务管理由客户维护特定服务解决方案所需的功能组成。IT 服务管理功能的示例包括:
- 帮助台
- 问题管理
- 应急规划
MOF 支持使用有明确定义的服务管理功能,以协助 IT 操作提供以业务为中心的服务解决方案。这些服务管理功能提供一致的策略、步骤、标准和最佳做法,可在当今 IT 环境中所知的全套服务解决方案上应用。
MOF 过程模型(如下所示)显示了服务管理功能可适用的方面。
marginwidth="1" marginheight="0" src="images/ASPSEC02.GIF" frameborder="0" width="95%" height="305">
如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
MOF 过程模型
在 MOF 模型的所有层面中都嵌入了安全管理。每个层面必须遵守设立的安全策略,包括 ASP 内部安全策略以及在 SLA 中与客户约定的安全策略。对于每个层面,安全性必须涉及:
- 机密性
- 完整性
- 可用性
安全性的维护对 ASP 而言是一笔巨大的开销,但是若没有好的安全性,将会付出更大的代价,因为这样将使客户失去信心。安全管理的目的是确保业务的连续性以及将破坏 ASP 安全的损害减至最小。
有关 Microsoft 操作框架过程模型的详细信息,请参见 http://www.microsoft.com/enterpriseservices/MOF.htm 。
MOF 和 ITIL
MOF 认识到,英国中央计算机与电信局 (Central Computer and Telecommunications Agency, CCTA) 的 IT Infrastructure Library (ITIL) 中已很好地记录了 IT 服务管理的当前行业最佳做法。
CCTA 是英国政府的一个行政部门,它针对服务管理和操作中信息技术的应用,开发和制订最佳做法建议及指导方针。为实现此目标,CCTA 在全球范围内追踪领先的 IT 公司的项目,以记录和验证 IT 服务管理方面的最佳做法。
MOF 将这些合作行业标准与运行在 Microsoft 平台上的具体指导方针相结合,运用到多种商业方案中。MOF 扩展了 ITIL 操作规程,使其能支持分布式 IT 环境和当前行业方向,如应用程序托管、移动设备计算和基于 Web 的事务性和电子商务系统。
ASP 安全管理概述
目标
安全管理的目标是在 ASP 的解决方案上管理一定级别的安全性,包括管理对安全事件的反应。通过这样做,安全管理可确保连续性并保护 ASP 及其客户的信息,还可帮助将破坏 ASP 安全的损害减至最小。
安全管理为什么对 ASP 非常重要?
提供客户解决方案是 ASP 最重要的目标。没有它,ASP 就无事可做。对 ASP 来说,安全地与客户共享信息以及创建安全的解决方案是至关重要的。
传递和接收信息是 ASP 存在的关键。任何威胁信息或信息处理的事情都将直接危及 ASP。无论是涉及信息的机密性、正确性、适时性,还是涉及解决方案的可用性,那些会形成风险的威胁都必须通过安全措施来预防。这里所谈到的是 ASP 结构方面的问题。这意味着结构上的风险需要有结构上的对策来解决。
安全管理可帮助 ASP 确定和实施针对安全风险的对策。
选择 ASP 的客户越来越希望确信所选的 ASP 可以确保其解决方案的安全。Gartner Group 的 J.Pecatore(DF-10-0972,2000 年 2 月)已经明确提出了一些客户可能向其 ASP 解决方案提供商询问的问题。示例如下:
- “ASP 是否为防火墙及其它关键的安全因素提供冗余和负载平衡服务?”
- “ASP 至少按季度进行(或让有经验的咨询公司来进行)外部渗透测试并且至少每年进行一次内部网络安全性审核吗?”
- “ASP 可否出示对客户网络安全的书面要求(以及 ASP 审核步骤),以确保其它的 ASP 客户不会危及 ASP 主干的安全?”
- “ASP 能提供巩固 Web 和其它服务器的操作系统的书面策略吗?如果 ASP 在物理服务器上配置客户应用程序,它是否有书面记录的控制步骤,用来确保客户应用程序之间数据和安全信息的分离?”
- “ASP 如何检查添加到它所提供的商业应用程序中的脚本和集成代码的安全性?”
- “ASP 是否提供基于应用程序或事务的入侵检测服务?”
- “ASP 是否对可以管理员身份访问服务器和应用程序的人员进行背景检查?”
- “ASP 是否可以出示书面记录的流程,用于评估 OS 和应用程序供应商安全警报并安装安全修补程序和服务包?”
- “ASP 是否可以出示书面记录的进行入侵检测、事件响应和事件升级/调查的步骤?”
- “ASP 是‘事件响应和安全小组论坛’的成员吗?或它使用的安全服务提供商是该论坛的成员吗?”
- “ASP 安全管理的员工是否在信息/网络安全方面有平均三年以上的经验?”
对以上问题的肯定回答非常重要。能够这么做的 ASP 将具有竞争优势。
有关本章主题的详细信息,请参见 http://www.itil.co.uk/ 中 ITIL Library Security Management 部分或 ITIL Security Management 一书 (ISBN 0 11 330014 X)。
有关 Gartner Group 论文的详细信息可在 Critical Security Questions to an ASP(DF-10-0972,J.Pecatore,Gartner Group,2000 年 2 月)中找到。
ASP 执行安全管理的时间
安全管理应是任何 ASP 永远关注的问题。每当解决方案或环境变化时,ASP 应该花时间检查一下所采用的安全措施。根据客户要求,针对特定客户解决方案的对策可能需要有所改变。应该始终考虑人员培训和安全措施的测试。因为在出现攻击时,就没有时间再来仔细考虑。
ASP 安全管理的基本概念
安全管理是根据对信息和 ASP 解决方案安全策略中的设定来管理已定义的安全级别的过程。其中包括管理对违反安全行为的反应。可以控制攻击而不用担心 ASP 以及 ASP 客户业务的持续性,能够这样来对付恶意方的攻击可真是一门艺术。
安全管理在很大程度上依赖于安全策略。这些策略可从不同来源中产生。设计安全性时要考虑的策略有:
- 服务级别协议中定义的外部客户需求
- 关于安全的外部法律要求
- 外部供应商安全策略
- 内部 ASP 安全策略
- 在 ASP 和客户环境的集成情况下,内部/外部的安全策略
对于每个解决方案,ASP 必须定义安全策略。该策略应是基于上述各个方面的最可靠的组合。
根据客户的需求,即使是基本结构的设计也会很不相同。通常使用三种安全设计:
- 专用。ASP 解决方案和安全措施完全由 ASP 进行端对端的控制。通常,这意味着 ASP 对所有的基本结构组件具有完全的控制,包括 ASP 和客户之间的专用网络连接。
- 公用。ASP 解决方案和安全措施由 ASP 部分控制。通常,这意味着 ASP 在自己的站点内具有控制权,但是不保证对用来提供解决方案的公用网络具有控制权。然而,ASP 可使用像“虚拟专用网络”(VPN) 这样的技术来进行 ASP 和客户安全之间的连接。
- 混合。该解决方案是前面两种的组合。“专用”和“公用”解决方案都使用。在确保安全的解决方案时,同时涉及到 ASP 和客户。
该过程有五个层面需要遵照 MOF 模型进行改进:
- 规划。规划活动包括在客户要求、内部和外部策略以及合法要求的基础上建立 SLA 安全部分的方式。在与客户进行对话的同时,可能有必要确定或调整内部安全策略。当然要由 ASP 来决定是否这样做。此层面的结果是产生一个安全规划,其中包括安全策略和所有方面的设计(基本结构、人员、步骤、环境、基础合同等等)。
- 实施。实施层面执行所有必要的安全措施,以遵守 SLA 中已经定义的安全部分。必要时,此阶段还将实施更改过的内部安全策略。
- 评估。评估是结束安全管理过程所必不可少的。它涉及所采用措施和所确定策略的状态和有效性。
- 维护。安全措施的维护建立在以下方面的基础上:定期检查的结果、对变化的风险状况的洞察,以及 SLA 或其它条件的更改。
- 控制。控制活动可组织并指导安全管理过程本身。控制活动定义子进程、功能、角色、责任分配、组织结构和报告结构。它是过程的引擎并确保进行持续的改进。
安全管理过程必须不断地进行自身改进。新解决方案、新技术、新人员、新步骤、疏忽都可能导致攻击者攻破所安装的安全解决方案。
下图将安全性过程表示为一个根据策略和协议不断改进的过程。
marginwidth="1" marginheight="0" src="images/ASPSEC03.GIF" frameborder="0" width="95%" height="423">
如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
有关本章中论及的所有主题的详细信息,请参见 ITIL Library 的“Security Management”部分: http://www.itil.co.uk/ 或 ITIL Security Management 一书 (ISBN 0 11 330014 X)。
与其它 MOF 层面的关系
安全管理功能与涉及安全问题的其它 MOF 层面关系密切。这些问题包括数据的机密性、完整性和可用性,以及硬件和软件组件、文档和步骤的安全性。主要的联系描述如下。
MOF 优化阶段
- 可用性管理。安全问题会导致不可用。因此安全性和可用性管理有着同样的目标并且彼此互相补充。
- 容量管理。容量管理过程中的所有活动实际上都和安全管理有关。资源性能的变化可能是违反安全的迹象。新资源的添加必须始终遵守安全管理所设定的策略。容量管理中必须计划由于附加的或不同的容量需要而造成的额外安全开支。
- 应急规划。严重的安全破坏可能是应急状况的起因。应急规划过程与安全管理有着密切的关系,它应当确保在这些情况下可以安全地恢复解决方案。应急规划必须考虑到安全事件可能导致应急情况的发生。
MOF 更改阶段
- 配置管理。配置项目 (CI) 的分类必须包含安全信息。对于每个 CI,进行分类必须考虑到 CI 所要求的机密性、完整性和可用性的级别。
- 更改管理。控制和管理所有与 CI 有关的更改。必须定义安全标准,并且使安全标准可供更改管理过程使用,以确保任何新情况都能遵守设定的安全策略。
- 版本管理。控制软件版本管理和软件分发。对于软件的测试和接受阶段,安全含义必须清楚。
MOF 操作阶段
- 监视/测量。监视对安全的破坏是避免这些破坏造成损失的关键。应该特别注意必须监视什么样的事件。
- 系统、网络和安全管理。确保以安全的方式执行管理活动可防止出现安全漏洞。应当特别注意安全管理本身,因为它正是攻击者所要寻找的信息。
MOF 支持阶段
- 帮助台和故障转移及恢复(事件管理)。安全事件的主要联系点。安全事件需按照 SLA 安全要求来定义,因此它们可在事件管理过程中识别出来。
- 问题管理。必须识别、诊断和解决与安全相关的问题。
MOF 基本概念
- 服务级别管理。安全管理支持服务级别管理,以确保在安全方面满足客户需要(按照 SLA)。
分析 ASP 安全风险
安全管理目的是保证信息的安全。更具体地说,就是必须保护信息的价值。价值通过以下方面确定:
- 机密性。保护敏感信息不被非授权地公开或侦听。
- 完整性。保护信息和软件的准确性和完整性。
- 可用性。确保信息和 ASP 解决方案在需要的时候可用。
保护信息的价值要花钱,不保护也要花钱。若要确定保护的级别,则需要明确安全措施。因此,有效的安全管理取决于准确的风险分析,这样可了解风险的影响以及避免风险所需的成本。风险在生活中是必然存在的,但只能允许存在可管理的风险。安全管理与某些活动相关,通过这些活动将风险保持在可管理的水平。
marginwidth="1" marginheight="0" src="images/ASPSEC04.GIF" frameborder="0" width="95%" height="200">
如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
顶部代表资产 — 如果 ASP 的资产很容易受到攻击并且安全破坏的威胁很大并且影响严重,则安全的风险就很高。这样,管理 ASP 风险的对策就可以采用保护资产的方法。
至少,应当进行下列风险评估活动:
确定安全风险,如对于支持 ASP 传递过程的特定 IT 服务组件(资产)的安全风险。典型的风险包括:
将安全威胁以及易受攻击性级别分类 — 评估每个确定出的威胁。根据所涉及的资产,可在机密性、完整性和可用性的基础上得出安全分类,此分类与确定的威胁有关。分类系统必须始终按照客户组织的需要来具体制定。这些分类的示例如下:
机密性
完整性
可用性
- 关键 — 仅除了使命关键的操作(例如应急情况)以外
- 重要 — 在运营时间内几乎不停机(高可用性)
- 必要 — 可以接受偶然的停机
- 非必要 — 无需保证(免费的 Internet 访问)
- 关键 — 客户和 ASP 商务流程要求无错误的信息(例如 ATM 和其它的银行解决方案)
- 重要 — 可以允许很少数量的可检测到的错误
- 必要 — ASP 和客户商务流程允许一些错误
- 非必要 — 不需要额外的完整性保护
- 关键 — 如果被非授权方访问,将严重损害 ASP 企业的利益(例如策略信息)。
- 重要 — 数据只能由直接涉及者访问(帐户信息、医疗记录)
- 必要 — 数据只能由特定组查看
- 非必要 — 信息可以发布
- 破坏客户或用户的隐私(如信用卡信息、个人配置文件、购物活动、帐户数据)
- 破坏匿名(关于匿名信息源的信息,如密码)
- 破坏可验证性(例如不能验证正在使用的数据是否安全)
- 客户或内部数据的损失或数据完整性的损失
- 病毒(例如 Melissa 和 I Love You 病毒)
- 物理破坏(例如设备的偷盗以及设施的故意损坏)
评估安全风险的级别,这样就能了解整体风险的大小。此项任务可以通过收集定量数据来进行测定,也可以通过主观评估来进行定性测定,例如,低、中、高。
在风险的测量中可以借助许多工具和方法。其中一种就是“CCTA 风险分析和管理方法”(CRAMM)。CRAMM 是一个结构化的、一致的方法,用于确定和评估信息系统和网络的风险。它包括技术方面和非技术方面的方案(例如,IT 安全的物理方面),并提供分阶段和严格的方法以执行正确安排的审核。CRAMM 可以使用一些软件工具。
有关详细信息,请参见: http://www.crammusergroup.org.uk/ 。
在风险分析之后,可以确定适当的对策或风险降低措施来管理安全风险,即,使风险降低到可接受的最低级别或减轻风险的危害。
有关本章论及的所有主题的详细信息,请参见 http://www.itil.co.uk/ ITIL Library “Availability and Security Management”部分、ITIL Availability Management 一书 (ISBN 0 11 330551 6) 以及 ITIL Security Management 一书 (ISBN 0 11 330014 X)。
ASP 的安全对策
对 ASP 来说,安全对策可以降低或消除与提供客户解决方案相关的安全风险。下面是 ASP 的一些好的起点:
- 有一个明确的可积极投入使用和受到监视的安全策略
- 有一个安全组织,具有明确的责任和任务、指导方针、报告程序和措施,且这些能够符合 ASP 及其客户的要求
- 有物理上的安全措施,比如具有单独的计算机房
- 有技术上的安全措施,可提供 ASP 的计算机系统和网络的安全
- 有程序化的安全措施,描述 ASP 员工在特定情况下应当如何去做
在“最佳做法”一章中,更多地讨论了技术方面的对策。
ASP 的安全策略
ASP 为什么需要安全策略?
在 ASP 的安全管理过程中,必须有一个通道来及时地传递任何一个给定点的现有状态。安全策略充当了这一角色。它们是对 ASP 一贯使用的当前安全要求和指导方针以及步骤的书面表示。一致的策略将使 ASP 内部清楚在安全方面必须做什么。如果 ASP 要看到在安全状态上的迅速改进,则建立安全策略是评估之后的逻辑步骤,并且应当启动而作为安全规划的一个辅助因素。
当安全管理的规划展开时,环境中的特定因素将会改变。出现变化时,策略将被检查并修改,以确保它们传递的是保护 ASP 环境的当前规划。在六到十二个月之间必须至少对安全策略检查一次,当然每当由于各种原因需要对策略进行更改时也要如此。因此,安全策略是一项持续进行的工作。
开发 ASP 安全策略的步骤
下列步骤是定义安全策略中的基本步骤。
了解安全策略由什么组成。
理解安全策略必须要遵守什么要求。
理解应如何考虑安全策略;确定要保护什么。
确定安全策略指导方针。
开发一个双级别的策略
- 安全策略必须以 ASP 客户的实际条件为基础;它应当明确、一致、简洁和易于理解。
- 提供定期检查和检验
-
- 高级别策略
从客户的角度编写
保持简单
避免技术术语并包含对它的解释
- 低级别策略
为实施者而编写
有关如何执行的详细技术说明
包括筛选规则等
- 高级别策略
- 计算机资源
- 关键系统
- 敏感系统
- 客户和公司数据
- 关键数据
- 敏感数据
- 公用数据
- 在“服务级别协议”中定义的外部客户要求
- 涉及安全性的外部法律要求
- 外部供应商安全策略
- 内部 ASP 安全策略
- 在 ASP 和客户环境的集成情况下,内部/外部的安全策略
- 安全策略定义 ASP 如何管理、保护和分配敏感的信息和资源
- 在连接到 Internet 之前,任何 ASP 都应当开发出一个策略,其中要明确地指定将使用的解决方案以及如何使用这些解决方案
- 该策略应当明确、简洁并易于理解,同时有更改策略的内置机制(灵活性)
- 默认策略:除非明确允许,否则不使用它
ASP 服务的管理
客户关系管理
客户关系管理的内容是发展及培养客户和 ASP 之间良好的职业工作关系。客户关系管理人员必须介入 MOF 的所有其它层面。例如,客户关系管理人员在 SLA 协商期间促进 ASP 与客户之间的互动,并参与解决客户对所提供服务的不满。如果客户关系管理人员提供给客户的解决方案确实安全,那么这对客户关系管理人员而言就是一个卖点。
与客户的沟通是 CRM 进行安全管理的的主要方面。
服务管理
在安全管理过程中采取的所有操作都取决于“服务级别协议”中协商一致的服务级别。“服务等级管理”确保指定并实现有关提供给客户的服务方面的协议。目的是创建最优的 IT 服务,使得客户对 IT 服务的期望和要求都能得到满足,并且能为 ASP 和客户双方调整相关的成本。
因此 SLA 还必须包括一段内容,规定有关要采取的安全措施的协议(参见附录中有关安全部分的框架)。从安全的角度来看,对于“服务等级管理”,需要检查某些活动。
- 对客户的安全要求和期望的认定。
- 对客户的这些安全要求和期望的可行性验证。
- 对建议和 IT 服务所需安全级别记录的协商。
- 确定、起草和建立 IT 服务的安全标准。
- 监视这些安全标准。
- 报告所提供服务在安全方面的有效性和状态。
- 获得安全方面的反馈和评估。
有关 CRM 和“服务管理”之间关系方面的详细信息,请参见 ITIL Library: http://www.itil.co.uk/
更改管理
管理更改是维护系统正常运行和完整性的重要方面。更改控制过程提供了批准更改并对请求的更改进行全面考虑的机会。这种分析可实现安全风险的评估。
已定义的更改和目的
对于所要进行的工作或要实现的更改,应当完成其成文的定义。这应包括更改的目的、更改将产生的结果以及预计对其它系统产生的影响。安全过程将通过该定义来确定安全的效果。
风险评估
对于将要进行的更改,需要完成有关的风险评估。此安全风险评估的范围可以从无风险到高风险。作为风险评估的一部分,安全风险也需要进行评估,并需确定其对 ASP 业务的影响。
批准过程
安全管理员负责批准更改的安全考虑事项。没有他的批准,更改将被拒绝(除非定义了可以满足应急条件的附加安全对策)。
验证更改的步骤
需要用有关步骤的信息来验证进行的更改是否具有所需的安全性。实施更改后,应当执行该步骤,并根据预先定义的结果采取措施。
安全事件管理
“安全事件管理”是常规“事件管理”的一个特殊部分。最重要的是 ASP 有一个安全事件的主要联系位置。这意味着必须要有一个位置,所有的安全事件都在该位置注册,而且所有的 ASP 雇员和客户(在必要情况下)都必须知道此位置,这样他们可在该位置处理安全事件。必须要有一个针对安全事件的步骤,使人明白当宣称出现安全事件出现时究竟发生了什么情况。
事件控制员必须有一个任务报告脚本,其中描述安全事件问题。依照此任务报告脚本,事件控制员将得出结论:这是安全事件、不是安全事件或者他不能断定该事件。在肯定或不能断定安全事件的情况下,必须执行安全事件进程和步骤。涉及安全事件时,不要冒险。对安全事件进程和步骤的说明需要安全管理和事件管理的共同努力。
发现事件后需要采取的步骤为:
- 注册;需要对基本的事件细节进行注册,并根据需要向专家组发出警报。
- 分类和初始支持;有必要获得来自最新的“配置管理数据库”(CMDB) 的信息,以确定正在发生的是何种类型的安全事件。还将执行对上次事件信息的检查。
- 调查和诊断;如果较早的检查没有提供所需的信息,则开始对更新后的安全事件细节和配置细节进行更严格的调查,以确定这是什么类型的安全事件。开始诊断,并且必须制定出明确的解决方案。
- 解决和恢复;此时必须要有一个解决方案。当解决安全事件需要进行任何更改时,“更改过程”必须对更改请求作出紧急响应。
- 事件结束;此时初始事件已经得到解决。有关该事件的信息已经正确地记录下来,以备在该安全事件可能再次出现时使用。
此“安全事件管理过程”中涉及的人员(突发事件管理员、安全管理员、事件控制员、支持人员)必须都明白出现安全事件时需要如何去做。他们还必须意识到可用于解决安全事件的时限。在 ASP 和客户规定的 SLA 中有这些时限(服务级别)的说明。
应急规划
“应急规划”过程负责制定灾难恢复计划。但是从安全的角度来看,ASP 希望确保出现灾难时采取准确的行动。因此,需要定义一些内容,如应急规划的安全方面、ASP 或客户组织中有可能被灾难摧毁的部分、组织中不允许被灾难摧毁的部分(因为这将意味着该组织不再存在)。SLA 对此有何规定?
该过程中关键是对应急过程中所涉及的所有员工进行培训。危机当中,几乎没有时间作出决定,因此大家必须如熟悉日常工作一样熟悉应急过程。
有关 ASP 应急规划的白皮书更深入地介绍了如何管理应急过程。
ASP 安全方面的沟通与培训
引言
没有适当的沟通,安全方法和安全过程无疑将会失败。安全沟通指的是与客户、与 ASP 的内部人员、与供应商以及与其他第三方(如与 Forum for Incident Response and Security Teams(事件响应和安全小组论坛),FIRST)的沟通。在安全方法和策略的设计中以及执行过程中,沟通都是很重要的。
与客户进行安全方面的沟通
就安全方面采取的措施进行沟通是必不可少的。正如已经谈到的,CRM 和“服务等级管理”过程是沟通的关键过程。他们将与客户沟通安全方面的问题。他们将确保 SLA 中包含了安全性。当出现安全问题时,正是由他们来通知客户。
在执行过程中,沟通更加重要。当出现安全事件时,ASP 确保使用正确的沟通渠道非常重要,这样可以使事件不造成更多不必要的损失,而且也不会在 ASP 或客户组织中引起不必要的恐慌。最起码安全管理员、事件管理员和服务级别管理员必须具有沟通计划(谁和谁、关于什么方面以及何时进行沟通)。其中每一个角色都将有自己关注的领域。
与供应商进行安全方面的沟通
某些安全措施必须在供应商的参与下执行。在没有确信与供应商团体之间订立(或将要订立)必要合同的情况下,绝对不要对客户作出承诺。
通报安全事件的时候,必须使用与供应商之间清楚的、确定的沟通渠道。这意味着与供应商的合同中也要包括一个安全部分,其中明确定义了沟通步骤。
与其他第三方进行安全方面的沟通
出现安全事件时,攻击者通常进行多方位的进攻。与一些组织(如 Computer Emergency Response Team/Coordination Center (CERT/CC) 或 FIRST)进行信息沟通可使其它 ASP 和公司预先采取措施来应付这些攻击。
CERT Coordination Center 研究 Internet 安全弱点、对已经成为攻击对象的站点提供事件响应服务、发布各种各样的安全警报、研究在广域网计算中的安全性及生存性,并且开发可帮助改进站点安全性的信息。
FIRST 是一个会员组织,促进安全事件响应小组之间进行合作与协调,这些小组分布在供应商、服务提供商、用户、政府和学术组织中。
有关 CERT/CC 的详细信息,请参见: http://www.cert.org/
有关 FIRST 的详细信息,请参见: http://www.first.org/about/first-description.html
内部的安全沟通和培训
必须和所有 ASP 人员进行安全策略和步骤方面的沟通,并使他们充分理解。为了确保每个人都能明白出现破坏时如何去做,必须进行不断的培训和训练。通过培训让员工了解攻击。对于市场上安全问题的进展,必须不断监视,并且能立即针对世界范围内的攻击警报采取措施。
沟通和升级
每当在事件过程中感觉时限不够时,必须执行升级过程。举例来说,解决某个事件可能需要用四个小时;在两小时后,必须确定 ASP 是否能在给定的四个小时之内解决。如果不能,事件管理员将必须利用他的授权来求助其它的资源以满足四个小时的要求。当解决安全事件超过 ASP 权限时,也需要进行升级。例如,拔掉网络插座可能对客户造成严重的后果。有关如何以及何时升级的规则必须清楚,而且过程中涉及的每个人都可以使用它。
ASP 的安全威胁、攻击和易受攻击性
引言
本节概述了 ASP 可能遇到的不同威胁、攻击和易受攻击性,以及对 ASP 的影响。
内部和外部安全威胁
内部或恶意以及不满的雇员
这种内部的攻击可影响到计算机安全的所有部分。通过浏览整个系统,雇员可进入保密的数据库。与计算机有关的雇员进行恶意破坏一般包括:
- 更改数据
- 删除数据
- 用逻辑炸弹破坏数据或程序
- 使系统崩溃
- 控制数据作为抵押
- 毁坏硬件或设备
- 错误地输入数据
外部非法闯入者和黑客
侵入系统的常用方法包括密码破解、利用已知的安全弱点和网络欺骗。一些攻击的目的是入侵和删除、复制、修改或偷窃敏感的数据信息以及破坏正常的 ASP 操作。攻击者最常用来进入、破坏、和/或从系统偷窃信息的方法有:
- 电子邮件攻击 — 最常用的电子邮件传输协议(SMTP、POP3、IMAP4)的核心协议一般都不包含可靠的身份验证,致使电子邮件可被轻易地伪造。这些协议也不要求使用加密技术来确保电子邮件的隐私和保密性。尽管存在对这些基本协议的扩展,但是决定是否使用它们还应当作为邮件服务器管理策略的一部分来确立。一些扩展使用以前建立的身份验证方法,而另一些则允许客户和服务器协商使用一种两端都支持的身份验证方法。
- 入侵攻击 — 攻击者使用众所周知的技法侵入到许多 ASP 网络中。这种情况的发生通常是攻击者利用 ASP 网络中已知的弱点。在可更新的系统中,管理员可能没有时间或没有花时间在大量的 ASP 主机上安装所有必要的修补程序。另外,一般不可能将计算机使用方面的 ASP 安全策略完美地映射到它的访问控制机制,于是授权的用户经常可以执行非授权的操作。
拒绝服务 (DoS) 攻击 — DoS 攻击的目的在于阻止对服务的合法使用。攻击者通过在网络上充斥超过其处理能力的通信量来达到此目的。这样的示例包括:
- 使网络资源饱和,进而妨碍 ASP 客户和 ASP 用户使用网络资源
- 破坏两台计算机之间的连接,妨碍 ASP 与其客户之间的通讯
- 阻止特定的个人访问服务某个访问
- 破坏对特定系统或客户的服务
- DoS 攻击中有一种是利用巨大数量的协议包充斥 ASP 网络。路由器和服务器由于试图路由或处理每个包而最终过载。在几分钟之内,网络活动呈指数上升,网络停止响应正常通信和来自客户的服务请求。这也称为网络饱和攻击或带宽消耗攻击。
邮件炸弹/垃圾邮件杀手 — 邮件炸弹是一种基于电子邮件的攻击。电子邮件充斥被攻击的系统直到它停机。根据服务器的类型以及它的配置情况的不同,系统将以不同的方式停机。此处是一些典型的停机模式:
- 电子邮件服务器接受电子邮件,直到存储电子邮件的磁盘充满为止。后面的电子邮件将无法接受。如果该电子邮件磁盘也是主系统磁盘,则可能致使系统崩溃。
- 传入队列中充满等待转发的邮件,直到该队列达到其极限为止。后面的邮件将无法排队。
- 可能超过特定客户服务器的磁盘限额。这妨碍后续邮件的接收,而且可能使客户无法完成工作。恢复起来可能很困难,因为客户只是为删除电子邮件就可能需要用更多的磁盘空间。
- 病毒攻击 — 计算机病毒是附带在其它代码条上的自我复制代码。该代码可能是无害的 — 例如,它可能显示一条消息或播放一段乐曲。也可能有害并进一步删除和修改文件。病毒代码搜索客户和/或内部文件,寻找未感染的可执行程序(客户或用户对该程序具有写入的安全权限)。病毒通过在所选的程序文件中放入一条代码来感染此文件。当执行感染了病毒的文件时,该病毒立即开始工作,寻找和感染其它程序和文件。
- 特洛伊木马攻击 — 特洛伊木马是隐藏在某个程序(如游戏或电子数据表)中的代码,该程序看起来可安全运行,但实际隐藏着负面影响。当运行该程序时,表面上似乎运行正常,但实际上它正在后台破坏、摧毁或修改信息。它本身是一个程序,不需要将自己嵌入到宿主程序中。
- 蠕虫攻击 — 蠕虫是一种设计用来复制的程序。该程序也可以执行任何其它类的任务。第一只网络蠕虫的设计目的是执行有用的网络管理功能。它们利用系统属性来执行有用的操作。但是,恶意的蠕虫利用了同样的系统属性。允许这种程序进行复制的设备并不总能区分恶意的和好的代码。蠕虫利用操作系统中的缺陷(即错误)或不完备的系统管理来进行复制。释放蠕虫通常会导致在短时间内迅速蔓延,使整个网络停机。
ASP 的安全弱点
弱点是安全中的薄弱点或漏洞,攻击者可利用它获得对 ASP 网络或对该网络上资源的访问。弱点不是攻击,而是可被利用的薄弱点。对于 ASP 而言,很重要的一点是明白常用网络访问协议和步骤非常容易受到攻击。
没有采取安全措施的 ASP 容易受到攻击的一些示例包括:
- 标识截取 — 入侵者找到有效用户的用户名和密码。这种攻击产生的途径很多,既可通过社会获得,也可使用技术方法实现。
- 伪装 — 非授权用户假装有效用户。例如,用户虚构一个可信系统的 IP 地址,然后使用该地址获取已授予的对被假冒的设备或系统的访问权限。
- 重放攻击 — 入侵者记录下客户和服务器之间的一段网络交换,然后将它重放以模仿该客户。
- 数据截取 — 如果跨网络移动纯文本形式的数据,那么未经授权的人员可以监视和获取该数据。
- 操纵 — 入侵者造成网络数据被修改或毁坏。非加密的网络财务交易容易被操纵。病毒可以毁坏网络数据。
- 发件人匿名 — 如果交易的接收方无法确定是谁发送的消息,则会危及基于网络的业务和财务交易的安全。
- 宏病毒 — 针对特定应用程序的病毒可利用复杂文档和电子数据表的宏语言。
- 拒绝服务 — 入侵者将消耗系统资源的请求充斥了服务器,使服务器崩溃或使有效的工作无法完成。 使服务器崩溃有时可提供入侵系统的机会。
- 恶意移动代码 — 指的是恶意的代码,它在 Web 服务器上作为自动执行的 ActiveX® 控件或上传自 Internet 的 Java Applet 运行。
- 滥用权限 — 计算机系统的管理员有意或错误地使用对操作系统的完全权限来获取私人数据。
- 社会工程攻击 — 有时,侵占一个网络就象给一个新雇员打电话一样简单,告诉他们你是 ASP 组织中的人并让他们验证其密码。
- 物理攻击 — 有时候带着设备走出大楼竟然容易得让人吃惊。
ASP 的最佳安全做法
引言
安全管理的主要目标是保证 SLA 中规定的 ASP 和客户之间的机密性、完整性和可用性的级别。最佳做法可向 ASP 展示如何确保实现安全目标。
Active Directory 的主要安全优势
使用 Active Directory 服务,ASP 可更好地为内部用户和外部客户提供适当的安全性。从根本上说,Active Directory 是 ASP 安全策略和帐户信息的中心位置。
ASP 可用 Active Directory 安全功能来自定义 ASP 的安全策略,保护系统不被非授权访问并避免可能的损失。Active Directory 可提供多方面的安全优势。其中包括:
- 一次性登录到域
- 支持标准的 Internet 安全协议
- 能够将域中用户和对象的管理委派给他人
一次性登录
具有多目录服务的 ASP 中,用户和客户访问不同的网络资源可能需要进行多次登录。Active Directory 通过为资源的访问提供一次性登录而改变了这种不必要的重复。一旦用户登录到域控制器,所有网络资源都会根据这次登录的结果而授权或拒绝访问。一次性登录提供了安全的身份验证,用于加密与网络之间的会话。登录过程通常使用 Kerberos 身份验证协议,我们将在文章的后面讨论该协议。由于在客户或用户登录时,数据安全就已启动,所以一次性登录减小了破坏安全的威胁,因为客户和用户不需要去写多个密码。另外,由于所有的帐户都统一在 Active Directory 中的一个地方,因此可对帐户的管理具有更多的控制。
组策略继承和本地设置
ASP 环境中的 AD 容器有一个层次结构。一些容器可认为是其它容器的“父”容器。组策略具有继承性,即它可以从父容器传递给下面的子容器。当为父容器分配一个“组策略”时,该“组策略”也适用于父容器下面的所有容器。若更改子容器的设置,则可替代父容器传递下来的设置。如果子容器和父容器的“组策略”设置不兼容,则不继承父容器的设置,并且用户只接收子容器的“组策略”设置。
在继承过程中,可以对特定容器进行更改,它会自动影响所有下级容器及其对象。为了便于管理,推荐在高级别的容器(如高级别的文件夹)上定义权限。这样,这些权限将自动传递给该文件夹内的对象。
支持 Internet 标准身份验证协议
Active Directory 服务提供对几种身份验证方法的支持,如 Internet 标准协议 Kerberos、公钥基本结构 (PKI) 以及加密套接字协议层 (SSL) 上的轻型目录访问协议 (LDAP)。对这些协议的支持意味着无论用户是内部连接还是通过 Internet 连接,网络资源都能得到保护。
安全的身份验证和网络协议
Windows 通常使用 Windows NT LAN Manager (NTLM) 协议来进行网络身份验证。ASP 可利用几种增强的身份验证方法和网络协议(如 Internet 标准协议 Kerberos、公钥基本结构、使用 Ipsec 的虚拟专用网络 (VPN)、加密套接字协议层 (SSL))来加强安全性。Windows 2000 提供对这些协议的支持。
Kerberos 身份验证的优点:
- 快速连接。利用 Kerberos 身份验证,服务器不必转向域控制器。它可通过检查客户提供的凭据来验证客户的身份。客户可一次获得对特定服务器的凭据并在整个 ASP 登录会话中重复使用。
- 相互身份验证。NTLM 允许服务器验证其客户的身份。它不允许客户验证服务器的身份,也不允许一台服务器验证另一服务器的身份。NTLM 身份验证是为网络环境设计的,假定该环境中的服务器是真实的。Kerberos 协议不做这种假设。网络连接两端的 ASP 和客户可以知道另一端的一方声称是什么人。
- 委派的身份验证。当代表客户机访问资源时,Windows 服务就模拟成客户机。许多情况下,服务可通过访问本地计算机上的资源为客户机完成其工作。NTLM 和 Kerberos 都可提供服务在本地模拟其客户机时需要的信息。但是,一些分布式的应用程序是这样设计的:当连接到其它计算机上的后端服务时,前端服务必须模拟客户机。Kerberos 协议有一个代理机制,允许当某个服务连接到其它服务时模拟其客户机。
公钥基本结构 (PKI)
公钥基本结构 (PKI) 是新出现的标准,适用于利用数字证书来验证用户的身份。PKI 使用三种技术来提供避免安全破坏的保护:数字信封、数字签名和数字证书。这些技术经常用于 Extranet 和 ASP 解决方案。可使用 PKI 的例子有:
安全电子邮件
基于 PK 的安全电子邮件产品(包括 Microsoft Exchange),依靠 PK 技术完成:
- 数字签名,用来证明电子邮件的来源和可靠性
- 没有预先共享密码的大量加密,用以保守通信者之间的机密
操作中,这些系统利用用户的私钥为发出的电子邮件添加数字签名。证书和电子邮件一起发送,这样接收者可验证该签名。S/MIME 为这些证书定义一个配置文件以确保互操作性,并采用一种层次模型来提供可伸缩的信任管理。若要对电子邮件加密,用户可从以前的电子邮件或目录服务中获得接收方的加密证书。一旦验证了该证书,用户就可用所包含的公钥对所用的密钥加密,从而实现对电子邮件的加密。
确认/加密文件系统
Windows 2000 加密文件系统 (EFS) 支持 Windows NT 文件系统 (NTFS) 中在磁盘上存储的文件的透明加密和解密。用户可指定要加密的个别文件或需要对其内容保持加密格式的文件夹。应用程序可以像访问非加密文件一样访问用户的加密文件。但是,它们无法对任何其他用户的加密文件进行解密。
PKI 和 UPN
Windows 2000 PKI 执行一项安全服务,该服务使用证书信息来映射到存储于 Active Directory 中的帐户,以便确定已验证身份的客户的访问权限。该目录操作可根据证书中的用户主要名称 (UPN) 来执行,或通过在目录中搜索与客户证书中的属性、颁发者或颁发者和主题匹配的帐户来执行。如果 UPN 都不匹配,或者颁发者未被授权颁发域身份验证的证书,则用户可以登录。这样,它就增强了登录的安全性。
通过 SSL 的安全 Web
加密套接字协议层 (SSL) 协议依赖于基于 PK 的身份验证技术,并使用基于 PK 的密钥协商来为每个客户端/服务器会话生成唯一的加密密钥。它们最常与基于 Web 的应用程序及 HTTP 协议(称为 HTTPS)相关联。
ASP 可通过使用加密的安全 SSL 通道,利用 SSL 协议进行保密的网络通讯。服务器和客户端针对要使用的加密算法进行协商。它们还协商用于安全通讯的保密的共享会话密钥。如果客户没有有效的受信任的身份验证证书(它可以降低拒绝服务攻击的风险),则 ASP 可用 SSL 来防止(可能的)客户与 ASP 解决方案进行通讯。您还可以用 SSL 协议来保护所有 Web 通讯的通道,以保护机密信息,例如个人信息和信用卡号码。
虚拟专用网络 (VPN)
VPN 技术使用了隧道协议,该协议可使 ASP 在公用 Internet 上建立专用数据网。换句话说,通过“共享管道”进行安全的隧道客户通信,VPN 能使 ASP 降低成本。
marginwidth="1" marginheight="0" src="images/ASPSEC05.GIF" frameborder="0" width="95%" height="347">
如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
VPN 技术允许 ASP 在保持安全通讯的同时,通过网络(如 Internet)连接到客户。它还使 ASP 的客户可以利用本地 ISP 提供的路由基本结构在家中或在路上以安全的方式连接到 ASP 数据中心服务器。安全的 VPN 是客户计算机和 ASP 在 Internet 上的 IPSec、PPTP 或 L2TP 连接。
下表概括了不同的 VPN 技术特征的主要方面。
PPTP | L2TP | IPSec | |
---|---|---|---|
模式
| 客户端 — 服务器
| 客户端 — 服务器
| 主机 — 主机
|
用途
| 经由隧道的远程访问
| 经由隧道的远程访问
| Intranet、Extranet、经由隧道的远程访问
|
OSI 层
| 第二层
| 第二层
| 第三层
|
封装的协议
| IP、IPX、Appletalk 等
| IP、IPX、Appletalk 等
| IP
|
安全性 用户身份验证 数据包身份验证 数据包加密 密钥管理
| 无(使用 PAP、CHAP、Kerberos、令牌 ID 等) 无* 无* 无*
| 无(使用 PAP、CHAP、Kerberos、令牌 ID 等) 无* 无* 无*
| 无(使用 PAP、CHAP、Kerberos、令牌 ID 等) AH 标头 ESP 标头 ISAKMP/Oakley、SKIP
|
隧道服务
| 单一的点对点隧道,没有同时的 Internet 访问
| 单一的点对点隧道,没有同时的 Internet 访问
| 多点隧道,同时的 VPN 和公用访问
|
备注
| 1. 一些项目是随厂商而不同的。 2. 请参阅具体手册以了解详细信息。
|
根据上面的比较,ASP 应当尽量使用 Ipsec,因为它提供更多的安全方法来消除 TCP/IP 的弱点。
高度可靠和安全的 ASP 网络设计
下面是一个高度可靠和安全的 ASP 网络设计示例。
marginwidth="1" marginheight="0" src="images/ASPSEC06.GIF" frameborder="0" width="95%" height="382">
如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
该解决方案涉及到许多安全措施。
第一道防线是通过筛选路由器来保护放火墙。这可以阻止 IP 地址欺骗攻击。其次,是由外部和内部防火墙组成的防火墙。外部防火墙配置成只允许 Internet 和非军事区 (DMZ) 之间的通信。内部防火墙的配置是为了保护内部网络,使其与 DMZ(DMZ 是非信任网络,例如用于公用 Web 页的网络等)分开。为消除窥探性攻击,使用了交换机。通过交换网络上任何机器中的网络界面,只能看到专门传递给它的那些帧。在 DMZ 和内部网络之间,所有通讯都使用 IPSec。
在 DMZ 和内部网络上都使用入侵检测。当执行入侵检测的机器识别出某种可疑模式时,它们将向管理员发出警报。
最后,为了获得高可用性,大多数机器都实施负载平衡。
完整的文章在附录 C 中。
ASP 的安全配置工具
ASP 管理员应当对安全配置工具非常熟悉,因为要获得系统中与安全相关的所有方面的信息,这是必不可少的。
这些工具应当使您非常容易地回答以下问题:“我的计算机安全吗?”,或者“我的网络安全吗?”。这些工具应当允许对已定义的安全策略所包含的所有方面进行配置和分析,例如:
- 帐号策略。 设置或更改访问策略,包括域或本地密码策略、域或本地帐户锁定策略以及域 Kerberos 策略(在适用情况下)。
- 本地策略。 配置本地审核策略、用户权限分配和各式各样的安全选项,例如对软盘、CD-ROM 等的控制。
- 受限制的组。 对内置的组以及要进行配置的任何其它特定组指定或更改组成员(如 Administrators、Server Operators、Backup Operators、Power Users 等)。这不应作为一般的成员管理工具来使用 — 只用来控制特定组(具有指定给他们的敏感功能)的成员。
- 系统服务。 配置安装在系统上不同服务(包括网络传输服务如 TCP/IP、NetBIOS、CIFS 文件共享、打印等)的安全性。如果不使用,则会停止 TCP/IP 之外的服务。有关详细信息,请参见 http://www.microsoft.com/technet/
- 文件或文件夹共享。 配置文件系统和重定向器服务的设置。这包括访问各种网络文件共享时关闭匿名访问以及启用数据包签名和安全性的选项。
- 系统注册表。 设置或更改有关系统注册表项的安全性。
- 系统存储。 设置或更改本地系统文件卷和目录树的安全性。
- 准备。 为客户和 ASP 准备一个安全的环境,以便安全地创建用户、文件等。
这些工具还应当有助于监视安全策略中已定义的所有方面,例如:
- 帐号策略 — 密码、锁定以及 Kerberos 设置。
- 本地策略 — 审核、用户权限和安全选项。(“安全选项”主要包括与安全相关的注册表值。)
- 事件日志 — 系统、应用程序、安全和目录服务日志的设置。
- 受限制的组 — 有关组成员的策略。
- 系统服务 — 系统服务的启动模式和访问控制。
- 注册表 — 注册表项的访问控制。
- 文件系统 — 文件夹和文件的访问控制。
- 物理访问系统 — 对设备的访问、卡式钥匙的使用、闭环视频等。
这些工具还应当可以分析组策略,一直下行至用户级。可以使用其它工具来分析监视过程中收集到的全部数据。这些工具通常特别依赖于统计技术。
使用 Windows 2000 的 ASP 管理员可用“Windows 2000 安全配置工具集”的下列组件来配置上述部分或全部的安全方面。
- “安全模板”管理单元。“安全模板”管理单元是独立的 Microsoft 管理控制台 (MMC) 管理单元,它可以创建基于文本的模板文件,该文件包含所有安全方面的安全设置。
- “安全配置和分析”管理单元。“安全配置和分析”管理单元是独立的 MMC 管理单元,它可以配置或分析 Windows 2000 操作系统的安全性。其操作基于使用“安全模板”管理单元创建的安全模板的内容。
- Secedit.exe。Secedit.exe 是“安全配置和分析”管理单元的命令行版本。它可以使安全配置和分析在没有图形用户界面 (GUI) 的情况下执行。
- 对组策略的安全设置扩展。“安全配置工具集”还包括一个对组策略编辑器的扩展管理单元,用来配置本地安全策略以及域或组织单元 (OU) 的安全策略。本地安全策略只包括上述“帐号策略”和“本地策略”的安全范围。为域或 OU 定义的安全策略可包括所有的安全性范围。
ASP 安全任务和方法介绍
创建网络安全时,会用到许多策略、任务和方法。下面是对它们的简要介绍。
安全通信和概念
- 介绍和解释在 ASP 的策略规划中针对风险的安全策略
- 提供安全概念和词汇的背景材料,使读者熟悉安全规划
- 确定 ASP 网络的安全风险。在安全规划中将其列出并加以解释
- 执行所有必要的安全措施(不要忘记物理方法)
- 严密监视安全性
- 审核、评估、改进和培训所有的步骤和策略
定义访问控制
- 确定 ASP 的组织目前如何使用组和建立组名称的规范,以及如何使用组类型
- 介绍用于对 ASP 范围内资源进行广泛安全访问的顶层安全组。它们可能是客户通用组
- 介绍访问控制策略,特别是关于如何以一致的方式使用安全组
- 确定创建新组的步骤以及由谁负责管理组成员
- 确定代表管理员控制特定任务的条件,介绍什么是客户管理员的任务以及什么是 ASP 管理员的任务
- 规定 ASP 策略以保护管理员帐户和管理控制台
- 审核、评估、改进和培训所有步骤及策略
远程客户或用户访问
- 描述支持客户或用户远程访问的 ASP 策略
- 建立一个规划来传递远程访问步骤,包括连接方法
- 建立通过专用连接连接到客户网络的策略
- 审核、评估、改进和培训所有步骤及策略
身份验证访问
- 确保对网络资源的所有访问都需要使用域帐户进行身份验证
- 确定用户群(ASP 内部和客户用户)的哪一部分需要对交互式或远程访问登录使用有效的身份验证
- 如果需要有效的身份验证,则确定部署公钥安全以及(或)进行智能卡登录的规划
- 定义用户帐户的密码长度、更改间隔以及复杂性要求
- 确定一个 ASP 策略来消除在任何网络上纯文本密码的传输,并制定出支持一次性登录或保护密码传输的策略
- 审核、评估、改进和培训所有步骤及策略
代码签名和软件签名
- 规定下载的代码所需要的安全级别
- 部署内部的 ASP 步骤,对所有公开分发的内部开发软件实施代码签名
- 审核、评估、改进和培训所有步骤及策略
部署“安全应用程序”策略
- 建立测试规划和单独的测试环境 来确认 ASP 应用程序是否在适当配置的安全系统下正常运行
- 确定还需要什么样的附加应用程序来加强安全功能以达到 ASP 的安全目标
- 进行适当的更改管理,包括在发布之前对更改的认可和安全验证
- 审核、评估、改进和培训所有步骤及策略
启用数据保护
- 确定对敏感或保密客户和内部信息进行识别和管理的 ASP 策略,并确定保护这些敏感数据的条件
- 确定存放敏感客户(或内部)数据的 ASP 服务器,这些数据可能需要附加的数据保护以防止窃取
- 建立一个使用 IPSec 的部署规划,以保护远程访问数据或访问敏感的 ASP 数据服务器
- 审核、评估、改进和培训所有步骤及策略
加密文件系统
- 介绍“数据恢复策略”,包括“恢复代理”的角色
- 介绍用来实施数据恢复过程并验证该过程有效的步骤
- 审核、评估、改进和培训所有步骤及策略
建立信任关系
- 介绍 ASP 域、域目录树和目录林并明确规定它们之间的信任关系
- 确定对信任的客户和厂商以及其它外部域的策略(信任其它域意味着也信任由该域的所有者确定的安全策略)
- 审核、评估、改进和培训所有步骤及策略
设置统一的安全策略
- 使用安全模板的方法来介绍对不同的计算机类实施的安全级别
- 确定域范围内的帐号策略并将这些策略和指导方针传递给客户和用户群
- 确定对网络上不同类系统(例如桌面、文件和打印服务器、以及电子邮件服务器)的本地安全策略要求。确定对应于每个类别的组策略安全设置
- 确定这样的应用程序服务器,在其中可用特定的安全模板来管理安全设置以及在整个组策略中考虑对它们的管理
案例研究:遭受攻击
引言
一个很大的虚构银行企业分了好多个部门,其中两个分别为外部银行业务部门和内部支持部门。所有本地办公室都属于外部银行业务部门。所有的支持活动(例如市场、销售和 IT)都属于内部支持部门。为了使该企业赢利,这两个部门需要在工作中紧密合作。
不久前,IT 部门与某个 ASP 达成了一项协议,帮助它们引进新的银行解决方案。除了取钱和存钱外,客户应该可通过 Internet 执行所有的银行交易。而实际建立的解决方案甚至更加完善。因为要执行第一个解决方案,就必须访问所有客户帐户,同时将本地办公室连接到 ASP 以便对涉及客户帐户的信息进行检索和修改,似乎也是合乎逻辑的。
最后的网络设置如下所示。
marginwidth="1" marginheight="0" src="images/ASPSEC07.GIF" frameborder="0" width="95%" height="356">
如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。
在 ASP 和银行企业之间有一个未来一年的服务级别协议 (SLA)。该 SLA 中包括所涉及的“服务管理”问题(事件管理、更改管理、容量管理、可用性管理、应急规划和安全管理)。针对所有这些问题都规定了服务级别、报告时间以及 ASP 和银行双方的义务。
SLA 中的安全部分
在 SLA 的安全部分,银行和 ASP 就安全策略是什么以及在识别出安全事件时需要采取什么步骤,达成了一致的协议。并一起确定了一个沟通规划,以确保将以正确的方式通知所涉及到的每一个人。关于用什么工具来保护银行安全,还规定了一些技术问题。
攻击
某个星期一的早晨,本地办公室的一名职工发现获取帐户信息需要很长时间。因为知道星期一早晨总是出现与 IT 相关的问题,所以该职工没有太注意。他继续做其它的工作。过了一些时候,他听到同事们说他们在检索信息中也遇到了同样的问题。他们请教办公室里的 IT 高手,希望找到解决的办法。当 IT 高手报告说他的所有尝试都已失败时,已经到中午了。此时,与帮助台取得了联系。帮助台询问了一些必要的问题并记录下这个电话。双方都一致认为该事件的影响似乎很小(因为还可以检索到帐户信息),因此该事件只是被确定为低优先级。这就是说没人会马上着手开始解决该事件。
一个小时后,从任何本地办公室都无法检索帐户信息。测试还表明,客户无法通过 Internet 访问其帐户。到银行客户的界面实际上是被关闭了。由于在本地办公室中没有处理这种情况的紧急步骤,因此这意味着无法对客户提供服务。
银行马上与 ASP 取得联系,每个银行和 ASP 专家都投入到解决系统中断的工作中。一个小时之内,专家们找到了中断的原因:一种病毒进入了内部的 ASP 应用程序。该病毒生成了很多的数据包,充斥了整个网络,从而导致性能的下降。最后,ASP 的网络由于溢出而瘫痪。ASP 花了两个多小时来恢复帐户系统并使它重新运行。该银行由于这次事故损失了数百万美元。
错在哪里?
尽管该银行与 ASP 之间有一个 SLA,但是攻击者达到了让 ASP 的网络死机的目的,实际上使银行的运营瘫痪。
攻击的检测:由于星期一早晨发生了许多事件,所有的 ASP 管理员都忙于解决“重要的”问题而没有警惕警告系统。并且由于该银行组织中的用户习惯了这些现象,他们没有报告该事件,也许认为其它人已经报告。所以,没人意识到攻击正在进行的事实。
事件管理:ASP 的事件员工和本地办公室的职工都认为该事件的影响不大(还可以检索帐户信息)。记录该事件时,事件管理人员没有从 CMDB 得到启示,意识到该事件涉及到 CI(配置项目),它是该银行核心业务的一部分。对该事件的分类不正确。
应急规划:ASP 和银行受到系统中断的影响。也就是说两个组织的正常运作都被破坏。但是,本地办公室没有处理这些情况的紧急步骤。ASP 也没有执行紧急解决方案。
服务级别管理:由于系统中断,服务级别没有达到,这意味着是 ASP 要受到处罚。起草 SLA 时,ASP 没有考虑到可能的攻击以及这对商定的服务级别有什么影响。因为这种情况,该银行转向了另一个提供商。
如何改进?
ASP 需要改进他们向本地办公室和 Internet 客户提供的服务。由于星期一早晨经常出现有关 ASP 解决方案的事件,因此在这天中出现的任何事故都没有得到认真的对待。
ASP 需要提早在检测安全攻击的工具中安装更多的检测工具。对于网络性能超出正常情况的下降,必须立即进行分析。
银行和 ASP 的职工需要意识到事件的重要性,因此他们要及时将每次 IT 服务的不正常情况通报给 ASP 的帮助台。
ASP 的帮助台需要最新的“配置管理数据库”的支持,在该数据库中每个 CI 都标有一个可能的安全分类。这样,当关于某个 CI 的电话打来时,帮助台的员工将明白对该电话的处理必须遵照事件管理的安全步骤。
与所有涉及到的各方(银行、本地办公室和 Internet 客户)的沟通是幸免于这类攻击的至关重要的因素。从技术上解决攻击是一方面,从公众的观念上来解决要难得多。公众可能会记住该银行是“由于某种病毒而停止服务的公司”。应当建立良好的沟通规划以抵御这种损失。
需要采取安全措施来避免这样的攻击发生,或者至少在服务级别还没有陷于危险的早期阶段截断攻击的发展。可以选择如下措施:
- 让(职业的)黑客对安全措施进行测试,看它是否可以经受住各种各样的攻击
- 使用入侵检测盒
- 实施对性能的被动监视
- 对传入的数据包或邮件进行病毒或其它攻击的测试
起草 SLA 时若不考虑被攻击时应采取的措施,表明对现实很不了解。Gartner Group 的 J. Pescatore 在 2000 年 2 月做出了以下策略规划设想:“到 2003 年,百分之三十的 ASP 客户将经历 ASP 方面的安全事件,其结果是导致对敏感数据的损害(概率为 0.7)。” ASP 必须与客户讨论在这种情况下应该如何去做。他们需要明白可以达到什么样的服务级别,同时明白将会出现攻击。他们必须知道可采取什么对策使攻击之后的损失更小。这样做的时候,需要确定 ASP 和银行在这种情况下的任务是什么。
小结
保护客户和 ASP 的数据不受到恶意攻击(有意的或无意的)的损害是“安全管理”的全部内容。对安全管理是什么以及 ASP 及其客户可以采取的方法有一个清晰的了解非常关键,其中包括什么是安全策略以及需要达到什么样的安全级别。需要确定 SLA 本身以及它提供的安全级别,并需要采取相应的安全措施。安全措施包括人员、过程和技术。过程涉及到沟通、升级以及围绕安全管理的过程和步骤。人员需要进行培训,并能够理解和执行所有的安全措施以及与之伴随的不断变化的技术。
要对所有的方面进行综合考虑以确保安全级别达到 ASP 的客户要求。
其它信息
首字母缩写词
AD:
| Active Directory
|
ASP:
| 应用程序服务提供方
|
CCTA:
| 英国中央计算机与电信局 (UK)
|
CI:
| 配置项目
|
CMDB:
| 配置管理数据库
|
CRAMM:
| CCTA 风险分析和管理方法
|
CRM:
| 客户关系管理
|
EFS:
| 加密文件系统
|
ESf:
| 企业服务框架
|
ITIL:
| IT Infrastructure Library
|
LDAP:
| 轻型目录访问协议
|
MOF:
| Microsoft 操作框架
|
MRF:
| Microsoft 准备工作框架
|
MSF:
| Microsoft 解决方案框架
|
NTFS:
| NT 文件系统
|
NTLM:
| NT LAN 管理
|
PKI:
| 公钥基本结构
|
SLA:
| 服务级别协议
|
SSL:
| 加密套接字协议层
|
UPN:
| 用户主要名称
|
VPN:
| 虚拟专用网络
|
书目
下列书籍为本白皮书的参考书目或推荐读物,有助于进一步理解此处包含的概念:
Security Management,IT Service Management Forum/CCTA,ITIMF Ltd.,
ISBN 0 11 330014 X。
Contingency Planning,IT Service Management Forum/CCTA,ITIMF Ltd.,
ISBN 0 11 330524 9。
Capacity Management,IT Service Management Forum/CCTA,ITIMF Ltd.,
ISBN 0 11 330544 3。
Service Level Management,IT Service Management Forum/CCTA,ITIMF Ltd.,
ISBN 0 11 330521 4。
Availability Management,IT Service Management Forum/CCTA,ITIMF Ltd.,
ISBN 0 11 330551 6。
安全管理参考资料
这部分集中了本文主体部分的所有参考资料,并按照主题的字母顺序列出。
Active Directory
http://www.microsoft.com/windows2000/guide/server/features/activedirectory.asp
ASP Industry Consortium
http://www.aspindustry.org/
Best practices(最佳做法)
http://www.aspindustry.org/members/BestPractices/DeliveryModel.cfm
http://www.microsoft.com/ISN/downloads/Best Practices Documentation for ASPs.zip
CCTA Risk Analysis and Management Method(CCTA 风险分析和管理方法)
http://www.crammusergroup.org.uk
Forum for Incident Response and Security Teams (事件响应和安全小组论坛,FIRST)
http://www.first.org/about/first-description.html
Gartner Group, J.Pescatore, "Critical Security Questions to as an ASP", DF-10-0972, February 2000
http://www.gartner.com/
International Information Systems Security Certification Consortium
http://www.sans.org/snap.htm
IT Infrastructure Library.
http://www.itil.co.uk/
Microsoft Operations Framework(Microsoft 操作架构)
http://www.microsoft.com/enterpriseservices/MOF.htm
Microsoft Telecommunications Consulting Practice, Steve Riley, "Network Security Best Practices", 7 August 2000
Http://www.microsoft.com/technet/
Microsoft Terminal Services Scaling(Microsoft 终端服务缩放)
http://www.microsoft.com/windows2000/library/technologies/terminal/tscaling.asp
http://www.microsoft.com/WINDOWS2000/library/resources/reskit/tools/hotfixes/tscpt-o.asp
Microsoft Windows 2000 Performance Tuning(Microsoft Windows 2000 性能调节)
http://www.microsoft.com/WINDOWS2000/guide/platform/performance/reports/perftune.asp
Microsoft .NET
http://www.microsoft.com/net/
Microsoft Windows Management Instrumentation(Microsoft Windows 管理规范)
http://www.microsoft.com/ISN/downloads/Operations for ASPs.zip
Microsoft Enterprise Services frameworks (ESf) publications(Microsoft 企业服务架构出版物)
http://www.microsoft.com/enterpriseservices/
撰稿人
Unisys Corporation:Jeroen Bom、Joe Helm、Hilda Willems、Tom Wu
Microsoft Corporation:Kathryn Rupchock、Kent Sarff
附录 A:SLA 中的安全部分
在 SLA 的安全部分需要讨论以下主题:
- 信息安全的一般策略
- 允许的访问方法和用户标识 (ID) 与密码的管理和使用
- ASP 保留被授权人列表的义务
- 关于审核和日志记录的协议
- 记录 ASP 与安全相关的管理活动的义务
- 解决方案有效的时间和日期(必要时可把回退的设备考虑在内)
- 客户、厂商和 ASP 的义务(按照 ASP、客户和厂商的责任)
- 保护 ASP 及客户资产(包括信息)的步骤
- 对法律事务的责任
- 监督客户和厂商活动的权利(以及取消该权利的权利)
- 安装和维护设备及软件的责任
- 检查合同责任的权利
- 对信息复制和公开的限制
- 用来确保在 SLA 终止时信息或货物被破坏或归还的办法
- 所需的任何物理安全措施
- ASP 方面信息安全的管理过程
- 确保安全措施忠实有效的步骤
- 在安全策略、方法和步骤方面对用户(内部和外部)的培训
- 用来确保不扩散计算机病毒和其它攻击的措施
- 对用户访问权限的授权步骤
- 关于报告和调查安全事件的协议。在出现安全事件的情况下要使用的沟通步骤(包括所涉及 ASP、客户和/或厂商方面人员的电话号码)
附录 B:访问策略最佳方案
ASP 的组策略对象 (GPO) 的最佳配置方案
在基于 Windows 2000 Active Directory 的 ASP 企业环境中工作时,认真设计策略非常重要,它可以最大程度地减少冗余和重新定义,并最大程度地增加可管理性。遗憾的是,这两个目标可能发生矛盾。要减少冗余和重新定义,ASP 应当设法定义非常详尽的 GPO。而增加可管理性,ASP 的 GPO 数目应当少。减少与各种范畴相关的 GPO 数对性能也很关键。要达到平衡,需花费一定的时间来设计 ASP 的基本结构中的策略规划。
完成一个有组织规划的步骤包括:
- 将策略进行逻辑分组。例如,帐号策略组成一个逻辑组。
- 用包含可能的策略值的不同策略设置,为每个逻辑分组定义一个或多个 GPO。例如,可以有一个包含不同域的帐号策略的 GPO 和另一个针对服务器和桌面上本地帐户的 GPO。
- 使用组织单元 (OU) 将计算机分到层次树结构中。这种划分应当依据角色 — 即各台计算机的目的和功能。例如,默认情况下,所有域控制器应放在域控制器 OU 中,以使它们具有一致的策略。
通常,每个 OU 应当映射到对整个 OU 中所有计算机都适用的某个策略。这可能非常棘手,因为 OU 可定义 ASP 的管理层次以及 ASP 的地理分布。但是,ASP 的策略定义时常会覆盖公司和地理分布。
当 ASP 想要将策略应用到整个 ASP 组织的计算机子集时,ASP 可执行下列操作:
- 在 ASP 的不同部分创建子 OU,以便将特定的策略分配给这些子 OU 中的每一个。
- 如果 ASP 不想创建纵深的 OU,他可用 GPO 的基于权限的筛选机制来确定在给定的 OU 中特定的 GPO 适用于哪些计算机。
安全策略的优先顺序
了解与 Active Directory 域和 OU 相关的安全策略的优先顺序非常重要,因为它们优先于本地级别建立的策略。与 Active Directory 域和 OU 相关的 ASP 安全策略的默认优先顺序通常和组策略相同。从最低到最高的优先顺序如下:
- 本地策略
- 域策略
- OU 策略
本地策略(对计算机本身定义的策略)优先级最低,而与直接包含计算机的 OU 相关策略的优先级最高。
因此,域的策略优先于本地定义的策略。了解这一点很重要,因为它所导致的结果与以前版本 Windows NT 中所看到的现象大不相同。例如,配置域 OU 的密码策略时(如同默认情况),对该域中的每台计算机都配置了这些密码策略。这意味着域中的本地帐户数据库(个别工作站上)具有和域本身一样的密码策略。在 Windows NT 4.0 中,为域定义的密码策略不影响成员工作站和服务器上的本地帐户数据库的密码策略。
访问控制
Active Directory 可大大简化在容器、组、用户、计算机和其它资源对象的整个树层次内分配权限和特权的分发工作。
要想充分利用这一点,需按下列常用规范操作:
- 在组的基础上分配用户权限。
- 依赖于组分配的继承性。由于直接维护用户帐户效率不高,因而一般不在用户的基础上分配权限。
- 尽量在容器数的高处指定权限。这样可以用最少的工作量获得最好的效果。建立的权限应当适合多数安全规则。
- 应用继承性在整个容器树中传播权限。就像在树的较高级别应用访问控制可提供范围广度一样,继承可提供深度访问。ASP 可快速有效地将访问控制应用到父对象的所有子对象。
- 将容器的管理委派给管理这些容器所在计算机的 ASP 和客户管理员。通过委派授权来管理容器的权限,ASP 可分散管理操作和问题。这样,通过分配离服务点更近的管理,可以降低总拥有成本。
- 在 ASP 中部署 Windows 2000 时,它们必须针对正在使用的默认安全级别。
- Windows 2000 对全新安装的系统定义三种安全级别 — Users、Power Users 和 Administrators。默认情况下,所有最终用户(内部和客户)都是“Users”组的成员,如果 ASP 只打算运行认证的 Windows 2000 的应用程序,这是可行的。但是,如果 ASP 需要支持未经 Windows 2000 认证的应用程序,则他们必须进行下列操作:
- 使所有最终用户都成为“Power Users”而不是“Users”。
- 修改默认的安全设置来增加授予“Users”的权限。
这些步骤中的任何一个都可作为整个 ASP 安全策略的一部分来实施,或作为安装过程的一部分应用于个别计算机。与 Windows 2000 Server 一起提供了一个安全模板,它为用户“设立”适当的安全级别。
该模板位于:systemroot/security/templates/compatws.inf
对于从 Windows NT 升级到 Windows 2000 的计算机,还有其它方面的问题。
- 在升级期间不修改安全性,因此升级后,未经 Windows 2000 鉴定的应用程序无需修改即可继续运行。
- 如果 ASP 想升级计算机来使用新的 Windows 2000 安全默认值,则在下列目录中提供 Windows 2000 默认的安全设置:systemroot/security/templates/basicwk.inf.
附录 C:网络安全的最佳方案
Steve Riley,Microsoft Communications Industry Solutions Group Consulting Practice
2000 年 8 月 7 日
这篇短文论述了网络设计和安全的最佳方案。尽管网络的设计和安全保护方法很多,但只有某些方法和步骤深受许多业内人士的喜欢。
筛选路由器 — 第一道防线
应当使用筛选路由器来保护任何面向 Internet 的防火墙。这种路由器只有两个接口:一个与 Internet 相连而另一个与外部防火墙(或必要时与负载平衡的防火墙群集)相连。所有攻击中,将近 90% 涉及到 IP 地址失窃,或改变源地址以使数据包看起来如同来自内部网络。传入数据包没有什么理由可以来自内部网络。另外,由于一个网络的安全性通常取决于所连接网络的安全性,因此最好能避免您的网络被用作假数据包的来源。筛选路由器是实现这些目的的理想方法。
应当将筛选路由器配置为“allow all except that which is specifically denied”(允许通过特别拒绝以外的所有通信)状态。这样,ACL 就执行下列操作:
- 定义一个进入筛选器,它拒绝任何源地址为内部网络地址的传入通信。
- 定义一个外出筛选器,它拒绝源地址非内部网络的传出通信。
- 拒绝 RFC 1918 中所确定的任何专用地址范围内源地址或目标地址的所有传入或传出通信。
- 允许所有其它的传入和传出通信。
这可阻止大多数攻击,因为窃取内部地址几乎是所有攻击的基本条件。将筛选路由器后面的防火墙配置为“deny all except that which is specifically allowed”(拒绝除特别允许之外的所有通信)状态。
(这部分信息的依据为 RFC 2267,“Network ingress filtering: Defeating denial of service attacks which employ IP source address spoofing”,1998 年 1 月。)
对可用性要求较高的环境,可使用两个筛选路由器,并将二者连接到一对防火墙负载平衡设备上。
防火墙 — 分层保护
典型的非军事区 (DMZ) 有两个防火墙。外部防火墙配置为只允许 Internet 和 DMZ 之间连接所需的通信。内部防火墙的配置要能够保护内部网络不受 DMZ 的影响 — DMZ 是非信任网络,因此有必要对内部网络实施保护。
什么是 DMZ?看看世界上仅有的政治方面的 DMZ:南北朝鲜之间的区域。DMZ 由其保护边界确定 — 在这种情况下,两个地理边界,分别由单独的保护实体进行监视和保护。网络中的 DMZ 与此非常类似:某单独的网络部分经过单独的物理防火墙与(通常)两个其它网络相连。
DMZ 与屏蔽子网。常见的方法是使用具有多个接口的单一物理防火墙。一个接口连接 Internet,第二个接口连接到内部网络,第三个接口连接到通常称为 DMZ 的区域。这种体系结构不是真正的 DMZ,因为单个设备负责多个保护区域。这种方案的确切名称是屏蔽子网。屏蔽子网具有严重缺陷 — 单个攻击就可破坏整个网络,因为所有网络段都与该防火墙相连。
DMZ 的优点。为什么部署 DMZ?网络攻击日趋增加 — 有些只是出于好玩、炫耀自己的恶作剧能力,还一些是严重的、有目的的公司间谍和破坏。有效的安全体系结构是攻击的一道屏障,同时该结构具有可调整能力。真正的 DMZ 结构具有下列优点:
- 具有针对性的安全策略。每个防火墙实施与保护对象对应的策略。
- 深入防御。在安全遭到破坏时,设备的多个物理构件为安全管理员提供更多时间来做出反应。这是为什么要部署真正的 DMZ 而不是屏蔽子网的唯一、也是最重要的原因。
- 改进性能。两设备间通信检查的职责分开,每个特定保护区配置一台设备。
- 可扩展性。可根据需要扩展防火墙 — 外部防火墙处理的负载通常必须比内部防火墙高很多。像 RadWare's FireProof 这样的技术可以跨防火墙农场而平衡负载。
消除故障点。为了获得高可用性,应当至少部署与一对防火墙完全适用的一对防火墙负载平衡器。这样防火墙即可与 DMZ 核心交换机完全匹配。
防火墙类型
目前有三种防火墙:
- 基本数据包筛选器。
- 状态检测数据包筛选器。
- 应用程序代理。
基本数据包筛选器。把简单的数据包筛选作为一种防火墙已不常见,因为几乎所有的路由器都可执行此功能。数据包筛选只是简单地按照一组规则比较传出和传入数据包的端口、协议和地址。不符合规则的数据包被防火墙终止。基本的数据包筛选提供很少的安全性,因为很多种攻击可轻易地绕过它。
状态检测数据包筛选器。这些防火墙除检查单独的数据包外还对流程进行检查。状态检查引擎跟踪每个连接的启动并确保启动与某个先前登录的连接相应的所有通信。符合防火墙规则但无法映射到任何连接的未经请求数据包将被终止。状态检查比基本数据包筛选更为安全,但还是可能受到能够通过防火墙可用协议(如 HTTP)的入侵的袭击。两类数据包筛选器都无法分析任何数据包的内容。另外,两类数据包筛选防火墙几乎都无法在按照规则集进行计算之前将碎片数据包重新组装起来。于是,某些类型的攻击得以用高超技巧制作的数据包碎片进行成功传递。
应用程序代理。应用程序代理提供最高的安全级别。连接不通过代理,而传入连接在代理处被中截,并由代理实现与目标服务器的连接。应用程序代理检查有效载荷并可确定它是否符合协议。例如,正常的 HTTP 请求有确定的特征。通过 HTTP 传递的攻击将与这些特征有所出入(最显著的是通过 HTTP 请求传递的通信具有过多传入信息量),并将被终止。应用程序代理还不易受到碎片的攻击。由于为应用程序代理施加了负载,因此它在三类防火墙技术中速度最慢。
如此说来,哪种技术最好呢?答案取决于您所需的安全级别。一些状态检查防火墙开始加入应用程序代理功能;Checkpoint 的 Firewall-1 就是这样的实例。
基于主机的防火墙保护。彻底防御应当是任何安全方案的设计目标。筛选路由器和传统的 DMZ 提供三层保护,它们通常足以保护大多数网络服务。对于高度安全的环境,基于主机的防火墙还可提供另一层的保护。基于主机的防火墙允许安全管理员确定详细周全的安全策略,以使服务器的 IP 栈只对该服务器上应用程序所要求的端口和协议开放。一些基于主机的防火墙还实施传出保护,以帮助确保某台遭到破坏的机器不会影响同一网络上的其它机器。当然,基于主机的防火墙确实增加了普通系统管理的负担。应考虑仅对那些包含至关重要数据的服务器增加基于主机的保护。
DMZ 体系结构 — 安全和性能
另一类常见的攻击是从线路上窥探数据包。尽管有最近出现的防窥探工具(可能经常不可靠),但用简单集线器构建的网络还是很容易受到这种攻击。(并且反防窥探工具也可能使它成为一项重要议题。) 使用交换机替代集线器可消除此弱点。在共享介质网络(即用集线器构建的网络)中,所有的设备可看见所有的通信。通常网络接口对非发给它的数据帧不进行处理。混杂模式的接口将把每一帧的内容向上传到计算机的协议栈。该信息对于有协议分析器的攻击者可能非常有价值。
交换网络可以实际杜绝这种情况的发生。交换网络中任何机器的网络接口将只能看到特别发给该接口的那些帧。在这里混杂模式没有什么不同,因为 NIC 不识别其它任何网络通信。攻击者窥探交换网络的唯一已知方法是:攻击者破坏交换机本身并更改其操作,这样交换机至少在一个端口充斥了所有通信。破坏交换机很难,并且很快会被网络管理员发现。
交换网络还免去了使用双主机 DMZ 服务器的必要。双主机提供不了更多的附加保护;附加的 NIC 不能防止来自已破坏计算机的攻击。但是在需要高可用性或高性能情况下,使用两个 NIC 可能更加适合。
消除故障点。在需要高可用性的环境中有必要使用两个 NIC。一种切实可行的设计方案是在核心部分包括两台交换机,并在每台服务器中包括两个 NIC。一个 NIC 连接到一台交换机,另一个 NIC 连接到另一台交换机。
内部网络的情况如何?出于同样的原因,内部网络也应当用交换机来构建。如果需要高可用性,请遵照 DMZ 中同样的原则。
群集互连。无论在 DMZ 还是在内部网络中,都使用集线器连接所有群集。Microsoft 不建议使用跨接电缆,因为它们不能提供确保介质敏感型操作正常工作所需的电子信号。
IPSec — 信任 DMZ 的一种更安全的选择
如果所有的服务器都在运行 Windows 2000,则应当使用 Internet 协议安全 (IPSec) 来保护 DMZ 和内部网络之间所有通讯的安全。IPSec 提供下列功能:
- 身份验证。 可以确定这样的策略,使得只有那些需要彼此通讯的计算机才可以互相通讯。
- 加密。 已经侵入到 DMZ 的入侵者无法将通信解释进或解释出内部网络。
- 保护。 IPSec 保护网络避免重放攻击、人为干预攻击以及通过标准协议(如 ICMP 或 HTTP)进行的攻击(这些攻击可通过基本防火墙和状态检查数据包筛选器防火墙)。
启用 IPSec 后,内部防火墙必须只允许 IPSec、IKE、Kerberos 以及 DNS 通信,这样进一步加强了内部网络的安全性。内部防火墙中不会有其它漏洞。对于各种应用程序有漏洞的标准防火墙规则,入侵者可以通过 Firewalk 这样的工具确定防火墙的策略;而将所有通信封装在 IPSec 中并只许使用该协议,可隐藏对攻击者可能有用的实施细节(但是还应参见下面的“可能的安全含意”)。下表列出了应当在防火墙中开启的服务:
服务 | 位置 | 说明 |
---|---|---|
Domain
| 端口 53/tcp 和 53/udp
| 域名服务
|
kerberos
| 端口 88/tcp 和 88/udp
| Kerberos v.5 身份验证
|
isakmp
| 端口 500/udp
| Internet 密钥交换
|
esp
| 协议 50
| IPSec 封装的安全有效载荷
|
ah
| 协议 51
| IPSec 验证的标头
|
请注意不需要证书授权;IPSec 策略将用 Kerberos (本机的 Windows 2000 身份验证机制)作为建立 IKE 主模式安全关联的基础。
可能的安全含意。如前所述,对 DMZ 和内部网络之间的通信加密后不可能再检查内部防火墙中的通信。并非所有的网络或安全管理员都对此方法满意。ESP 的加密提供了进入内部网络的封装路径,一旦某台 DMZ 机器被破坏,它就可能被利用。使用 IPSec AH 替代 ESP 将使较为简单的防火墙配置显示其优势,同时由于 AH 数据包有效载荷未经加密,还可进行通信检查。
入侵检测 — 早期的警告系统
入侵检测系统正在成为与 Internet 连接的任何网络的必要组件。尽管它不能替代防火墙详细不间断的检查和服务器日志,但是入侵检测系统能够提早识别潜在入侵,为您提供更多的时间以对事故采取相应措施。请在 DMZ 中安装入侵检测系统。
入侵检测系统和防病毒实用程序相似,它们都是在检测到它们识别的东西时向管理员发出警报。入侵检测系统包含一个攻击特征数据库,但是并非所有的入侵检测系统都同样可以识别不同类型的攻击或保持最新状态(各个 IDS 厂商都将他们的特征数据库和更新机制当作商业机密)。目前有两种值得关注的检测系统,它们是:RealSecure by Internet Security Systems (http://www.iss.net) 和 Network Flight Recorder ( http://www.nfr.net )。
基于主机的入侵检测。大多数入侵检测系统在网络级别工作,在网络被破坏后向管理员发出警报。最近出现了一种新的入侵检测系统类型:基于主机的入侵检测系统。这些工具本身在服务器上运行,并在特定计算机遭到破坏时向管理员发出警报。这种警报机制对于包含有重要操作数据的计算机(如后端数据库服务器)尤为重要。
将基于网络的入侵检测系统和基于主机的入侵检测系统结合起来,并且让训练有素的安全专家定期检查系统日志是保护网络、收集证据和处理安全事故的最有效方法。
DNS — 确保客户到达正确的地方
常见的 DNS 实施(包括如图所示的实施)称为拆分 DNS 实施。外部服务器用来解决 Internet 对 DMZ 中计算机的查询,并解决 DMZ 计算机对其它 DMZ 计算机的查询。内部服务器用来解决内部网络对内部计算机的查询,对 DMZ 中或 Internet 上计算机的查询将被转发到外部服务器。但是拆分 DNS 不能保护 DNS 高速缓存免受攻击。
在 DNS 高速缓存的侵害中,攻击者会破坏另一网络的 DNS 高速缓存。当受害者试图在破坏的网络中确定地址时,该高速缓存返回攻击者在高速缓存中放入的无效信息。通常攻击者这样做是为了把受害者重新定向到攻击者的计算机。
最安全的 DNS 实施称为 拆分 — 拆分 DNS 实施。在 DMZ 中有两台 DNS 服务器。一台服务器(例如 DMZDNS-IN)只接受对 DMZ 中计算机的传入查询 — 并只接受 Internet 上计算机的查询。另一台服务器(如 DMZDNS-OUT)只允许解决对 Internet 的传出查询,以及 DMZ 计算机对其它 DMZ 计算机的查询。DMZDNS-IN 是 DMZ 的 DNS 区域的主 DNS 服务器,DMZDNS-OUT 是辅助 DNS 服务器,使用 IPSec 进行区域传输。内部网络中的 DNS 服务器仅是内部网络的主 DNS 服务器,并且将对 DMZ 或 Internet 的请求转发到 DMZDNS-OUT。这消除了使网络易于受到已被袭击的 DNS 高速缓存攻击的条件。
来自 Internet 的 DNS 查询不可能通过 DMZ 进入内部网络来获取答案。一些近期的攻击使用 DNS 来传递其有效载荷。Internet 上的用户没有必要对内部网络上的服务器进行查询。
消除故障点。在高可用性环境中,只需简单倍增 DNS 服务器的数量即可。
硬件负载平衡 — 保持服务器的最佳性能
Windows 2000 Advanced Server 包括一种称为“网络负载平衡服务”或 NLBS 的功能。NLBS 为 Web 站点管理员提供了在相同配置的服务器农场中进行服务器负载分配的方法。NLBS 对不需要复杂状态维护或性能监视的应用程序来说非常适用。但对于需要这些工作的应用程序来说,则应选择硬件负载平衡。这些设备有时称为第 7 层交换机。
像 F5 网络的 BigIP Content Switch(非官方认可,只是行业中认同它是最好产品之一)这样的设备在 OSI 模型的第 2 到第 7 层工作。BigIP Content Switch 检测应用程序的状态和运行情况,在 Web 服务器之间提供负载平衡和真实容错。若要消除任何单一的故障点,需使用两个与所有 Web 服务器完全相符的负载平衡设备。F5 还提供了支持加密套接字协议层 (SSL) 的 BigIP Content Switch 版本。SSL 会话在 BigIP SSL Accelerator中终止,然后确定由哪台 Web 服务器执行该工作。BigIP Accelerator 进行下列操作:
- 卸载 Web 服务器的 SSL 处理,提高其性能。
- 集中管理证书。将证书安装在 SSL 加速器上,而不是每一台 Web 服务器上。它还可使多个 BigIP 控制器之间的证书同步。
- 启用 HTTP 主机标头。
- 解决 AOL 客户端 IP 地址共享问题。
消除故障点。如果目标仅仅是平衡服务器的负载,一台负载平衡设备足矣。但是若要提供真实容错功能,则需多台配置完全匹配的设备。
存储区域网络 — 对内部网络的集中存储
存储区域网络技术已非常成熟,只要是配备有大存储容量的地方都可使用。SAN 将存储功能从通用服务器移到为传输大量数据而特别设计的高速网络上。这有助于:
- 通过将磁盘阵列移出机柜来优化服务器机柜空间。
- 通过将数据存储在单独的、不易遭受目前所知类型攻击的网络中,增加数据的安全性。
- 通过在数据网络之外保留通信备份,提供不受 LAN 约束的备份。
最初,使用光纤通道仲裁环 (FC-AL) 来建立 SAN。较新的光纤通道交换机提供更高水平的吞吐量,并使管理员可以设计没有单一故障点的 SAN。
交换光纤通道 SAN 至少包括:
- 两台位于核心相互连接的 FC 交换机。
- 几台位于外围的交换机 — 每个 LAN 有一台与 SAN 连接的交换机。每台外围交换机都与两台核心交换机连接。
- 每台服务器中的 FC 接口与其本地的 SAN 交换机相连。
- SAN 磁盘群集有一台交换机与两台核心交换机连接。
- SAN 备份设备的一台交换机,与两台核心交换机连接。
消除故障点。倍增核心以外的所有设备:在每台服务器中使用两个光纤通道适配器、每个 LAN 中使用两台外围交换机、对 SAN 磁盘群集使用两台外围交换机,以及对 SAN 备份设备使用两台外围交换机。始终将两台外围交换机与两台核心交换机相连。
网络附加存储的有关情况?Microsoft 不支持 NAS 存储 Exchange 文件。Exchange 要求所有的文件都保存本地设备上。Exchange 在光纤连接的 SAN 设备上运行良好,这些设备对 Windows 2000 表现为本地设备。
© 2000 Microsoft Corporation。版权所有。
本文档所包含的信息代表了在发布之日,Microsoft Corporation 对所讨论问题的当前看法。因为 Microsoft 必须顺应不断变化的市场条件,故该文档不应理解为 Microsoft 一方的承诺,Microsoft 不保证所给信息在发布之日以后的准确性。
本文档仅供参考。在本文档中,MICROSOFT 不做任何明示的或默示的保证。
Microsoft、BackOffice、MS-DOS、Outlook、PivotTable、PowerPoint、Microsoft Press、Visual Basic、Windows、Windows NT 和 Office 徽标是 Microsoft 在美国和/或其它国家(或地区)的注册商标或商标。