本章先决条件
本节包含一些信息,用来帮助确定您的组织实施 IPsec 解决方案的准备工作。 (准备”是指后勤意识上的准备,而不是商业意识上的准备 ― 本指南的第 1 章“服务器和域隔离简介”已讨论过实施本解决方案的商业动机。)
预备知识
您应熟悉 IPsec 的一般概念,特别要熟悉 Microsoft 的 IPsec 实施。 还需要熟悉 Windows Server 2003 的以下方面:
•
Active Directory 概念,包括 Active Directory 结构和工具;操纵用户、组和其他 Active Directory 对象;以及组策略的使用
•
Windows 系统安全,包括安全概念,如用户、组、审核和访问控制表 (ACL);使用安全模板;使用组策略或命令行工具应用安全模板
•
了解核心网络和 IPsec 原理
在继续本章之前,应先阅读本指南先前各章提供的规划指南并透彻理解本解决方案的体系结构和设计。 还应定义并记录解决方案的业务要求,以作为解决方案要求矩阵的一部分。
组织先决条件
应咨询组织中其他可能需要参与实施本解决方案的人员的意见,包括以下人员:
•
公司所有者
•
安全和审核人员
•
Active Directory 工程、管理和操作人员
•
DNS(域名系统)、Web 服务器以及网络工程管理和操作人员
注:根据您的信息技术 (IT) 组织结构的具体情况,这些角色可能由许多人担任,也可能由较少的人担任多个角色。
IT 基础结构的先决条件
本章还假定存在以下 IT 基础结构:
•
以混合模式或纯模式运行的 Microsoft Windows Server 2003 Active Directory 域。 此解决方案使用通用组来应用组策略对象 (GPO)。 如果组织不是以混合模式或纯模式运行,仍然可以通过使用标准全局和本地组配置来应用 GPO。 但是,由于这种方法管理起来很复杂,本解决方案未予采用。
注:Windows Server 2003 引入了许多影响 IPsec 策略的改进。 本解决方案没有任何特别之处会妨碍它与 Windows 2000 一起工作。 但是,只使用 Windows Server 2003 Active Directory 对本解决方案进行了测试。
有关 Windows Server 2003 中对 IPsec 所做的增强的详细信息,请参阅 Microsoft 网站上的“New features for IPsec”页面,网址为 www.microsoft.com/resources/documentation/
WindowsServ/2003/standard/proddocs/en-us/ipsec_whatsnew.asp。
•
Windows 2000 Server、Windows Server 2003 Standard Edition 和 Windows Server 2003 Enterprise Edition 许可证、安装媒体和产品密钥。
本章还要求全面了解现有 IT 基础结构,以确保对环境中的既定主机部署正确的策略。 第 3 章“确定 IT 基础结构的当前状态”描述了必需的信息以及获取的方法。 在至少获得以下信息之后,才能执行本章描述的步骤:
•
该设计的隔离组定义。 每个必需的隔离组应具有传达安全要求和确定这些要求所应用的对象的明确声明(即隔离组成员身份)。
•
如何使用 IPsec 策略实施隔离组的概括描述,包括所需的不同 IPsec 策略的列表以及如何指派它们。
•
应用 IPsec 实施隔离组的影响的概括摘要。 此摘要可能同时包含问题和变通办法的列表。
•
IPsec 策略将如何随着时间变化的概括描述和需要 IPsec 策略更改的过程的列表。 此列表包括一些过程,如安全事件响应、添加网络组件以及在任何隔离组中添加客户端或服务器。
•
了解组织的网络技术和 IP 寻址方案。
在 Active Directory 中创建 IPsec 策略
创建支持必需隔离组的必要策略的进程主要包括以下主要任务:
•
创建筛选器列表。
•
创建筛选器操作。
•
创建 IPsec 策略以实施隔离组。
在进行创建这些组件的进程之前,从第 4 章“设计和规划隔离组”获取通信流模型图表以及主机和网络映射表非常重要。 这些表提供必要的信息,以确保策略提供必需的功能且被指派给正确的隔离组。
下图描绘了用于模拟 Woodgrove Bank 方案的网络配置。
图 5.1 Woodgrove Bank 网络配置
Woodgrove Bank 测试实验室配置演示了解决方案的以下关键功能:
•
当使用 IPsec 时,域隔离使用网络访问组来阻止某种较高的风险,但不阻止域中受信任的主机
•
服务器隔离使用网络访问组来限制哪些受信任主机客户端有权使用 IPsec 进行连接
另外,此实验室环境演示了 Windows IPsec 的下列必需功能,并测试了与现实世界环境中可能使用的其他安全技术的兼容性:
•
运行 Windows 2000 Service Pack (SP) 4(包含网络地址转换遍历 (NAT-T) 更新)、Windows XP SP2 和 Windows Server 2003 的计算机作为域成员的兼容性。
•
当使用了 Microsoft Windows 安全指南建议的强化方法保护这些平台时,它们的兼容性。 没有将使用 IPsec 筛选器允许和阻止通信流的通信流映射集成到此解决方案中,因为保护要求不同于隔离的保护要求。 没有集成通信流映射的其他原因是为了降低服务器隔离 IPsec 策略的复杂程度,还因为在许多情况下 Windows 防火墙更适合允许/阻止筛选(独立于 IPsec 为每个数据包提供的端到端安全性)。
•
IPsec 应用保护 Web (HTTP)、SQL Server、分布式文件系统 (DFS)、文件和打印共享、Microsoft Operations Manager (MOM) 以及 Microsoft Systems Management Server (SMS) 服务器和通信流的能力。
•
IPsec 封装式安全措施负载 (ESP) NAT-T 的兼容性,它对以下两种情况都使用用户数据报协议 (UDP)-ESP 封装:
•
来自 NAT 后面的域成员的出站访问使用 IKE Kerberos 身份验证
•
到 NAT 后面的域成员的入站访问使用 IKE Kerberos 身份验证
图 5.1 中展示的实验室方案用于测试是否已在解决方案的所有隔离组实现正确功能。 总共为图中显示在粗短划线中的隔离组(即隔离域、加密隔离组、无回退隔离组和边界隔离组)创建和指派了四种 IPsec 策略。以下各节说明这些策略是如何创建的。
IPsec 策略组件概述
IPsec 策略由几个组件组成,这些组件用于实施组织的 IPsec 安全要求。 下图描绘了 IPsec 策略的各种组件以及它们之间如何关联。
图 5.2 IPsec 策略组件
IPsec 策略充当一套规则的容器,这些规则确定将允许哪些网络通信流以及如何允许。 每条规则由一个筛选器列表和一个关联操作组成。 筛选器列表包含一组筛选器。 当通信流与特定筛选器匹配时,将触发关联的筛选器操作。 另外,规则还定义在主机之间使用哪些身份验证方法。
此图以从上往下的方式描绘了策略组件。 但是,建立策略最有效的方法是从筛选器和筛选器列表开始,因为它们是控制保护哪个通信流的基础构造块。
IPsec 筛选器列表
IPsec 筛选器列表是一个或多个筛选器的集合,这些筛选器用于根据每个筛选器的标准与网络通信流匹配。 筛选器列表中的每个筛选器定义以下各项:
•
源和目标网络或地址
•
协议
•
源和目标传输控制协议 (TCP) 或 UDP 端口
筛选器列表和筛选器操作设计成可在 IPsec 策略之间被共享。 这种方法允许为某种类型的免除维持一个筛选器列表,并允许在每个隔离组的个别 IPsec 策略中使用同一个筛选器列表。 但是,不能在筛选器列表之间共享组成筛选器列表的筛选器。 如果两个筛选器列表具有相同的筛选器,则必须创建这些筛选器两次,为每个筛选器列表创建一次。
IPsec 管理员应小心避免在 IPsec 策略中使用重复的筛选器,因为这些筛选器可能产生不同的操作。 IPsec 服务可能更改重复筛选器用于数据包处理的次序,从而产生不一致的结果。 当筛选器具有完全相同的操作(如允许或阻止)时,如有必要可以使用重复筛选器,且不会影响性能。
前面收集的网络信息用于确定管理员想保护的各种通信流模式。 另外,该信息还用于确定任何可能需要免除 IPsec 限制的通信流。
下表描述了典型组织中可能存在的一些基本筛选器列表。 根据组织的具体业务要求和网络设计,可能还需要其他筛选器列表。
表 5.1:解决方案提供的筛选器列表
筛选器列表
描述
安全子网列表
包含组织中将使用 IPsec 保护的所有子网
DNS 免除列表
包含允许不使用 IPsec 进行通信的 DNS 服务器的 IP 地址
域控制器免除列表
包含允许不使用 IPsec 进行通信的域控制器的 IP 地址
WINS 免除列表
包含允许不使用 IPsec 进行通信的 Windows Internet 命名服务 (WINS) 服务器的 IP 地址
DHCP,协商通信流
包含允许动态主机配置协议 (DHCP) 协商通信流经过 UDP 68 的筛选器
ICMP,所有通信流
包含允许 Internet 控制消息协议 (ICMP) 在组织内用于疑难解答的筛选器
安全子网列表包含组织内部网络内的所有子网。 此筛选器列表与实施特定隔离组所需操作的筛选器操作相关联。 此操作是对该子网所有网络通信流使用最广的安全操作(例如,协商 IPsec),因为其他筛选器(如用于 ICMP 的筛选器)更加特别,将需要不同的操作(如允许)。 切记这种方法意味着那些子网上不得有不受信任的主机或非 IPsec 主机。
这些筛选器必须同时实施入站和出站安全要求。 定义这些筛选器时,应将它们配置为镜像。 镜像确保当使用正好相反的源和目标地址时,也与通信流相匹配。 当描述筛选器时,符号“<->”用于表示该筛选器是镜像的。 每当筛选器操作协商 IPsec 封装的安全措施时,必须使用镜像筛选器。
源和目标地址
每个筛选器对源和目标地址都进行了设置。 Windows XP 和 Windows Server 2003 比 Windows 2000 具有更多的地址选项。 因此,仅当 Windows 2000 是域的成员时,才使用 Windows 2000 设置。 Windows 2000 设置说明如下:
•
我的 IP 地址。 设计了此选项,以便可对许多或所有计算机应用 Active Directory 中的公用 IPsec 策略,而不管它们是使用静态 IP 地址还是使用 DHCP 分配的地址。 为了支持从域进行集中策略指派,IPsec 只支持接口类型(如 LAN 或 WAN)的筛选器配置,不支持物理网络接口(例如,拨号或虚拟专用网络 (VPN) 接口)的筛选器配置。 使用“我的 IP 地址”导致当 IPsec 服务准备实施策略时,通用 IPsec 策略筛选器被复制成为特定筛选器,该特定筛选器包含计算机所使用的每个 IP 地址。 它还使 IPsec 服务检测地址更改或新的网络接口,以便维持正确的筛选器数目。 如果计算机有一个配置了两个 IP 地址的网卡,则将有使用两个不同的 IP 地址创建两个不同的 IPsec 特定筛选器。
•
任何 IP 地址。 此选项导致 IPsec 筛选器与任何 IP 地址匹配。
•
一个特定的 DNS 名称。 此选项导致 IPsec 评估指定的 DNS 名称的 IP 地址,然后使用那个或那些 IP 地址创建筛选器。 结果与管理员将那个或那些 IP 地址输入筛选器相同。 在创建初始筛选器期间,该 DNS 名称将被解析,相应的 IP 地址将被放入筛选器。 如果对于筛选器中指定的 DNS 名称,DNS 服务器具有错误的资源记录,则将会把错误的 IP 地址添加到筛选器。
注:在策略中第一次创建筛选器之后,不会再评估该 DNS 名称。
当需要创建许多筛选器时,DNS 名称选项非常有用,因为 DNS 名称具有许多相应的 IP 地址,如域中每个域控制器的 IP 地址。 没有自动方法来创建将与给定 DNS 名称的 IP 地址列表保持同步的筛选器。
•
特定地址。 此选项使通信流与向筛选器提供的 IP 地址匹配。
•
特定子网。 此选项允许管理员配置特定的子网。 指定的子网内的任何 IP 地址将与该筛选器匹配。 使用此选项时应小心,特别是当为子网创建了免除时,因为也会免除欺骗性地使用了该子网的 IP 地址的恶意用户。
注:Windows XP 和 Windows Server 2003 已经进行了增强,提供附加的地址选项,以及那些版本支持的许多其他选项。 如果要对多个平台应用同一 IPsec 策略,管理员必须确保在策略设计中仅使用 Windows 2000 选项。
协议
除了源和目标地址配置之外,还可将每个筛选器配置为与特定协议或端口匹配。 默认情况下,筛选器将与所有协议和所有端口上的通信流匹配。 如果选择了支持端口的特定协议作为筛选条件的一部分,则管理员还可以选择配置源和目标端口。
源和目标端口
虽然可将筛选器配置为与 TCP 或 UDP 端口匹配,但是此解决方案建议不要创建特定于端口的筛选器。 端口筛选大幅增加管理开销和 IPsec 筛选器配置的复杂程度,并需要在 IKE 的客户端和服务器策略之间进行复杂的协调才能成功地协商安全性。 因为此解决方案假定受信任计算机之间的通信事实上也是可信任的,所以筛选器允许所有通信流(ICMP 除外)受 IPsec 保护。 如果在受信任主机上需要端口筛选,请参阅 Business_Requirements.xls 以了解相应的安全要求,通过组合使用 IPsec 和位于 IPsec 层之上基于主机的防火墙(如 Windows 防火墙)可满足这些安全要求。
为了解决附录 A 中提到的有关使用“我的 IP 地址”的筛选器行为的一些问题,此解决方案为 Woodgrove Bank 方案使用了“任何 IP 地址 <-> 子网”筛选器。 创建了一个筛选器列表,该列表由多个“任何 IP 地址 <-> 特定子网”筛选器组成,在这些筛选器中显式列出了组织的所有子网。 这种方法允许管理员定义应保护的特定子网。 指定的子网之外的任何通信流将不与任何 IPsec 筛选器匹配,将以明文方式发送到目标主机。
有关筛选器设计的其他最佳做法建议,请参阅 Microsoft TechNet 上的 IT Showcase 白皮书“Improving Security with Domain Isolation: Microsoft IT implements IP Security (IPsec)”的“Best Practices”部分,网址为 www.microsoft.com/technet/itsolutions/msit/
security/ipsecdomisolwp.mspx。
免除列表注意事项
由于支持、技术或商业原因,可能无法使用 IPsec 保护一些通信流。 另外,不运行 Windows 操作系统的计算机可能不支持 IPsec 或不能轻松地给它们部署 IPsec。 运行较旧的 Windows 版本(如 Microsoft Windows NT® 版本 4.0、Windows 95 和 Windows 98)的计算机不能处理基于组策略的 IPsec。 最后,仅当手动将策略部署到个别计算机且使用了某种不同于 Kerberos V5 协议的身份验证(如预共享密钥或证书),运行 Windows 2000 或更高版本的未受管理的计算机才可以参与 IPsec 协商。
另外,运行 Windows 2000 或更高版本的计算机需要拥有网络连接且能从域获得 IPsec 策略,然后才能建立 IPsec。 当前,连接到网络、查找域控制器和检索策略需要免除支持基础结构服务受 IPsec 安全性保护。 这些服务包括命名服务(如 DNS 和 WINS)以及域控制器本身。
除了这些基础结构服务之外,组织中可能存在不支持 IPsec 的其他服务。 例如,需要从高级部署服务 (ADS) 或远程安装服务 (RIS) 下载映像的瘦客户端或其他引导客户端不支持 IPsec。 如果您的网络上存在提供这些服务的服务器,应检查它们是否包括在免除列表中或使它们成为边界隔离组的成员,以便它们可接受来自不能使用 IPsec 的主机的网络通信。
注:决定是否在免除列表上包括提供 ADS、RIS 或其他类似服务的服务器,或是否使它们成为边界隔离组的成员,取决于风险和可管理性因素。 在任一情况下,都应彻底测试所选择的方法。
如果客户端不能参与 IPsec 基础结构但有访问使用 IPsec 的服务器的商业需要,则必须实施某种方法来允许建立通信路径。 本指南中的解决方案使用免除筛选器列表来通过允许操作控制这些通信流要求。 免除列表设计成集成到 IPsec 基础结构中,以确保即使不能使用 IPsec 协商也能进行所有必需的主机通信。
免除列表用于有选择性地使通信流不必参与 IPsec 基础结构,方法是允许与免除列表的筛选器匹配的通信流。 需要仔细设计这些列表,因为它们绕过 IPsec 实施的安全机制。 例如,把通常受到加密保护(以保护专用信息)的服务器放入免除列表,将允许来宾计算机直接与该服务器通信,而无需使用 IPsec。
以筛选器列表的方式实施免除列表有助于使列表大小最小化,以便进行更轻松的用户界面 (UI) 配置。 例如,您应拥有包含用于所有域控制器的筛选器的筛选器列表,或拥有包含用于每个域中域控制器的筛选器的筛选器列表。 拥有多个筛选器列表的第二个优点是可以在 IPsec 策略中轻松地为每个筛选器列表禁用/启用允许规则。
当在 IPsec 策略中设计一条规则来实施免除时,您想要允许最少数量的必要通信流不受 IPsec 保护。 但是,在 IPsec 策略的复杂程度和规模与使用最特别的筛选器获得的安全性之间存在平衡。 请注意,必须免除所有受信任林中的所有域控制器 IP 地址,以便一个域或林中的客户端能为另一个受信任域或林中的服务器获取 Kerberos 票证。 Windows Kerberos 客户端要求 ICMP、轻量目录访问协议 (LDAP) UDP 389 以及 Kerberos UDP 88 和 TCP 88 通信流可以到达自己的域控制器和其他域中的域控制器。 域成员要求与所在域的域控制器之间可以有其他类型的通信流,如服务器消息块 (SMB) TCP 445、远程过程调用 (RPC) 和 LDAP TCP 389。 对于安全要求不是极高的情况,为了简化和减少筛选器的数目,为与域控制器 IP 地址的“所有通信流”实施了免除。
您可能想要通过端口而不是通过目标地址来免除特定应用程序通信流(如使用 TCP 端口 23 访问 UNIX 系统的出站 Telnet),以避免必须维护地址列表。 例如,考虑以下出站免除:
我的 IP 地址至任何 IP 地址,TCP,源端口任意,目标端口 23,镜像
相应的入站筛选器应如下:
任何 IP 地址至我的 IP 地址,TCP,源端口 23,目标端口任意
此入站筛选器将允许来自 Telnet 连接请求的响应,但它也将允许攻击者绕过 IPsec 身份验证要求和访问主机上任何打开的端口。 在使用此筛选器设计之前,组织必须仔细评估这种潜在攻击的安全风险。 如果指定了目标 IP 地址,该风险当然就降至最低。 如果未禁用 Kerberos 身份验证协议的默认免除,则可能存在相同的情况。 有关默认免除的设计和安全影响的详细讨论,请参阅 Microsoft 知识库 (KB) 文章 811832(网址为 http://support.microsoft.com/?kbid=811832)和 810207(网址为 http://support.microsoft.com/?kbid=810207)。 设计 IPsec 策略时应假设没有启用任何默认免除。
将系统地址放在免除列表中,将为实施该免除列表的所有 IPsec 策略有效免除那些系统作为 IPsec 主机参与。 因为组织中的大多数客户端(包括来宾客户端)通常需要访问基础结构服务(如 DHCP、DNS 或 WINS),所以通常用这种方式实施提供这些服务的服务器。
WWoodgrove Bank 筛选器列表
在分析第 4 章得出的通信流要求之后,Woodgrove Bank 管理员映射出下表中的筛选器列表:
表 5.2:Woodgrove Bank 筛选器列表示例
筛选器列表
已定义的筛选器
协议或端口
安全子网
任何 IP 地址 <-> 192.168.1.0/24
任何 IP 地址 <-> 172.10.1.0/24
全部
DNS 免除列表
任何 IP 地址 <-> 192.168.1.21
任何 IP 地址 <-> 192.168.1.22
全部
域控制器免除列表
任何 IP 地址 <-> 192.168.1.21
任何 IP 地址 <-> 192.168.1.22
全部
LOB 应用程序服务器免除列表
任何 IP 地址 <-> 192.168.1.0
全部
WINS 免除列表
任何 IP 地址 <-> 192.168.1.22
全部
DHCP,协商通信流
我的 IP 地址 <-> 任何 IP 地址
UDP 源 68,目标 67
ICMP,所有通信流
我的 IP 地址 <-> 任何 IP 地址
仅 ICMP
Woodgrove Bank 的设计者遵循本章提供的指导创建了这些筛选器列表。 第一个列表 ― 安全子网列表 ― 由两个筛选器组成:
•
任何 IP 地址 <-> 192.168.1.0/24
•
任何 IP 地址 <-> 172.10.1.0/24
这些子网筛选器是镜像的,以同时与入站和出站通信流匹配,且配置为在任何协议上触发。 当与适当的筛选器操作配对时,此筛选器列表将实施隔离组。
Woodgrove Bank 的设计者然后选择为 ICMP 网络通信流实施免除列表。 此筛选器列表由一个镜像筛选器(我的 IP 地址 <-> 任何 IP 地址)组成,该筛选器配置为仅用于 ICMP 网络通信流。 这种方法允许管理员使用 Ping 实用工具作为环境中的疑难解答工具,不管是否已协商 IPsec 安全关联 (SA)。 因为此解决方案需要路径最大传输单位 (MTU) 发现才能正确工作,所以这种方法也是必要的。 对于 DHCP 通信流,Woodgrove Bank 的设计者为 UDP 端口 68 创建了新的筛选器以允许 DHCP 客户端接收来自 DHCP 服务器的通信流。
另外,Woodgrove Bank 还有一些业务线 (LOB) 应用程序在无法参与 IPsec 基础结构的服务器上运行。 为了提供那些服务,他们创建了称作“LOB 应用程序服务器免除列表”的新筛选器列表,并为托管 LOB 应用程序的系统添加了“任何 IP 地址 <-> 192.168.1.10”筛选器。
最后,Woodgrove Bank 的设计小组确定了它的基础结构服务并创建了相应的免除筛选器列表,以允许所有客户端直接与提供这些服务的服务器通信,而不管隔离组的 IPsec 设置。 为以下服务创建了特定的免除列表:
•
DNS。 此列表免除 DNS 服务器,以便网络中的所有客户端可执行域名查找。
•
域控制器。 此列表允许加入域的系统与域控制器进行身份验证。
•
WINS。 此列表特别允许主机设备在 WINS 服务器上查找 NetBIOS 名称。
这些筛选器列表由定义“任何 IP 地址 <-> 一个特定的 IP 地址”的镜像筛选器组成,而且这些筛选器已配置为在任何协议上触发。 免除筛选器列表中的计算机数应保持最少,因为到这些计算机的所有通信流得到免除,且免除列表中的所有计算机对隔离域中的所有受信任主机拥有全部的 TCP/IP 访问权限。 因此,这种方法可能比其他任何方法提供更大的攻击面。 有关缓解来自受免除 IP 地址的入站通信流风险的详细要求,请参阅 Business_Requirements.xls 电子表格(在“工具和模板”文件夹中)。
Woodgrove Bank 选择为 DNS 服务器和域控制器管理两个单独的列表,即使它们的 IP 地址相同。 因为两个筛选器列表将具有完全相同的操作(即允许),所以 Woodgrove 采用这种方法。 另外,Woodgrove 生产网络在某些领域使用不同时是域控制器的 DNS 服务器。
用于 DHCP 的筛选器设计成与所有 DHCP 客户端出站通信流匹配,而不是使用特定的目标 IP 地址。 此筛选器的镜像将允许来自 DHCP 服务器的响应。 如上所述,它还可能允许来自任何 IP 地址使用源端口 67 的入站攻击。 但是,入站攻击限于客户端上的目标端口 68,这是 DHCP 客户端所使用的端口。 Woodgrove Bank 使用了这种设计来避免为每个 DHCP 服务器设置筛选器,因为它的风险评估没有将针对 DHCP 客户端端口的入站攻击或未经授权的 DHCP 服务器评级为高风险。
本节不包括每个筛选器的详细描述。 但是,建议您使用筛选器描述字段仔细定义每个筛选器,因为 IPsec 监视器和命令行工具显示每个筛选器的描述,而不是筛选器列表中的信息。
IPsec 筛选器操作
筛选器操作定义 IP 数据包与筛选器列表内的筛选器匹配之后如何被处理。 筛选器操作是实施各种隔离组的基础。 虽然 Windows 操作系统提供了三个默认筛选器操作,但是建议您删除这些筛选器操作并创建新的筛选器操作,这种方法可以确保只使用您作为设计的一部分创建的操作。 每个筛选器操作由名称、描述和安全措施组成。
名称
给筛选器操作取一个反映筛选器操作行为的有意义的名称。
描述
在描述字段中,输入筛选器操作行为的详细描述。
安全措施
筛选器操作内实施的安全措施由处理与筛选器列表中关联筛选器匹配的数据包的要求确定。 可以使用以下三个选项:
•
阻止。 对于与关联筛选器匹配的 IP 数据包,将阻止该数据包。 换句话说,将舍弃或忽略该数据包。
•
许可。 对于与关联筛选器匹配的 IP 数据包,将允许该数据包通过 IPsec 层,且 IPsec 对它们不进行任何进一步处理。
•
协商。 如果出站数据包满足筛选条件,IPsec 将尝试协商筛选器操作中的一个安全措施(基于安全措施的相对次序)。 安全措施在列表中的位置越高,它的优先级越高。 每种安全措施可定义是否使用完整性、是否启用加密以及哪些加密算法起作用。 如何处理与具有协商操作的筛选器匹配的入站数据包由“接受不安全的通讯,但总是用 IPSec 响应”的设置确定。
下表列出了每种安全措施的可能加密选项:
表 5.3:安全和加密选项
安全措施
加密选项
描述
验证头 (AH)
MD5
SHA-1
提供 IP 有效负载(数据)和 IP 标头(地址)完整性和身份验证,没有加密。 AH 不能遍历运行 NAT 的设备。
ESP ? 完整性
<无>
MD5
SHA-1
仅为 IP 有效负载(数据)提供完整性和身份验证。 可与加密或没有加密配合使用。 建议不要使用没有加密的 ESP。
ESP ? 加密
<无>
3DES
DES
通过使用 DES 或 3DES,提供 IP 有效负载(数据)加密。 当没有必要使用加密时,可与空加密算法配合使用。
Windows 2000 SP4、Windows XP SP2 和 Windows Server 2003 IPsec 实施现在对 IPsec 传输模式 ESP 支持 NAT-T 技术,并对 L2TP/IPsec VPN 客户端隧道支持 NAT-T。 NAT-T 更新对 Windows 2000 SP4 是必需的。 Windows 2000 和 Windows XP 对 IPsec 传输模式 NAT-T 的支持限于 Windows 2000 和 Windows XP 早于 SP2 的版本,因为不支持对 IPsec 保护的 TCP 通信流进行 TCP 路径 MTU (PMTU) 检测。 Windows Server 2003 没有此支持。 NAT-T 技术在 IP 标头之后使用 UDP 标头来封装 ESP。 当路径中存在 NAT 时,IKE 进行自动检测,且每当安全措施列表中允许 ESP 时都会使用 UDP-ESP。 另外,值得注意的是当前的 Windows IPsec 实施不支持美国联邦政府高级加密标准 (AES)。 在未来的 Windows 版本中,这种情况将会改变。
为 AH 和 ESP 提供了以下加密选项:
•
MD5。 这种哈希算法使用 128 位加密密钥来生成数据包内容的摘要。 MD5 不是美国联邦安全法规的批准算法。
•
SHA-1。 这种哈希算法使用更强的 160 位加密密钥来生成数据包内容的摘要。 SHA-1 更长的密钥长度提供更强的安全性,虽然它使用更高的处理开销。 SHA-1 是美国联邦安全法规的批准算法。
在只实施了数据完整性和身份验证的情况下,可将 ESP 配置为不使用加密算法。 此配置通常称作 ESP-Null,提供以下能力:在建立通信连接和对 ESP 数据包内携带的 IP 数据包的数据部分执行完整性检查之前,对主机进行身份验证。
ESP 也可以加密 IP 数据包的数据部分。 提供以下两个加密选项:
•
DES。 此选项只使用一个 56 位密钥,且只处理每个数据块一次。 DES 是为了遵循征求意见文档 (RFC) 提供的。 因为攻击者容易破解 DES 加密,所以建议不要使用 DES。
•
3DES。 此选项使用三个不同的 56 位密钥,处理每个数据块三次。 虽然 DES 受支持,但强烈建议您使用 3DES,因为它更安全。 但是 3DES 比 DES 性能上慢一些且处理开销更高。
如果需要满足非常高的安全要求,可以将 AH 和 ESP 协议互相组合。 例如,如果除了数据加密之外对 IP 标头完整性有明确要求,可以将安全措施配置为将使用 SHA-1 完整性的 AH 与 ESP ? 3DES 加密组合使用。 如果只要求数据完整性,则可使用 ESP-null 与 SHA-1。
虽然您可以选择任意组合的安全性选项,但认识 AH 同时提供数据和地址标头完整性非常重要。 使用 AH 和 ESP 来提供完整性不会为数据包数据提供任何附加的完整性保护,只会增加与处理数据包相关的工作负荷。 另外,ESP 与 AH 组合不能克服 AH 面临的 NAT 障碍问题。 因此,使用 ESP 之后再使用 AH 仅适合于最高的安全环境。
当设计筛选器操作的安全措施时,需要仔细规划。 要使两台计算机能成功协商,在它们各自的筛选器操作中需要至少有一种安全措施是公共的。 每个筛选器操作可包含多种协商方法以提供不同类型的协商。 例如,系统可能通常只协商 ESP-Null,但筛选器操作可能还包含 ESP-3DES 的协商方法。 这种方法将允许系统在需要的时候协商 3DES 加密连接。
除了选择安全措施之外,如有需要,还可为每种安全措施选择会话密钥设置。 在 IPsec SA 寿命的默认设置中,它可配置为传递了 100 兆字节 (MB) 的数据时或经过 1 小时之后。 这些设置控制 IKE 快速模式何时重新协商新的 IPsec 安全关联对。 IKE 快速模式过程称作“重新生成密钥”,但实际上不仅仅是刷新现有 IPsec SA 对的密钥。 如果寿命到期,IPsec 必须舍弃数据包;因此,它尝试在以字节或秒数计算的寿命到期之前重新协商成功。 如果寿命设置得太短,则可能丢失数据包。 同样,服务器维护与许多客户端的 IPsec SA 可能增加 CPU 使用率。 续订 IPsec SA 确保攻击者无法破解整个通信,即使他们设法确定了其中一个会话密钥。 寿命越长,就会给攻击者提供更多的有关会话密钥的信息。 因此,除非操作需要要求那样做,否则不得更改寿命,您还可以编写特定的安全要求,来针对精心策划的加密攻击定义合适的保护级别。
安全协商选项
您可以为 IPsec 策略设置以下安全协商选项:
•
入站通过
•
回退到使用明文
•
使用会话密钥完全向前保密
入站通过
“入站通过”选项设计为在内部服务器策略中使用,以便客户端策略可使用非入侵“默认响应”规则。 当启用了此选项时,将接受与入站筛选器匹配的明文连接请求。 服务器的连接回复与出站筛选器进行匹配以触发到客户端的 IKE 主模式协商请求。
不得在直接连接 Internet 的计算机上启用此选项,因为它允许入站攻击通过 IPsec 层。 它还会强制服务器尝试与任何传入数据包的源 IP 进行 IPsec SA 协商。 通过使用欺骗性的源 IP 地址,攻击者可以导致服务器拒绝服务,因为 IKE 尝试与成千上万的无效 IP 地址协商。
要启用“入站通过”,请在“管理筛选器操作”对话框中选择“接受不安全的通讯,但总是用 IPSec 响应”。
注:如果对客户端指派的策略未启用默认响应规则,则因为将没有对 IPsec 通信的响应,所以应禁用此选项。 另外,它可被用作拒绝服务的攻击媒介。
回退到使用明文
“回退到使用明文”选项控制当初始 IKE 主模式协商没有获得来自目标计算机的响应时,(源)计算机是否可以允许在没有 IPsec 保护的情况下发送通信流。 不支持 IPsec 的主机将无法(使用 IKE)回复 IKE 协商请求。 这些主机称作“不支持 IPsec”的计算机。 但是,没有 IKE 主模式响应不一定意味着该计算机不具备 IPsec 能力;它可能是具备 IPsec 能力的计算机,只不过没有活动 IPsec 策略。 或者该活动 IPsec 策略可能只有允许和阻止操作。 或者该活动 IPsec 策略没有设计成与源计算机的 IP 地址协商。 在 IPsec 术语中,不使用 IPsec 的网络通信流称作“明文”。 如果在三秒钟内没有来自目标计算机的响应,将创建软安全关联(软 SA),并将开始用明文进行通信。 对于初始部署,建议启用此选项,以便客户端可与没有启用 IPsec 的主机通信。 另外,当为了解决问题而停止 IPsec 服务时,使用此选项也可帮助临时重新建立明文连接。 如果目标计算机没有提供 IKE 响应且在 IKE 协商期间由于任何原因出现故障,则源计算机上的 IPsec 将舍弃出站数据包,从而有效地阻止通信。
要启用“回退到使用明文”选项,在“管理筛选器操作”对话框中选择“允许和不支持 IPSec 的计算机进行不安全的通讯”。
注:在运行 Windows 2000 SP3 或更高版本、Windows XP SP1 或 Windows Server 2003 的计算机上,此选项的工作方式已更改。 如果只启用了此选项,系统将能够以明文形式发起通信,但不会接受来自不支持 IPsec 的系统的任何通信请求。 如果系统需要响应来自不支持 IPsec 的系统的请求并发起通信到不支持 IPsec 的系统,必须同时选择“接受不安全的通讯,但总是用 IPSec 响应”选项和“允许和不支持 IPSec 的计算机进行不安全的通讯”选项。
如果系统运行的是未安装合适服务包的 Windows 2000 或 Windows XP,则当选择了“允许和不支持 IPSec 的计算机进行不安全的通讯”时,即使未选择“接受不安全的通讯,但总是用 IPsec 响应”,客户端也将接受不安全的通信请求。 因为当选择了“允许和不支持 IPSec 的计算机进行不安全的通讯”选项时,IPsec 将关联的入站筛选器当作“入站通过”筛选器处理,所以出现这种行为(选择了“接受不安全的通讯,但总是用 IPSec 响应”时出现相同行为)。
使用会话密钥完全向前保密
“使用会话密钥完全向前保密” (PFS) 选项确定主密钥资料是用于生成所有会话密钥还是只生成第一个会话密钥。 如果启用了此选项,则只可使用主密钥一次,每个附加的会话密钥重新协商将要求进行新的密钥交换,以便在生成会话密钥之前生成新的主密钥。 此要求确保当主密钥泄露时,攻击者不能生成附加的会话密钥来解密通信流。 因为在每个会话密钥续订时间间隔期间进行密钥交换会产生附加的开销成本,所以建议不要启用此选项。
Woodgrove Bank IPsec 筛选器操作
下表提供用于实施 Woodgrove Bank 方案的各种隔离组的筛选器操作名称和描述:
表 5.4:IPsec 筛选器操作和描述
筛选器操作
描述
IPsec ? 阻止
阻止与筛选器匹配的通信流。
IPsec ? 允许
允许与筛选器匹配的通信流。
IPsec ? 请求模式
(接受入站,允许出站)
主机接受 IPsec 或明文入站数据包。 对于出站通信流,它触发 IKE 协商并允许在没有响应的情况下回退到使用明文。 此筛选器操作用于配置边界隔离组。
IPsec ? 安全请求模式(忽略入站,允许出站)
仅当数据包受 IPsec 保护时,主机才允许入站 TCP/IP 访问,并忽略非 IPsec 入站数据包。 对于出站通信流,它触发 IKE 协商并允许在没有响应的情况下回退到使用明文。 此筛选器操作用于实施允许至不受信任主机的出站连接的隔离域。
IPsec ? 完全要求模式(忽略入站,禁止出站)
主机对入站和出站数据包都要求 IPsec 保护的通信。 此筛选器操作用于实施所有通信受 IPsec 保护的无回退隔离组。
IPsec ? 要求加密模式(忽略入站,禁止出站)
仅当数据包受 IPsec ESP 3DES 加密保护时,主机才允许入站 TCP/IP 访问,并忽略非 IPsec 入站数据包。 对于出站通信流,它触发要求 IPsec ESP 3DES 加密的 IKE 协商。 此筛选器操作用于实施加密隔离组。
前两个筛选器操作非常简单。 阻止筛选操作将丢弃任何匹配筛选器列表中与此操作关联的筛选器的通信流。 对于具有匹配筛选器的任何关联筛选器列表,允许筛选器操作将允许该通信流发生。 表 5.4 中最后四个筛选器操作用于实施 Woodgrove Bank 方案中的隔离组。
Woodgrove Bank 管理员需要实施四个安全隔离组。 要部署此配置,除了允许和阻止筛选器操作之外,还必须使用自定义安全协商方法定义至少三个筛选器操作。
Woodgrove Bank 对使特定安全隔离组内的计算机彼此隔离没有其他要求。 该银行已确定下表中的四个协商筛选器操作对实施其环境已足够。
表 5.5:受支持的安全措施
筛选器操作
受支持的安全措施
IPsec ? 请求模式(接受入站,允许出站)
ESP ? SHA-1,<无>
ESP ? SHA-1,3DES
IPsec ? 安全请求模式(忽略入站,允许出站)
ESP ? SHA-1,<无>
ESP ? SHA-1,3DES
IPsec ? 完全要求模式(忽略入站,禁止出站)
ESP ? SHA-1,<无>
ESP ? SHA-1,3DES
IPsec ? 要求加密模式(忽略入站,禁止出站)
ESP ? SHA-1,3DES
Woodgrove 使用 IPsec ESP 取代 AH,因为组织中存在使用 NAT 的网络设备。
Woodgrove Bank 还要求对组织中的某些服务器实施加密。 因此,所有策略需要该选项来使用加密。 由于上述原因,Woodgrove Bank 选择完全基于 IPsec ESP 来实施它的安全性。
对于 ESP 完整性,Woodgrove Bank 选择使用 SHA-1 而不是 MD5,因为前者具有更强的安全性,但也是因为需要它来满足美国政府处理金融信息方面的法规(包括使用批准的算法)。
Woodgrove Bank 选择不在任何筛选器操作上实施 PFS,因为它没有要求使用 PFS 的特定安全威胁。 Woodgrove 作出这样的决策也是为了避免密钥重新协商导致的计算机性能影响。
隔离域筛选器操作
为了实施隔离域,Woodgrove Bank 管理员创建了“IPSEC ? 安全请求模式(忽略入站,允许出站)”筛选器操作。
Woodgrove Bank 对隔离域中的主机与其他隔离组中的主机之间的通信有多种业务要求。 因此,隔离域中的客户端执行本指南第 4 章的表 4.5 和 4.6 中描述的下列操作:
•
发起与无回退隔离组中的主机的通信
•
接受来自无回退隔离组中的主机的通信
•
发起与加密隔离组中的主机的通信
•
接受来自加密隔离组中的主机的通信
•
发起与边界隔离组中的主机的通信
•
接受来自边界隔离组中的主机的通信
•
发起与不受信任系统的通信
隔离域中的客户端不能接受来自不受信任系统的通信。
请记住 IPsec 策略使用筛选器和筛选器操作来侦听和控制入站和出站数据包。 虽然 IKE 对两边的计算机都进行身份验证,但是在发送初始出站连接请求时并不知道使用某个 IP 地址的计算机的组成员身份。 因此,不能将 IPsec 和 IKE 特定地配置为以某种方式发起与特定身份或隔离组的通信。 另外,是这些隔离组的成员的计算机可能位于内部网络上的任何地方。 因此,不能使用 IP 地址来定义或近似定义隔离组。
为了在 IPsec 策略中实施这些要求,必须将筛选器操作设计成与指定所有内部子网的筛选器列表一起工作。 可以将上述要求减少为以下两种基本行为:
•
出站,对于与相应筛选器(所有内部子网)匹配的数据包,触发 IKE 协商请求,这些请求尝试用 IPsec ESP(首选 ESP-null,包括 ESP?SHA-1?3DES)保护通信流。 如果目标主机不用 IKE 响应,则允许“回退到使用明文”。
•
入站,对于与相应筛选器(所有内部子网)匹配的数据包,如果通信流未受有效 IPsec ESP 数据包保护,则忽略该通信流。
为了能够与加密隔离组进行通信,安全措施包括为加密隔离组定义的安全措施(ESP?SHA-1?3DES 算法)。 有关加密安全协商方法的详细信息,请参阅本章稍后的“加密隔离组筛选器操作”一节。
对于隔离组内的通信流以及与边界和无回退隔离组的通信流,Woodgrove Bank 使用 ESP-null 与 SHA-1。
必须禁用筛选器操作上的“接受不安全的通讯,但总是用 IPSec 响应”选项,以便忽略入站明文通信。 这种方法确保隔离域中的主机不接受来自任何未参与 IPsec 环境的计算机的通信流。
“IPSEC ? 安全请求安全性(忽略入站,允许出站)”筛选器操作配置为允许隔离域的成员发起与不受信任系统的通信。 通过启用筛选器操作上的“允许和不支持 IPSec 的计算机进行不安全的通讯”选项来实施此行为。 如果隔离域中的受信任主机发起到不受信任主机(或另一个不支持 IPsec 的系统)的出站连接,则会建立 IPsec 软 SA,在通信流停止流动之后 IPsec 软 SA 会继续活动 5 分钟。 因此,不受信任系统在这段时间可以发起新的回到受信任主机的明文连接。 在软 SA 超时之后,受信任主机将不再接受来自该系统的明文通信流。 IPsec 筛选和软 SA 支持没有设计成象许多防火墙那样提供特定于连接的保护,如状态筛选。 软 SA 允许与关联筛选器匹配的所有通信流。 有关此过程的详细信息,请参阅附录 A“IPsec 策略概念概述”的“IKE 主模式 SA 和 IPsec SA”一节。
边界隔离组筛选器操作
为了实施边界隔离组,Woodgrove Bank 管理员创建了“IPSEC ? 请求模式(接受入站,允许出站)”筛选器操作。
Woodgrove Bank 对边界隔离组中的主机与其他隔离组中的主机之间的通信有多种业务要求。 因此,边界隔离组中的客户端可执行第 4 章的表 4.5 和 4.6 中描述的下列操作:
•
发起与无回退隔离组中的主机的通信
•
接受来自无回退隔离组中的主机的通信
•
发起与隔离域中的主机的通信
•
接受来自隔离域中的主机的通信
•
接受来自加密隔离组中的主机的通信
•
发起与不受信任系统的通信
•
接受来自不受信任系统的通信
为了在 IPsec 策略中实施这些要求,必须将筛选器操作设计成与指定所有内部子网的筛选器列表一起工作。 可以将上面列出的要求减少为以下两种基本行为:
•
出站,对于与相应筛选器(所有内部子网)匹配的数据包,触发 IKE 协商请求,这些请求尝试用 IPsec ESP(首选 ESP-null,包括 ESP?SHA-1?3DES)保护通信流。 如果目标主机不用 IKE 响应,则允许“回退到使用明文”。
•
入站,接受与相应筛选器(所有内部子网)匹配的明文数据包。
为了满足发起和接受与隔离域和无回退隔离组之间的通信流的要求,Woodgrove Bank 确保在筛选器操作中提供用于隔离域和无回退隔离组的安全协商方法。 对于完整性,Woodgrove 选择的通用安全协商方法是 ESP 与 SHA-1。
允许边界隔离组中的主机与不受信任系统进行通信。 为了实现此能力,Woodgrove Bank 管理小组为此筛选器操作同时启用了“允许和不支持 IPSec 的计算机进行不安全的通讯”和“接受不安全的通讯,但总是用 IPSec 响应”选项。 通过同时启用这两个选项,Woodgrove Bank 确保接受不安全的入站通信流并能够使不安全的出站通信流回退到使用明文。
无回退隔离组筛选器操作
为了实施“无回退”隔离组,Woodgrove Bank 管理员创建了“IPSEC ? 完全要求模式(忽略入站,禁止出站)”筛选器操作。
Woodgrove Bank 对无回退隔离组中的主机与其他隔离组中的主机之间的通信有多种业务要求。 因此,无回退隔离组中的客户端可执行下列操作:
•
发起与隔离域中的主机的通信
•
接受来自隔离域中的主机的通信
•
发起与加密隔离组中的主机的通信
•
接受来自加密隔离组中的主机的通信
•
发起与边界隔离组中的主机的通信
•
接受来自边界隔离组中的主机的通信
无回退隔离组中的客户端既不能发起到不受信任系统的通信,也不能接受来自不受信任系统的通信。
为了在 IPsec 策略中实施这些要求,必须将筛选器操作设计成与指定所有内部子网的筛选器列表一起工作。 可以将上面列出的要求减少为以下两种基本行为:
•
出站,对于与相应筛选器(所有内部子网)匹配的数据包,触发 IKE 协商请求,这些请求尝试用 IPsec ESP(首选 ESP-null,包括 ESP?SHA-1?3DES)保护通信流。 如果目标主机不用 IKE 响应,则不允许“回退到使用明文”。
•
入站,忽略与相应筛选器(所有内部子网)匹配的明文数据包。
为了能够与加密隔离组进行通信,安全协商方法包括为加密隔离组定义的加密协商方法。 有关加密安全协商方法的详细信息,请参阅本章稍后的“加密隔离组筛选器操作”一节。
对于到边界隔离组和无回退隔离组的通信流,Woodgrove Bank 为完整性安全协商方法使用了 ESP 与 SHA-1。
清除了筛选器操作上的“接受不安全的通讯,但总是用 IPSec 响应”复选框,以创建无回退隔离组。 这种方法确保无回退隔离组中的主机必须用 IPsec 保护所有入站和出站通信流。 它们将不接受来自任何未参与 IPsec 环境的计算机的通信流。
“IPSEC ? 完全要求模式(忽略入站,禁止出站)”筛选器操作将不允许使用此筛选器操作的计算机发起到未参与 IPsec 基础结构的计算机的通信。 禁用了“允许和不支持 IPSec 的计算机进行不安全的通讯”选项以实施此要求。
加密隔离组筛选器操作
Woodgrove Bank 选择 ESP 作为它的基础完整性协议,并选择 SHA-1 作为加密选项。 另外,加密隔离组中的主机还需要与隔离域和无回退隔离组中的主机通信。 筛选器操作配置为包括加密信息的安全协商方法。
Woodgrove Bank 对加密隔离组中的主机与其他隔离组中的主机之间的通信有多种业务要求。 因此,加密隔离组中的客户端可执行表 4.6 中的下列操作:
•
发起与隔离域中的主机的通信
•
接受来自隔离域中的主机的通信
•
发起与无回退隔离组中的主机的通信
•
接受来自无回退隔离组中的主机的通信
•
发起与边界隔离组中的主机的通信
禁止加密隔离组中的计算机接受来自边界隔离组中的主机的通信。
为了在 IPsec 策略中实施这些要求,筛选器操作必须设计成与指定所有内部子网的筛选器列表一起工作。 可以将上面列出的要求减少为以下两种基本行为:
•
出站,对于与相应筛选器(所有内部子网)匹配的数据包,触发 IKE 协商请求,这些请求尝试仅用 IPsec ESP?SHA-1?3DES 保护通信流。 如果目标主机不用 IKE 响应,则不允许“回退到使用明文”。
•
入站,忽略与相应筛选器(所有内部子网)匹配的明文数据包。 仅接受来自允许 IPsec ESP?SHA-1?3DES 的受信任主机的 IKE 协商请求。
加密隔离组中的客户端不能接受来自边界隔离组的通信,且既不能发起与不受信任系统的通信,也不能接受来自不受信任系统的通信。
为了能够与隔离域进行通信,“IPSEC ? 要求加密模式(忽略入站,禁止出站)”中使用的加密安全协商方法也出现在“IPSEC ? 安全请求(忽略入站,允许出站)”和“IPSEC ? 完全要求模式(忽略入站,禁止出站)”筛选器操作中。 Woodgrove Bank 使用 3DES 加密方法,该方法提供比 DES 更好的安全性,但需要附加的开销。
因为要求既不接受也不发起与不受信任系统的通信,所以 Woodgrove Bank 未启用 “接受不安全的通讯,但总是用 IPSec 响应”选项。 此配置确保加密隔离组中的主机不接受来自任何未参与 IPsec 环境的计算机的通信流。 另外,也禁用了“允许和不支持 IPSec 的计算机进行不安全的通讯”选项,以防止计算机尝试发起与任何未参与 IPsec 环境的计算机的通信。
阻止来自边界隔离组计算机的 IPsec 通信需要其他配置。 Woodgrove Bank 管理员配置了 GPO,该 GPO 为具有“拒绝从网络访问这台计算机”权限的加密隔离组计算机传递 IPsec 策略。 已对拥有参与边界隔离组的系统的所有计算机帐户的组应用了此权限。 如果任何这些计算机尝试了发起与加密隔离组中的系统通信,则 IKE 身份验证将导致授权故障,且该通信将被阻止。