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)来进行阻止。