如何使用 IPSec 阻止特定网络协议和端口

  • 格式:doc
  • 大小:73.50 KB
  • 文档页数:13

如何使用 IPSec 阻止特定网络协议和端口概要ipSec首先需要指出的是,IPSec和TCP/IP筛选是不同的东西,大家不要混淆了。

TCP/IP筛选的功能十分有限,远不如IPSec灵活和强大。

下面就说说如何在命令行下控制IPSec。

XP系统用ipseccmd,2000下用ipsecpol。

遗憾的是,它们都不是系统自带的。

ipseccmd 在xp系统安装盘的 SUPPORT\TOOLS\SUPPORT.CAB 中,ipsecpol在2000 Resource Kit里。

而且,要使用ipsecpol还必须带上另外两个文件:ipsecutil.dll和text2pol.dll。

三个文件一共119KB。

IPSec可以通过组策略来控制,但我找遍MSDN,也没有找到相应的安全模板的语法。

已经配置好的IPSec策略也不能被导出为模板。

所以,组策略这条路走不通。

IPSec的设置保存在注册表中(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local),理论上可以通过修改注册表来配置IPSec。

但很多信息以二进制形式存放,读取和修改都很困难。

相比之下,上传命令行工具更方便。

关于ipsecpol和ipseccmd的资料,网上可以找到很多,因此本文就不细说了,只是列举一些实用的例子。

在设置IPSec策略方面,ipseccmd命令的语法和ipsecpol几乎完全一样,所以只以ipsecpol 为例:1,防御rpc-dcom攻击ipsecpol -p myfirewall -r rpc-dcom -f *+0:135:tcp *+0:135:udp *+0:137:udp*+0:138:udp *+0:139:tcp *+0:445:tcp *+0:445:udp -n BLOCK -w reg -x这条命令关闭了本地主机的TCP135,139,445和udp135,137,138,445端口。

具体含义如下:-p myfirewall 指定策略名为myfirewall-r rpc-dcom 指定规则名为rpc-dcom-f ...... 建立7个筛选器。

*表示任何地址(源);0表示本机地址(目标);+表示镜像(双向)筛选。

具体语法见ipsecpol -?-n BLOCK 指定筛选x作是"阻塞"。

注重,BLOCK必须是大写。

-w reg 将配置写入注册表,重启后仍有效。

-x 马上激活该策略。

2,防止被pingipsecpol -p myfirewall -r antiping -f *+0::icmp -n BLOCK -w reg -x假如名为myfirewall的策略已存在,则antiping规则将添加至其中。

注重,该规则同时也阻止了该主机ping别人。

3,对后门进行IP限制假设你在某主机上安装了DameWare Mini Remote Control。

为了保护它不被别人暴破密码或溢出,应该限制对其服务端口6129的访问。

ipsecpol -p myfw -r dwmrc_block_all -f *+0:6129:tcp -n BLOCK -w regipsecpol -p myfw -r dwmrc_pass_me -f 123.45.67.89+0:6129:tcp -n PASS -w reg -x 这样就只有123.45.67.89可以访问该主机的6129端口了。

假如你是动态IP,应该根据IP分配的范围设置规则。

比如:ipsecpol -p myfw -r dwmrc_block_all -f *+0:6129:tcp -n BLOCK -w regipsecpol -p myfw -r dwmrc_pass_me -f 123.45.67.*+0:6129:tcp -n PASS -w reg -x 这样就答应123.45.67.1至123.45.67.254的IP访问6129端口。

在写规则的时候,应该非凡小心,不要把自己也阻塞了。

假如你不确定某个规则的效果是否和预想的一样,可以先用计划任务"留下后路"。

例如:c:\>net start scheduleTask Scheduler 服务正在启动 ..Task Scheduler 服务已经启动成功。

c:\>time /t12:34c:\>at 12:39 ipsecpol -p myfw -y -w reg新加了一项作业,其作业 ID = 1然后,你有5分钟时间设置一个myfw策略并测试它。

5分钟后计划任务将停止该策略。

假如测试结果不理想,就删除该策略。

c:\>ipsecpol -p myfw -o -w reg注重,删除策略前必须先确保它已停止。

不停止它的话,即使删除也会在一段时间内继续生效。

持续时间取决于策略的刷新时间,默认是180分钟。

假如测试通过,那么就启用它。

c:\>ipsecpol -p myfw -x -w reg最后说一下查看IPSec策略的办法。

对于XP很简单,一条命令搞定——ipseccmd show filters而ipsecpol没有查询的功能。

需要再用一个命令行工具netdiag。

它位于2000系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中。

(已经上传了三个文件,也就不在乎多一个了。

)netdiag需要RemoteRegistry服务的支持。

所以先启动该服务:net start remoteregistry不启动RemoteRegistry就会得到一个错误:[FATAL] Failed to get system information of this machine.netdiag这个工具功能十分强大,与网络有关的信息都可以获取!不过,输出的信息有时过于具体,超过命令行控制台cmd.exe的输出缓存,而不是每个远程cmd shell都可以用more 命令来分页的。

查看ipsec策略的命令是:netdiag /debug /test:ipsec然后是一长串输出信息。

IPSec策略位于最后。

更多信息确定是否指定了 IPSec 策略基于 Windows Server 2003 的计算机基于 Windows xp 的计算机基于 windows 2000 的计算机创建用于阻止通信的静态策略基于 Windows Server 2003 和 Windows XP 的计算机基于 Windows 2000 的计算机为特定协议和端口添加阻止规则基于 Windows Server 2003 和 Windows XP 的计算机基于 Windows 2000 的计算机为特定协议和端口添加动态阻止策略基于 Windows Server 2003 和 Windows XP 的计算机基于 Windows 2000 的计算机IPSec 筛选规则和组策略取消指定和删除 IPSec 策略基于 Windows Server 2003 和 Windows XP 的计算机基于 Windows 2000 的计算机将您的新筛选规则应用到所有协议和端口在计算机重新启动时应用 IPSec 筛选规则--------------------------------------------------------------------------------------------------------------------------------------这篇文章中的信息适用于:Internet 协议安全 (IPSec) 筛选规则可用于帮助保护基于 Windows 2000、Windows XP 和Windows Server 2003 的计算机免遭病毒及蠕虫等威胁带来的基于网络的攻击。

本文介绍如何为入站和出站网络通信筛选特定的协议和端口组合。

本文还包括用于确定当前是否为基于Windows 2000、Windows XP 或 Windows Server 2003 的计算机指定了 IPSec 策略的步骤、用于创建和指定新的 IPSec 策略的步骤以及用于取消指定和删除 IPSec 策略的步骤。

IPSec 策略可以在本地应用,也可以作为域的组策略的一部分应用于该域的成员。

本地IPSec 策略可以是静态的(重新启动后一直有效)或动态的(易失效)。

静态 IPSec 策略被写入本地注册表并在操作系统重新启动后一直有效。

动态 IPSec 策略没有被永久性地写入注册表,并且在操作系统或 IPSec Policy Agent 服务重新启动后被删除。

重要说明:本文包含有关使用 Ipsecpol.exe 编辑注册表的信息。

编辑注册表之前,一定要知道在发生问题时如何还原注册表。

有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:256986 (/kb/256986/) Microsoft Windows 注册表说明注重:IPSec 筛选规则会导致网络程序丢失数据和停止响应网络请求,包括无法对用户进行身份验证。

只有当您清楚地了解阻止特定端口对您的环境具有的影响之后,才应将 IPSec 筛选规则作为一种迫不得已的防护措施加以采用。

假如您按照本文列出的步骤创建的 IPSec 策略对您的网络程序有不利影响,请参阅本文稍后的“取消指定和删除 IPSec 策略”一节,了解有关如何立即禁用和删除该策略的说明。

确定是否指定了 IPSec 策略基于 Windows Server 2003 的计算机在为基于 Windows Server 2003 的计算机创建或指定任何新的 IPSec 策略之前,请确定是否有从本地注册表或通过组策略对象 (GPO) 应用的任何 IPSec 策略。

为此,请按照下列步骤操作: 1. 运行 Windows Server 2003 CD 上的 Support\Tools 文件夹中的Suptools.msi,安装 Netdiag.exe。

2. 打开命令提示符窗口,然后将工作文件夹设置为 C:\PRogram Files\Support Tools。

3. 运行以下命令以验证尚未为该计算机指定现有 IPSec 策略:netdiag /test:ipsec假如没有指定策略,您将收到以下消息:IP 安全测试。

. . . . . . . . : 传递的 IPSec 策略服务是活动的,但是没有指定策略。

基于 Windows XP 的计算机在为基于 Windows XP 的计算机创建或指定任何新的 IPSec 策略之前,请确定是否有从本地注册表或通过 GPO 应用的任何 IPSec 策略。