确定是否指定了 IPSec 策略
基于 Windows Server 2003 的计算机
在为基于 Windows Server 2003 的计算机创建或指定任何新的 IPSec 策略之前,请确定是否有从本地注册表或通过组策略对象 (GPO) 应用的任何 IPSec 策略。为此,请按照下列步骤操作:
- 运行 Windows Server 2003 CD 上的 Support\Tools 文件夹中的 Suptools.msi,安装 Netdiag.exe。
- 打开命令提示符窗口,然后将工作文件夹设置为 C:\Program Files\Support Tools。
- 运行以下命令以验证尚未为该计算机指定现有 IPSec 策略:
如果没有指定策略,您将收到以下消息:
基于 Windows XP 的计算机
在为基于 Windows XP 的计算机创建或指定任何新的 IPSec 策略之前,请确定是否有从本地注册表或通过 GPO 应用的任何 IPSec 策略。为此,请按照下列步骤操作:
- 运行 Windows XP CD 上的 Support\Tools 文件夹中的 Setup.exe,安装 Netdiag.exe。
- 打开命令提示符窗口,然后将工作文件夹设置为 C:\Program Files\Support Tools。
- 运行以下命令以验证尚未为该计算机指定现有 IPSec 策略:
如果没有指定策略,您将收到以下消息:
基于 Windows 2000 的计算机
在为基于 Windows 2000 的计算机创建或指定任何新的 IPSec 策略之前,请确定是否有从本地注册表或通过 GPO 应用的任何 IPSec 策略。为此,请按照下列步骤操作:
- 运行 Windows 2000 CD 上的 Support\Tools 文件夹中的 Setup.exe,安装 Netdiag.exe。
- 打开命令提示符窗口,然后将工作文件夹设置为 C:\Program Files\Support Tools。
- 运行以下命令以验证尚未为该计算机指定现有 IPSec 策略:
如果没有指定策略,您将收到以下消息:
创建用于阻止通信的静态策略
基于 Windows Server 2003 和 Windows XP 的计算机
对于没有启用本地定义的 IPSec 策略的系统,请创建一个新的本地静态策略,以阻止定向到 Windows Server 2003 和 Windows XP 计算机上的特定协议和特定端口的通信。为此,请按照下列步骤操作:
- 验证 IPSec Policy Agent 服务已在“服务”MMC 管理单元中启用并启动。
- 安装 IPSeccmd.exe。IPSeccmd.exe 是 Windows XP Service Pack 2 (SP2) 支持工具的一部分。
注意:IPSeccmd.exe 将在 Windows XP 和 Windows Server 2003 操作系统中运行,但仅有 Windows XP SP2 支持工具包中提供此工具。
有关下载和安装 Windows XP Service Pack 2 支持工具的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
- 打开命令提示符窗口,然后将工作文件夹设置为安装 Windows XP Service Pack 2 支持工具的文件夹。
注意:Windows XP SP2 支持工具的默认文件夹是 C:\Program Files\Support Tools。
- 要创建一个新的本地 IPSec 策略和筛选规则,并将其应用于从任何 IP 地址发送到您要配置的 Windows Server 2003 或 Windows XP 计算机的 IP 地址的网络通信,请使用以下命令。
注意:在以下命令中,Protocol 和 PortNumber 是变量。
例如,要阻止从任何 IP 地址和任何源端口发往 Windows Server 2003 或 Windows XP 计算机上的目标端口 UDP 1434 的网络通信,请键入以下命令。此策略可以有效地保护运行 Microsoft SQL Server 2000 的计算机免遭“Slammer”蠕虫病毒的攻击。
以下示例可阻止对 TCP 端口 80 的入站访问,但是仍然允许出站 TCP 80 访问。此策略可以有效地保护运行 Microsoft Internet 信息服务 (IIS) 5.0 的计算机免遭“Code Red”蠕虫病毒和“Nimda”蠕虫病毒的攻击。
注意:-x 开关会立即指定该策略。如果您输入此命令,将取消指定“Block UDP 1434 Filter”策略,并指定“Block TCP 80 Filter”。要添加但不指定该策略,则在键入该命令时不要在结尾带 -x 开关。
- 要向现有的“Block UDP 1434 Filter”策略(阻止从基于 Windows Server 2003 或 Windows XP 的计算机发往任何 IP 地址的网络通信)添加其他筛选规则,请使用以下命令。
注意:在此命令中,Protocol 和 PortNumber 是变量:
例如,要阻止从基于 Windows Server 2003 或 Windows XP 的计算机发往任何其他主机上的 UDP 1434 的任何网络通信,请键入以下命令。此策略可以有效地阻止运行 SQL Server 2000 的计算机传播“Slammer”蠕虫病毒。
注意:您可以使用此命令向策略中添加任意数量的筛选规则。例如,可以使用此命令通过同一策略阻止多个端口。
- 步骤 5 中的策略现在将生效,并将在每次重新启动计算机后都会生效。但是,如果以后为计算机指定了基于域的 IPSec 策略,此本地策略将被覆盖并将不再适用。
要验证您的筛选规则是否已成功指定,请在命令提示符下将工作文件夹设置为 C:\Program Files\Support Tools,然后键入以下命令:
正如这些示例中所示,如果同时指定了用于入站通信和出站通信的策略,您将收到以下消息:
IP 安全测试。. . . . . . . . :
传递的本地 IPSec 策略活动:“Block UDP 1434 Filter”IP 安全策略路径:SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local\ipsecPolicy{D239C599-F945-47A3-A4E3-B37BC12826B9}
有 2 个筛选
无名称
筛选 ID:{5EC1FD53-EA98-4C1B-A99F-6D2A0FF94592}
策略 ID:{509492EA-1214-4F50-BF43-9CAC2B538518}
源地址:0.0.0.0 源掩码:0.0.0.0
目标地址:192.168.1.1 目标掩码:255.255.255.255
隧道地址:0.0.0.0 源端口:0 目标端口:1434
协议:17 TunnelFilter:无
标志:入站阻止
无名称
筛选 ID:{9B4144A6-774F-4AE5-B23A-51331E67BAB2}
策略 ID:{2DEB01BD-9830-4067-B58A-AADFC8659BE5}
源地址:192.168.1.1 源掩码:255.255.255.255
目标地址:0.0.0.0 目标掩码:0.0.0.0
隧道地址:0.0.0.0 源端口:0 目标端口:1434
协议:17 TunnelFilter:无
标志:出站阻止
注意:根据是基于 Windows Server 2003 还是基于 Windows XP 的计算机,IP 地址和图形用户界面 (GUID) 号会有所不同。
基于 Windows 2000 的计算机
对于没有启用本地定义的 IPSec 策略的系统,请按照下列步骤创建一个新的本地静态策略,以阻止定向到未指定现有 IPSec 策略的 Windows 2000 计算机上的特定协议和端口的通信:
- 验证 IPSec Policy Agent 服务已在“服务”MMC 管理单元中启用并启动。
- 访问下面的 Microsoft 网站以下载并安装 Ipsecpol.exe:
- 打开命令提示符窗口,然后将工作文件夹设置为安装 Ipsecpol.exe 的文件夹。
注意:Ipsecpol.exe 的默认文件夹是 C:\Program Files\Resource Kit。
- 要创建一个新的本地 IPSec 策略和筛选规则,并将其应用于从任何 IP 地址发送到您要配置的 Windows 2000 计算机的 IP 地址的网络通信,请使用以下命令,其中 Protocol 和 PortNumber 是变量:
例如,要阻止从任何 IP 地址和任何源端口发往基于 Windows 2000 的计算机上的目标端口 UDP 1434 的网络通信,请键入以下命令。此策略可以有效地保护运行 Microsoft SQL Server 2000 的计算机免遭“Slammer”蠕虫病毒的攻击。
以下示例可阻止对 TCP 端口 80 的入站访问,但是仍然允许出站 TCP 80 访问。此策略可以有效地保护运行 Microsoft Internet 信息服务 (IIS) 5.0 的计算机免遭“Code Red”蠕虫病毒和“Nimda”蠕虫病毒的攻击。
注意:-x 开关会立即指定该策略。如果您输入此命令,将取消指定“Block UDP 1434 Filter”策略,并指定“Block TCP 80 Filter”。要添加但不指定该策略,请在键入该命令时不在结尾带 -x 开关。
- 要向现有“Block UDP 1434 Filter”策略中添加其他筛选规则,用于阻止从 Windows 2000 计算机发往任何 IP 地址的网络通信,请使用以下命令,其中 Protocol 和 PortNumber 是变量。
例如,要阻止从基于 Windows 2000 的计算机发往任何其他主机上的 UDP 1434 的任何网络通信,请键入以下命令。此策略可以有效地阻止运行 SQL Server 2000 的计算机传播“Slammer”蠕虫病毒。
注意:您可以使用此命令向策略中添加任意数量的筛选规则(例如,使用此命令通过同一策略阻止多个端口)。
- 步骤 5 中的策略现在将生效,并将在每次重新启动计算机后都会生效。但是,如果以后为计算机指定了基于域的 IPSec 策略,此本地策略将被覆盖并将不再适用。要验证您的筛选规则是否已成功指定,请在命令提示符下将工作文件夹设置为 C:\Program Files\Support Tools,然后键入以下命令:
如果同时指定了用于入站通信和出站通信的策略(如这些示例中所示),您将收到以下消息:
IP 安全测试。. . . . . . . . :
传递的本地 IPSec 策略活动:“Block UDP 1434 Filter”IP 安全策略路径:SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local\ipsecPolicy{D239C599-F945-47A3-A4E3-B37BC12826B9}
有 2 个筛选
无名称
筛选 ID:{5EC1FD53-EA98-4C1B-A99F-6D2A0FF94592}
策略 ID:{509492EA-1214-4F50-BF43-9CAC2B538518}
源地址:0.0.0.0 源掩码:0.0.0.0
目标地址:192.168.1.1 目标掩码:255.255.255.255
隧道地址:0.0.0.0 源端口:0 目标端口:1434
协议:17 TunnelFilter:无
标志:入站阻止
无名称
筛选 ID:{9B4144A6-774F-4AE5-B23A-51331E67BAB2}
策略 ID:{2DEB01BD-9830-4067-B58A-AADFC8659BE5}
源地址:192.168.1.1 源掩码:255.255.255.255
目标地址:0.0.0.0 目标掩码:0.0.0.0
隧道地址:0.0.0.0 源端口:0 目标端口:1434
协议:17 TunnelFilter:无
标志:出站阻止
注意:IP 地址和图形用户界面 (GUID) 号将不同。它们将反映基于 Windows 2000 的计算机的相应内容。
为特定协议和端口添加阻止规则
基于 Windows Server 2003 和 Windows XP 的计算机
如果基于 Windows Server 2003 和 Windows XP 的计算机现有一个本地指定的静态 IPSec 策略,那么,要为该计算机上的特定协议和端口添加阻止规则,请按照下列步骤操作:
- 安装 IPSeccmd.exe。IPSeccmd.exe 是 Windows XP SP2 支持工具的一部分。
有关下载和安装 Windows XP Service Pack 2 支持工具的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
- 识别当前指定的 IPSec 策略的名称。为此,请在命令提示符下键入以下命令:
如果已指定策略,您将收到类似于以下内容的消息:
- 如果已为计算机指定了 IPSec 策略(本地或域),请使用以下命令将其他 BLOCK 筛选规则添加到现有的 IPSec 策略中。
注意:在此命令中,Existing_IPSec_Policy_Name、Protocol 和 PortNumber 是变量。
例如,要向现有“Block UDP 1434 Filter”中添加一条筛选规则来阻止对 TCP 端口 80 进行的入站访问,请键入以下命令:
基于 Windows 2000 的计算机
如果基于 Windows 2000 的计算机现有一个本地指定的静态 IPSec 策略,那么,要为该计算机上的特定协议和端口添加阻止规则,请按照下列步骤操作:
- 访问下面的 Microsoft 网站以下载并安装 Ipsecpol.exe:
- 识别当前指定的 IPSec 策略的名称。为此,请在命令提示符下键入以下命令:
如果已指定策略,您将收到类似于以下内容的消息:
- 如果已为计算机指定了 IPSec 策略(本地或域),请使用以下命令将其他 BLOCK 筛选规则添加到现有 IPSec 策略中,其中 Existing_IPSec_Policy_Name、Protocol 和 PortNumber 是变量:
例如,要向现有“Block UDP 1434 Filter”中添加一条筛选规则来阻止对 TCP 端口 80 进行的入站访问,请键入以下命令:
为特定协议和端口添加动态阻止策略
基于 Windows Server 2003 和 Windows XP 的计算机
有时您可能需要暂时阻止对特定端口的访问。例如,在可以安装修补程序之前,或者在已经为计算机指定基于域的 IPSec 策略时,您就可能需要阻止特定的端口。要使用 IPSec 策略暂时阻止对 Windows Server 2003 或 Windows XP 计算机上的某个端口的访问,请按照下列步骤操作:
- 安装 IPSeccmd.exe。IPSeccmd.exe 是 Windows XP Service Pack 2 支持工具的一部分。
注意:IPSeccmd.exe 将在 Windows XP 和 Windows Server 2003 操作系统中运行,但仅有 Windows XP SP2 支持工具包中提供此工具。
有关如何下载和安装 Windows XP Service Pack 2 支持工具的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
- 要添加一个动态 BLOCK 筛选以阻止从任何 IP 地址发往您系统的 IP 地址和目标端口的所有数据包,请在命令提示符下键入以下命令。
注意:在以下命令中,Protocol 和 PortNumber 是变量。
注意:此命令可动态创建阻止筛选。只要 IPSec Policy Agent 服务在运行,该策略就会保持指定状态。如果重新启动 IPSec Policy Agent 服务或重新启动计算机,此策略将丢失。如果要在每次重新启动系统时动态重新指定 IPSec 筛选规则,请创建一个启动脚本以重新应用该筛选规则。如果您要{yj}性地应用此筛选,请将该筛选配置为静态 IPSec 策略。“IPSec 策略管理”MMC 管理单元提供用于管理 IPSec 策略配置的图形用户界面。如果已应用基于域的 IPSec 策略,netdiag /test:ipsec /debug 命令仅在由具有域管理员凭据的用户执行时才会显示筛选详细信息。
基于 Windows 2000 的计算机
有时您可能需要暂时阻止特定端口(例如,在可以安装修补程序之前,或者在已经为计算机指定基于域的 IPSec 策略时)。要使用 IPSec 策略暂时阻止对 Windows 2000 计算机上的某个端口的访问,请按照下列步骤操作:
- 访问下面的 Microsoft 网站以下载并安装 Ipsecpol.exe:
- 要添加一个动态 BLOCK 筛选以阻止从任何 IP 地址发往您系统的 IP 地址和目标端口的所有数据包,请在命令提示符下键入以下命令,其中 Protocol 和 PortNumber 是变量:
注意:此命令可动态创建阻止筛选,并且只要 IPSec Policy Agent 服务在运行,该策略就会保持指定状态。如果重新启动 IPSec 服务或重新启动计算机,此设置将丢失。如果要在每次重新启动系统时动态重新指定 IPSec 筛选规则,请创建一个启动脚本以重新应用该筛选规则。如果您要{yj}性地应用此筛选,请将该筛选配置为静态 IPSec 策略。“IPSec 策略管理”MMC 管理单元提供用于管理 IPSec 策略配置的图形用户界面。如果已应用基于域的 IPSec 策略,则 netdiag /test:ipsec /debug 命令可能仅在由具有域管理员凭据的用户执行时才会显示筛选详细信息。Netdiag.exe 的更新版本将在 Windows 2000 Service Pack 4 中提供,本地管理员可以使用它来查看基于域的 IPSec 策略。
IPSec 筛选规则和组策略
在通过组策略设置分配 IPSec 策略的环境中,必须更新整个域的策略才能阻止特定的协议和端口。在成功配置组策略 IPSec 设置后,您必须强制刷新域中所有基于 Windows Server 2003、Windows XP 和 Windows 2000 的计算机上的组策略设置。为此,请使用以下命令:
IPSec 策略更改将在两个不同轮询间隔之一的间隔内检测到。对于一个新指定的、应用于 GPO 的 IPSec 策略,该 IPSec 策略将在为组策略轮询间隔设置的时间内应用于客户端,或者当在客户端计算机上运行 secedit /refreshpolicy machine_policy 命令时应用于客户端。如果已为 GPO 指定了 IPSec 策略并且正在将新的 IPSec 筛选或规则添加到现有策略中,secedit 命令将不会使 IPSec 识别发生更改。在这种情况下,系统将在基于 GPO 的现有 IPSec 策略自己的轮询间隔内检测到对该 IPSec 策略的修改。此时间间隔是在该 IPSec 策略的“常规”选项卡上指定的。您还可以通过重新启动 IPSec Policy Agent 服务来强制刷新 IPSec 策略设置。如果 IPSec 服务停止或重新启动,由 IPSec 保护的通讯将中断并将需要几秒钟的时间才能恢复。这可能导致程序连接被断开,对于主动传输大量数据的连接更是如此。当 IPSec 策略只应用于本地计算机时,您不必重新启动该服务。
取消指定和删除 IPSec 策略
基于 Windows Server 2003 和 Windows XP 的计算机
- 具有本地定义的静态策略的计算机
- 打开命令提示符窗口,然后将工作文件夹设置为安装 Ipsecpol.exe 的文件夹。
- 要取消指定您以前创建的筛选,请使用以下命令:
例如,要取消指定以前创建的“Block UDP 1434 Filter”,请使用以下命令:
- 要删除您创建的筛选,请使用以下命令:
例如,要删除“Block UDP 1434 Filter”筛选和以前创建的两个规则,请使用以下命令:
- 具有本地定义的动态策略的计算机
如果通过使用 net stop policyagent 命令停止 IPSec Policy Agent 服务,将取消应用动态 IPSec 策略。要删除以前使用的特定命令而不停止 IPSec Policy Agent 服务,请按照下列步骤操作:
- 打开命令提示符窗口,然后将工作文件夹设置为安装 Windows XP Service Pack 2 支持工具的文件夹。
- 键入下面的命令:
注意:您还可以重新启动 IPSec Policy Agent 服务以xx所有动态指定的策略。
基于 Windows 2000 的计算机
- 具有本地定义的静态策略的计算机
- 打开命令提示符窗口,然后将工作文件夹设置为安装 Ipsecpol.exe 的文件夹。
- 要取消指定您以前创建的筛选,请使用以下命令:
例如,要取消指定以前创建的“Block UDP 1434 Filter”,请使用以下命令:
- 要删除您创建的筛选,请使用以下命令:
例如,要删除“Block UDP 1434 Filter”筛选和以前创建的两个规则,请使用以下命令:
- 具有本地定义的动态策略的计算机
如果通过使用 net stop policyagent 命令停止 IPSec Policy Agent 服务,将取消应用动态 IPSec 策略。但是,要删除以前使用的特定命令而不停止 IPSec Policy Agent 服务,请按照下列步骤操作:
- 打开命令提示符窗口,然后将工作文件夹设置为安装 Ipsecpol.exe 的文件夹。
- 键入下面的命令:
注意:您还可以重新启动 IPSec Policy Agent 服务以xx所有动态指定的策略。
将您的新筛选规则应用到所有协议和端口
默认情况下,在 Microsoft Windows 2000 和 Microsoft Windows XP 中,IPSec 使得广播、多路广播、RSVP、IKE 和 Kerberos 通信免于受到任何筛选和身份验证的限制。有关这些例外的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
当 IPSec 只用于允许和阻止通信时,可以通过更改注册表值来删除对 Kerberos 和 RSVP 协议的豁免。有关如何执行此操作的完整说明,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
通过按照这些说明进行操作,即使攻击者将他们的源端口设置为 Kerberos 端口 TCP/UDP 88,您也可以保护 UDP 1434。通过删除 Kerberos 豁免,现在可以将 Kerberos 数据包与 IPSec 策略中的所有筛选进行匹配。因此,可以在 IPSec 内部对 Kerberos 进行保护(阻止或允许)。这样,如果 IPSec 筛选与发往域控制器 IP 地址的 Kerberos 通信匹配,您可能必须更改 IPSec 策略设计来添加新的筛选,以便允许发往各个域控制器 IP 地址的 Kerberos 通信(如果您没有按照知识库文章 254728 的说明使用 IPSec 来保护域控制器之间的所有通信)。
在计算机重新启动时应用 IPSec 筛选规则
所有 IPSec 策略均依赖于要指定的 IPSec Policy Agent 服务。当基于 Windows 2000 的计算机正在启动过程中时,IPSec Policy Agent 服务未必是{dy}个启动的服务。这样,计算机的网络连接可能会在某个很短的时间内容易受到病毒或蠕虫病毒的攻击。这种情况仅在满足以下条件时才会发生:IPSec Policy Agent 服务尚未xx启动并指定所有策略,存在潜在漏洞的服务便已成功启动并开始接受连接。