IPSec 术语
在执行以下指导步骤之前,确保您知道以下术语的含义:
身份验证:确定计算机的身份是否合法的过程。Windows 2000 IPSec 支持三种身份验证:Kerberos、证书和预共享密钥。只有当两个终结点(计算机)都位于同一个 Windows 2000 域时,Kerberos 身份验证才有效。这种类型的身份验证是首选方法。如果计算机位于不同的域中,或者至少有一台计算机不在某个域中,则必须使用证书或预共享密钥。只有当每个终结点中包含一个由另一个终结点信任的颁发机构签署的证书时,证书才有效。预共享密钥与密码有着相同的问题。它们不会在很长的时间段内保持机密性。如果终结点不在同一个域中,并且无法获得证书,则预共享密钥是唯一的身份验证选择。
加密:使准备在两个终结点之间传输的数据难以辨认的过程。通过使用充分测试的算法,每个终结点都创建和交换密钥。该过程确保只有这些终结点知道密钥,而且如果任何密钥交换序列被拦截,拦截者不会得到任何有价值的内容。
筛选器:对 Internet 协议 (IP) 地址和协议的描述,可触发 IPSec 安全关联的建立。
筛选器操作:安全要求,可在通信与筛选器列表中的筛选器相匹配时启用。
筛选器列表:筛选器的集合。
Internet 协议安全策略:规则集合,描述计算机之间的通讯是如何得到保护的。
规则:筛选器列表和筛选器操作之间的链接。当通信与筛选器列表匹配时,可触发相应的筛选器操作。IPSec 策略可包含多个规则。
安全关联:终结点为建立安全会话而协商的身份验证与加密方法的集合。
在 Microsoft 管理控制台中查找 IPSec
通过使用 Microsoft 管理控制台 (MMC) 配置 IPSec。Windows 2000 在安装过程中创建一个带有 IPSec 管理单元的 MMC。若要查找 IPSec,请单击开始,指向程序,单击管理工具,然后单击本地安全策略。在打开的 MMC 中的左窗格中,单击本地计算机上的 IP 安全策略。MMC 将在右窗格中显示现有的默认策略。
更改 IP 地址、计算机名和用户名
为了此示例的目的,假设 Alice 是一个计算机用户,该计算机名为"Alicepc"、IP 地址为 172.16.98.231,Bob 的计算机名为"Bobslap",IP 地址为 172.31.67.244。他们使用 Abczz 程序连接他们的计算机。
通过使用 Abczz 程序互相连接时,Alice 和 Bob 必须确保通信是被加密的。当 Abczz 建立其连接时,启动程序使用其本身上的随机高端口并连接(出于本示例中的目的)到 6667/TCP 或 6668/TCP 端口上的目标(其中,TCP 是"传输控制协议"的缩写)。通常,这些端口用作 Internet 多线交谈 (IRC)。因为 Alice 或 Bob 均可发起连接,所以该策略必须存在于两端。
创建筛选器列表
通过在 MMC 控制台中右键单击 IP 安全策略,可访问用于创建 IPSec 策略的菜单。第一个菜单项是"创建 IP 安全策略"。尽管此菜单似乎是要开始的位置,但却不应从此位置开始。在可创建策略及其相关规则之前,您需要定义筛选器列表和筛选器操作,它们是任何 IPSec 策略的必需组件。单击管理 IP 筛选器表和筛选器操作开始工作。
将显示带有两个选项卡的对话框:一个用于筛选器列表,另一个用于筛选器操作。首先,打开管理 IP 筛选器列表选项卡。已经有两个预先定义的筛选器列表,您不会使用它们。相反,您可以创建一个特定的筛选器列表,使其与要连接到的其他计算机对应。
假设您在 Alice 的计算机上创建策略:
单击添加创建新的筛选器列表。将该列表命名为"Abczz to Bob's PC"。
单击添加添加新筛选器。将启动一个向导。
单击我的 IP 地址作为源地址。
单击一个特定的 IP 地址作为目标地址,然后输入 Bob 的计算机的 IP 地址 (172.31.67.244)。或者,如果 Bob 的计算机已在域名系统 (DNS) 或 Windows Internet 名称服务 (WINS) 中注册,则可选择特定的 DNS 名,然后输入 Bob 的计算机名,Bobslap。
Abczz 使用 TCP 进行通讯,因此单击 TCP 作为协议类型。
对于 IP 协议端口,单击从任意端口。单击到此端口,键入:6667,然后单击完成完成该向导。
[1] [2] [3]
重复上述步骤,但这次键入:6668作为端口号,然后单击关闭。
您的筛选器列表中包含两个筛选器:一个在端口 6667 (属于 Bob)上用于从 Alice 到 Bob 的通讯,另一个在端口 6668 (属于 Bob)上。(Bob 在自己的计算机上设置了 6667 和 6668 两个端口:一个端口用于传出的通讯,另一个用于传入的通讯。)这些筛选器是镜像的,每次创建 IPSec 筛选器时通常都需要如此。对于已镜像的每个筛选器,该列表可包含(但不显示)与其正好相反的筛选器(即目标和源地址与其相反的筛选器)。如果没有镜像筛选器,IPSec 通讯通常不成功。
创建筛选器操作
您已经定义了必须受到保护的通信的种类。现在,您必须指定安全机制。单击管理筛选器操作选项卡。列出三个默认操作。不要使用要求安全操作,您必须创建一个更严格的新操作。
若要创建新操作,请:
单击添加创建新筛选器操作。启动一个向导。将该操作命名为"Encrypt Abczz"。
对于常规选项,单击协商安全,然后单击不和不支持 IPsec 的计算机通讯。
单击 IP 通信安全性为高选项,然后单击完成以关闭该向导。
双击新的筛选器操作(前面命名的"Encrypt Abczz")。
单击清除接受不安全的通讯,但总是用 IPSec 响应复选框。这一步骤确保计算机在发送 Abczz 数据包之前必须协商 IPSec。
单击会话密钥完全向前保密以确保不重新使用密钥资料,单击确定,然后单击关闭。
创建 IPSec 策略
您已经获得了策略元素。现在,您可以创建策略本身了。右键单击 MMC 的右窗格,然后单击创建 IP 安全策略。当向导启动时:
将该策略命名为"Alice's IPSec"。
单击清除激活默认响应规则复选框。
单击编辑属性(如果未选中的话),然后完成该向导。该策略的属性对话框将打开。
为使 IPSec 策略有效,它必须至少包含一个将筛选器列表链接到筛选器操作的规则。
若要在属性对话框中指定规则,请:
单击添加以创建新规则。启动向导后,单击此规则不指定隧道。
单击局域网 (LAN) 作为网络类型。
如果 Alice 和 Bob 的计算机位于同一个 Windows 2000 域中,单击 Windows 2000 默认值(Kerberos V5 协议)作为身份验证方法。如果不在一个域中,则单击使用此字串来保护密钥交换(预共享密钥),然后输入字符串(使用您可记住的长字符串,不要有任何键入错误)。
选择前面创建的筛选器列表。在此示例中,该筛选器列表为"Abczz to Bob's PC"。然后,选择前面创建的筛选器操作。在此示例中,该筛选器操作为"Encrypt Abczz"。
完成该向导,然后单击关闭。
配置其他终结点
在 Bob 的计算机上重复上述应用于 Alice 的计算机的所有步骤。显然要进行一些必要的更改,例如,"Abczz to Bob's PC"必须更改为"Abczz to Alice's PC"。
指派策略
您已经在两个端点上定义了策略。现在,必须指派它们:
在本地安全设置 MMC 中,右键单击策略(在此示例中为 Abczz )。
单击指派。
一次只能指派一个 IPSec 策略,但是一个策略可根据需要拥有多个规则。例如,如果 Alice 还需要通过使用不同的协议保护与 Eve 的通讯,则您必须创建相应的筛选器列表和操作,并向 IPSec (属于 Alice)添加一个规则,以便将特定的筛选器列表和筛选器操作链接起来。单击为此规则使用不同的共享密钥。Alice 的策略现在有两个规则:一个用于与 Bob 进行 Abczz 通讯,另一个用于与 Eve 进行通讯。因为 Bob 和 Eve 无需安全地互相通讯,所以 Bob 的策略中未添加任何规则,Eve 的策略中包含一个用于与 Alice 进行通讯的规则。
疑难解答
使用 IPSecMon 测试策略
Windows 2000 包括一个实用程序 (IPSecMon.exe),它可用于测试 IPSec 安全关联是否已成功建立。若要启动 IPSecMon,请:
单击开始,然后单击运行。
键入:ipsecmon,然后按 ENTER 键。
单击选项。
将刷新间隔更改为 1。
[1] [2] [3]
必须在不同终结点之间建立通讯。可能会有一个延迟,这是由于终结点需要几秒钟时间来交换加密信息并完成安全关联。可在 IPSecMon 中观察此行为。当这两个终结点都建立了它们的安全关联,可在 IPSecMon 中观察到显示此行为的条目。
如果期望的安全协商没有建立,则返回并检查每个终结点上的筛选器列表。在您方便地将源地址和目标地址或端口反向时,确保已经收到所使用协议的正确定义。您可能要考虑创建一个指定所有通信的新筛选器列表。同样,可向使用此筛选器列表的策略添加一个新规则,然后禁用现有的规则。在两个终结点上执行这些步骤。然后,可使用 ping 命令测试连接性。ping 命令在安全关联阶段可显示"Negotiating IP security"(正在协商 IP 安全),然后显示建立安全关联之后的正常结果。
NAT 与 IPSec 不兼容
如果在两个终结点之间有任何网络地址转换 (NAT),则 IPSec 不起作用。IPSec 将终结点地址作为有效负载的一部分嵌入。在将数据包发送到电缆上之前进行数据包校验和计算时,IPSec 也使用源地址。NAT 可更改出站数据包的源地址,目标在计算自己的校验和时使用头中的地址。如果数据包中携带的用初始来源计算的校验和与用目标计算的校验和不符,则目标可丢弃这些数据包。不能将 IPSec 用于任何类型的 NAT 设备。
参考
有关 Windows 2000 中 IPSec 的白皮书和详细的技术信息,请参阅以下 Microsoft Web 站点:
http://www.microsoft.com/windows2000/technologies/security/default.ASP
(出处:http://www.sheup.com)
[1] [2] [3]
如果期望的安全协商没有建立,则返回并检查每个终结点上的筛选器列表。在您方便地将源地址和目标地址或端口反向时,确保已经收到所使用协议的正确定义。您可能要考虑创建一个指定所有通信的新筛选器列表。同样,可向使用此筛选器列表的策略添加一个新规则,然后禁用现有的规则。在两个终结点上执行这些步骤。然后,可使用 ping 命令测试连接性。ping 命令在安全关联阶段可显示"Negotiating IP security"(正在协商 IP 安全),然后显示建立安全关联之后的正常结果。
NAT 与 IPSec 不兼容
如果在两个终结点之间有任何网络地址转换 (NAT),则 IPSec 不起作用。IPSec 将终结点地址作为有效负载的一部分嵌入。在将数据包发送到电缆上之前进行数据包校验和计算时,IPSec 也使用源地址。NAT 可更改出站数据包的源地址,目标在计算自己的校验和时使用头中的地址。如果数据包中携带的用初始来源计算的校验和与用目标计算的校验和不符,则目标可丢弃这些数据包。不能将 IPSec 用于任何类型的 NAT 设备。
参考
有关 Windows 2000 中 IPSec 的白皮书和详细的技术信息,请参阅以下 Microsoft Web 站点:
http://www.microsoft.com/windows2000/technologies/security/default.asp
(出处:http://www.sheup.com)
[1] [2] [3] [4]