前两天用来批量封 CC 攻击 IP 的,发现网上下载点很少,资料也不全,于是整理了一下发了出来……
用这个批量封IP缺点很严重,如果IP数达到几百个,处理进度会越来越慢,最后巨慢、巨慢!!!!
而且还有更严重的缺陷,你封禁多少个 IP 就会添加多少个过滤、屏蔽规则,删掉该条策略之后,还不会自动删掉这些规则,更蛋疼的是手动还不能批量删,导致残留巨量无用规则,严重影响以后新建策略……
介于以上这些严重缺点,本人强烈推荐使用:IIS 批量封禁 IP 地址、网站被 CC 攻击的解决办法
(压缩包内有完整说明和批量封IP的批处理例子)
ipseccmd:
例子:ipseccmd -w REG -p "DDosBanIP" -r "%%i" -f %%i/255.255.255.255=0/255.255.255.255:: -n BLOCK -x
作用:禁止某个IP访问本机。
实例操作:
1.禁止本机IE浏览器访问任何网站
ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 0/255.255.255.255=*/255.255.255.255:80:tcp -n BLOCK -x
2.禁止本机任何端口访问网络
ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 0/255.255.255.255=*/255.255.255.255:: -n BLOCK -x
3.禁止某IP对某IP服务器任何端口的访问(可以屏蔽发动CC攻击的IP)
ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 61.152.144.75/255.255.255.255=0/255.255.255.255:: -n BLOCK -x
ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 换成攻击者的IP/255.255.255.255=0/255.255.255.255:: -n BLOCK -x
4.屏蔽一个特定的IP子网
ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 202.152.7.0/255.255.255.0=0/255.255.255.255:: -n BLOCK -x
ipseccmd -w REG -p "CCstop" -r "disable connect ip" -f 202.152.0.0/255.255.0.0=0/255.255.255.255:: -n BLOCK -x
5.批量封IP
@for /f %%i in (1.txt) do (ipseccmd -w REG -p "CCstop" -r "%%i" -f %%i/255.255.255.255=0/255.255.255.255:: -n BLOCK -x)
把要封的IP放到1.txt中
----------------------------------------------------------------------------------------------------
ipseccmd 可以理解为ip安全策略的命令行版。可以使用命令参数来设置各种各样的ip安全策略。
常用参数
-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。
-lan 指定规则应用为局域网。
-dialup 指定规则应用为广域网。
+ 表示双向。
* 表示所有ip
0 表示自己的ip
4.1禁止以任何协议访问某ip的任何端口
ipseccmd -w reg -p "clxp safe policy" -r "disable connect ip" -f 0/255.255.255.255=202.108.22.5/255.255.255.255:: -n block -x
此段代码的含义:设置名为“clxp safe policy”的ip安全策略,添加名为"disable connect ip"的规则。
筛选对象为:我的ip和202.108.22.5这个ip(255.255.255.255的意思就是单独一个ip。)
筛选操作为:禁止访问
端口:所有
协议:所有
测试是否生效:此规则为我以任何ip任何端口都无法访问202.108.22.5这个ip,这个ip是百度的。
直接以http访问,应该是访问不到的,用的是tcp协议。目标端口80
直接ping 202.108.22.5,应该是ping不通的,用的是icmp协议。
4.2禁止访问某ip的某端口
ipseccmd -w reg -p "clxp safe policy" -r "disable connect ip" -f 0/255.255.255.255=202.108.22.5/255.255.255.255:80:tcp -n block -x
此段代码的含义:设置名为“clxp safe policy”的ip安全策略,添加名为"disable connect ip"的规则。
筛选对象为:我的ip和202.108.22.5这个ip(255.255.255.255的意思就是单独一个ip。)
筛选操作为:禁止访问
端口:80
协议:tcp(必须指定端口.感谢易拉罐提出错误.)
测试是否生效:http无法访问80端口。但是可以访问其他端口。因为协议选的是tcp,ping是可以通的。
4.3禁止使用tcp协议访问某ip的某端口
ipseccmd -w reg -p "clxp safe policy" -r "disable connect ip" -f 0/255.255.255.255=202.108.22.5/255.255.255.255:80:tcp -n block -x
此段代码的含义:设置名为“clxp safe policy”的ip安全策略,添加名为"disable connect ip"的规则。
筛选对象为:我的ip和202.108.22.5这个ip(255.255.255.255的意思就是单独一个ip。)
筛选操作为:禁止访问
端口:80
协议:tcp
测试是否生效:无法使用http访问,但是可以ping通。
4.4双向限制。
什么是双向限制呢?就是我不能用tcp协议访问你,你也不能用tcp协议访问我。
我不能用访问你的80端口,你也不能访问我的80端口。
要实现这个就简单了。只要把上面代码里的“=”等号,换为“+”加号就可以了。
4.5禁止所有人访问我的某的端口。
ipseccmd -w reg -p "clxp safe policy" -r "block tcp/135" -f *=0:135:tcp -n block -x
4.6禁止ping。
针对任何网络都禁止ping入和ping出。
ipseccmd -w reg -p "clxp safe policy" -r "disable out ping" -f *=0::icmp -n block -x
局域网禁止ping入。
ipseccmd -w reg -p "clxp safe policy" -r "disable out ping" -f *=0::icmp -n block -x -lan
来自死性不改,今天正好用了一下
在上来一段屏蔽常用端口的bat
@echo off gpupdate >nul rem for client only ipseccmd -w reg -p "hfut_secu" -o -x >nul ipseccmd -w reg -p "hfut_secu" -x >nulipseccmd -w reg -p "hfut_secu" -r "block udp/137" -f *+0:137:udp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block udp/138" -f *+0:138:udp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block tcp/139" -f *+0:139:tcp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block tcp/23" -f *+0:23:tcp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block udp/1433" -f *+0:1434:udp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block tcp/3389" -f *+0:3389:tcp -n block -x ipseccmd -w reg -p "hfut_secu" -r "block tcp/135" -f *+0:135:tcp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block udp/135" -f *+0:135:udp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block tcp/445" -f *+0:445:tcp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block udp/445" -f *+0:445:udp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block tcp/1025" -f *+0:1025:tcp -n block -x >nul<这条用万象的慎用> ipseccmd -w reg -p "hfut_secu" -r "block udp/139" -f *+0:139:udp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block tcp/1068" -f *+0:1068:tcp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block tcp/5554" -f *+0:5554:tcp -n block -x >nul ipseccmd -w reg -p "hfut_secu" -r "block tcp/9995" -f *+0:9995:tcp -n block -x >nul exit
----------------------------------------------------------------------------------------------------
IPSec
首先需要指出的是,IPSec和TCP/IP筛选是不同的东西,大家不要混淆了。
TCP/IP筛选的功能十分有限,远不如IPSec灵活和强大。下面就说说如何在命令行下控制IPSec。
2000下用ipsecpol。WIN2003下直接就是IPSEC命令。遗憾的是,它们都不是系统自带的。
ipseccmd在xp系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中,ipsecpol在2000 Resource Kit里。
而且,要使用ipsecpol还必须带上另外两个文件:ipsecutil.dll和text2pol.dll。三个文件一共119KB。
winxp命令行下ipsec屏蔽不安全的端口
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地址,你就可以把它们封锁在你的大门之外。
留言评论(旧系统):