FortiGate自定义IPS阻断迅雷HTTP下载
文档历史
|
日期
|
版本
|
作者
|
注释
|
5/26/2008
|
V0.1
|
张略
|
Created
|
原理
迅雷的HTTP下载采取多线程,搜索其他HTTP链接,BT以及自有P2P协议下载。分析如下:
1. HTTP下载
User-Agent: 是HTTP header中标识HTTP Client类型的选项。通过它可以对不同的HTTP Client进行访问控制。详细内容请参见RFC 2616.
迅雷非常狡猾的使用IE 6.0老版本的User-Agent,在Packet Capture中可以看到:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
对其HTTP下载的识别和封禁就在于对这个选项的识别。
2. BT下载
迅雷会搜索下载文件的BT资源。
3. 迅雷自有P2P协议下载
迅雷同时也会搜索Internet上迅雷的客户端,如同eMule一样。主要是通过UDP协议,偶尔会使用TCP协议。UDP协议主要是用>1024的高端端口。
设定规则
要求:
FortiOS 3.0 MR6
及以上版本
1. HTTP和BT下载
对迅雷特定的User-Agent和BT下载设定自定义IPS规则。
F-SBID( --name "Thunder_HTTP"; --attack_id 7777; --protocol tcp; --service HTTP; --flow from_client; --pattern "|4d 6f 7a 69 6c 6c 61 2f 34 2e 30 20 28 63 6f 6d 70 61 74 69 62 6c 65 3b 20 4d 53 49 45 20 36 2e 30 3b 20 57 69 6e 64 6f 77 73 20 4e 54 20 35 2e 30 29 0d 0a|"; --context header; )
|
F-SBID( --name "Bittorent_TCP"; --attack_id 3630; --protocol tcp; --flow from_client; --pattern "|69 74 54 6f 72 72 65 6e 74 20 70 72 6f 74 6f 63 6f 6c 65 78|")
|
然后在保护内容表中选择这个IPS传感器,并应用到从内到外的规则上。
2. 迅雷自有P2P下载
主要是设定策略不允许UDP协议中,源端口为1-65535,目的端口为1024-65535的通讯。
对于偶尔有的TCP下载,目前还没有详细的分析。不过从实际使用中来看,很少会有TCP的P2P流量,即使有,速度也非常小,一般低于5KBps。
3. 在规则中将自定义的IPS和UDP封禁使用上去。
说明
1. 有些IE 6.0版本的浏览器将不能访问Internet,不过经过测试,大多数的IE 6.0的User-Agent已经变为:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;)
所以不会有大范围的影响
2. 如果迅雷在以后的版本中更改了其User-Agent的设置,IPS规则也需要相应的更改。
3. 封禁了UDP的高端端口,某些使用UDP的应用可能会受到影响。
4.如果在使用了以上的IPS特征库,依然不能阻拦迅雷, 请尝试以下自定义的特征库
F-SBID( --name "Thunder.Detection"; --protocol tcp; --service HTTP; --flow from_client; --parsed_type HTTP_POST; --pattern "application/octet-stream"; --context header; --pattern "|00 00 00|"; --context body; --distance 1,context; --within 3,context; --byte_test 1,<,64,-4,relative; --pattern "|00 00 00|"; --distance 1; --within 3; )
5.当迅雷用BT下载时,起用防火墙中IM/P2P > BitTorrent(
Block)来进行阻止。