教你如何使用命令行IPSec封锁端口
2008-02-23 06:49:30来源:互联网 阅读 ()
IPSec
首先需要指出的是,IPSec和TCP/IP筛选是不同的东西,大家不要混淆了。TCP/IP筛选的功能十分有限,远不如IPSec灵活和强大。下面就说说如何在命令行下控制IPSec。
XP系统用ipseccmd。
2000下用ipsecpol。
WIN2003下直接就是IPSEC命令。遗憾的是,它们都不是系统自带的。ipseccmd在xp系统安装盘的SUPPORT\TOOLS\ SUPPORT.CAB中,ipsecpol在2000 Resource Kit里。而且,要使用ipsecpol还必须带上另外两个文件: ipsecutil.dll和text2pol.dll。三个文件一共119KB。
winxp命令行下ipsec屏蔽不安全的端口 点此下载IPSECCMD
IPSec叫做Internet协议安全。主要的作用是通过设置IPsec规则,提供网络数据包的加密和认证。不过这样高级的功能我无缘消受,只是用到了筛选功能罢了。通过设置规则进行数据包的筛选器,可以屏蔽不安全的端口连接。
你可以运行gpedit.msc,在Windows设置>>计算机设置>>IP安全设置中进行手工设置。更加简单的方法是使用ipseccmd命令。
ipseccmd在WindowsXP中没有默认安装,他在XP系统安装盘的
SUPPORT\TOOLS\SUPPORT.CAB中。在Windows2000 中它的名字叫做ipsecpol,默认应该也没有安装,你自己找找看吧。使用ipseccmd设置筛选,它的主要作用是设置你的筛选规则,为它指定一个名称,同时指定一个策略名称,所谓策略不过是一组筛选规则的集合而已。比如你要封闭TCP135端口的数据双向收发,使用命令:
ipseccmd -w REG -p "Block default ports" -r "Block TCP/135" -f * 0:135:TCP -n BLOCK -x
这里我们使用的是静态模式,常用的参数如下:
-w reg 表明将配置写入注册表,重启后仍有效。
-p 指定策略名称,如果名称存在,则将该规则加入此策略,否则创建一个。
-r 指定规则名称。
-n 指定操作,可以是BLOCK、PASS或者INPASS,必须大写。
-x 激活该策略。
-y 使之无效。
-o 删除-p指定的策略。
其中最关键的是-f。它用来设置你的过滤规则,格式为
A.B.C.D/mask:port=A.B.C.D/mask:port:protocol。其中=前面的是源地址,后面是目的地址。如果使用 ,则表明此规则是双向的。IP地址中用*代表任何IP地址,0代表我自己的IP地址。还可以使用通配符,比如144.92.*.* 等效于 144.92.0.0/255.255.0.0。使用ipseccmd /?可以获得它的帮助。
如果希望将规则删除,需要先使用-y使之无效,否则删除后它还会持续一段时间。
好了,这样你就可以使用ipsec根据自己的需要方便得自己定制你的筛选规则了。
如果有不安全的端口,或者你不太喜欢的IP地址,你就可以把它们封锁在你的大门之外。
现在,你的机器本身已经基本比较安全了,不必再一接上网线就提心吊胆了。今天天气还不错,赶快放心大胆的去网上冲浪去吧,海岸上有漂亮的贝壳,不要忘了捡几颗送给我哦。
[代码清单]
@ echo off
rem
rem blockport.bat
rem Spirituel@SMTH
rem
rem This file use the IPsec filters to block default ports of Windows.
rem It can work on Windows 2003 and Windows XP system if there is ipseccmd command on it.
rem It can also work on Windows2000, if you chang "ipseccmd" to "ipsecpol" when ipsecpol command could work well.
rem You can customize your own policy easily.
rem please refer to README.txt for more details.
rem NOTICE: NO WARRANTY totally. Please use it carefully.
rem
rem
rem
echo [Usage] blockport [ -o or -y ]
echo set policy of filter rules and and enable them without parameter.
echo -y parameter to make the policy inactive.
echo -o parameter to disable and delete the policy.
if "%1"=="-y" goto :inactive
if "%1"=="-o" goto :delete
@ echo on
ipseccmd -w REG -p "Block default ports" -y
ipseccmd -w REG -p "Block default ports" -o
ipseccmd -w REG -p "Block default ports" -r "Block TCP/135" -f * 0:135:TCP -n BLOCK
ipseccmd -w REG -p "Block default ports" -r "Block TCP/139" -f * 0:139:TCP -n BLOCK
ipseccmd -w REG -p "Block default ports" -r "Block TCP/445" -f * 0:445:TCP -n BLOCK
ipseccmd -w REG -p "Block default ports" -r "Block UDP/123" -f * 0:123:UDP -n BLOCK
ipseccmd -w REG -p "Block default ports" -r "Block UDP/135" -f * 0:135:UDP -n BLOCK
ipseccmd -w REG -p "Block default ports" -r "Block UDP/137" -f * 0:137:UDP -n BLOCK
ipseccmd -w REG -p "Block default ports" -r "Block UDP/138" -f * 0:138:UDP -n BLOCK
ipseccmd -w REG -p "Block default ports" -r "Block UDP/139" -f * 0:139:UDP -n BLOCK
ipseccmd -w REG -p "Block default ports" -r "Block UDP/445" -f * 0:445:UDP -n BLOCK
@ rem ipseccmd -w REG -p "Block default ports" -r "Block ping" -f 0 *::ICMP -n BLOCK
ipseccmd -w REG -p "Block default ports" -x
@ goto :end
∶inactive
@ echo on
ipseccmd -w REG -p "Block default ports" -y
@ goto :end
∶delete
@ echo on
ipseccmd -w REG -p "Block default ports" -y
ipseccmd -w REG -p "Block default ports" -o
∶end
@ echo off
pause
IPSec可以通过组策略来控制,但我找遍MSDN,也没有找到相应的安全模板的语法。已经配置好的IPSec策略也不能被导出为模板。所以,组策略这条路走不通。IPSec的设置保存在注册表中(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local),理论上可以通过修改注册表来配置IPSec。但很多信息以二进制形式存放,读取和修改都很困难。相比之下,上传命令行工具更方便。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:教你辨别“反钓”技巧的有效性
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash