??xml version="1.0" encoding="utf-8" standalone="yes"?>
安装Ҏ
1 直接解压源代码?br />
2 解压iptables源码 ?/usr/src下做好一个名字ؓiptables的链接?br />
3 保pȝ安装了正的源代码树Q必ȝ保系l的源代码和使用的内怸g致。如果是FCpȝQ在安装旉择内核开发这通常没什么问题?br />
4 在ipid源码目录下make
5 复制ko so文g到相应的目录?br />
6 dep -a
7 语法CZQiptables -t mangle -A PREROUTING -o ppp0 -j IPID --ipid-inc 1
8 Q和SQUID配合使用也许有意想不到的效果Q至在青岛地区是这栗?br />
9 使用后Q何后果自负,M关于法律问题与我无关?br />
]]>
特征模式匚w技术的程
模式匚w技术按照以下方式进行操作:
|络上每一个数据包都被查,Ld特征Q?
与攻ȝ征相同长度的一l字节从可疑数据包首部取出,q对两组字节q行比较Q?
如果两组字节一Pd特征卌出来;
如果两组字节不一Pd特征“前UM个字节”,重复比较程Q?
W二ơ检时Q特征与数据包中W二位开始的字节q行比较Q?
该流E被重复Q每ơ的比较起始位置都增加一个字节,直到所有的数据字节都与d特征q行比较?
特征模式匚w技术的两个~陷
特征模式匚w技术有两个最Ҏ的缺P
计算的负载——持l该q算法则所需的计量极其巨大Q对于满负蝲?00Mbps以太|,需要的计算量将是:Q攻ȝ征字节数Q×(数据包字节数Q×(每秒的数据包敎ͼ×Q数据库的攻ȝ征数Q。假设一个攻ȝ征有20字节Q^均数据包大小?00字节Q每U?0000个数据包Q数据库?000个攻ȝ征,我们每秒需要有360000000000字节的计量。这L计算速率q远过当今技术允许的范围。折中的Ҏ是通过在发C个字节不匚w时就攑ּl箋ҎQ认数据包安全,q样可以构造出一个所谓部分覆盖的IDS。因U系l有性能问题困扰Q因此容易被黑客利用?
探测准确性——第二个Ҏ的缺h模式匚w/特征搜烦技术用固定的特征模式来探攻凅R用固定的特征模式只能探出明确的、唯一的攻ȝ征,即便是最d变换的攻M都会被忽略?
特征模式匚wIDS的根本问?
一个基于模式匹配的IDSpȝ不能地判断看g同字W串/命o串的真实含义和最l效果。在模式匚wpȝ中,每一个这L变化都要求攻ȝ征数据库增加一个特征记录。这U技术运规则的内在~陷使得所谓的庞大特征库实际上是徒劳的Q最后的l果往往是付出更高的计算负蝲Q而导致更多的丢包率,也就产生遗漏更多d的可能,黑客们往往利用q种~陷q行d?
Z模式匚w技术的IDS的根本问题在于它把数据包作ؓ一pd随机变换的字节流Q它假设数据包的l构不可知。当模式匚w被用来从大量随机变化数据Q如一个数据媄像或一个音频流中搜索特征模式时Q可以说是一个正明智的Ҏ。模式匹配Y件最初就是ؓ分析数据影像和音频信息而开发的。但很明显,分析数据影像和分析网l通信协议是截然不同的。模式匹配Y件可以在入R系l中使用Q但它绝不是理想的,因ؓ它本w就不是被设计来完成q种d的?img src ="http://www.aygfsteel.com/huyi2006/aggbug/114964.html" width = "1" height = "1" />
]]>
关键词:互联|?异常量 NetFlow 量分析 DoS/DDoS 蠕虫病毒
一、前a
q年来,随着互联|在全球的迅速发展和各种互联|应用的快速普及,互联|已成ؓZ日常工作生活中不可或~的信息承蝲工具。然而,伴随着互联|的正常应用量Q网l上形Ş色色的异常流量也随之而来Q媄响到互联|的正常q行Q威胁用户主机的安全和正怋用?/font>
本文从互联网q营商的视角Q对互联|异常流量的特征q行了深入分析,q而提出如何在|络层面对互联网异常量采取防护措施Q其中重点讲qC NetFlow 分析在互联网异常量防护中的应用及典型案例?/font>
二?/strong> NetFlow ?/strong>
本文对互联网异常量的特征分析主要基?/font> NetFlow 数据Q因此首先对 NetFlow 做简单介l?/font>
1.
NetFlow
概念
NetFlow 是一U数据交换方式,其工作原理是Q?/font> NetFlow 利用标准的交换模式处理数据流的第一个IP包数据,生成 NetFlow ~存Q随后同L数据Z~存信息在同一个数据流中进行传输,不再匚w相关的访问控制等{略Q?/font> NetFlow ~存同时包含了随后数据流的统计信息?
一?/font> NetFlow 定义ؓ在一个源IP地址和目的IP地址间传输的单向数据包流Q且所有数据包h共同的传输层源、目的端口号?/font>
2.
NetFlow
数据采集
针对路由器送出?/font> NetFlow 数据Q可以利?/font> NetFlow 数据采集软g存储到服务器上,以便利用各种 NetFlow 数据分析工具q行q一步的处理?/font>
Cisco提供了Cisco NetFlow CollectorQNFCQ采?/font> NetFlow 数据Q其它许多厂家也提供cM的采集Y件?/font>
下例为利用NFC2.0采集的网l流量数据实例:
211.*.*.57|202.*.*.12|Others|localas|9|6|2392
|80|80|1|40|1
Z安全原因考虑Q本文中出现的IP地址均经q处理?br />
NetFlow
数据也可以在路由器上直接查看Q以下ؓ从Cisco GSR路由器采集的数据实例Q:
gsr #att 2 Q登录采?/font>
NetFlow
数据的GSR 2槽板卡)
LC-Slot2>sh ip cache flow
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Gi2/1 219.*.*.229 PO4/2 217.*.*.228 06 09CB 168D 2
Gi2/1 61.*.*.23 Null 63.*.*.246 11 0426 059A 1
本文中的
NetFlow
数据分析均基于NFC采集的网l流量数据,针对路由器直接输出的Neflow数据Q也可以采用cMҎ分析?br />
3. NetFlow 数据采集格式说明
NFC 可以定制多种
NetFlow
数据采集格式Q下例ؓNFC2.0采集的一U流量数据实例,本文的分析都Zq种格式?br /> 61.*.*.68|61.*.*.195|64917|Others|9|13|4528|
135|6|4|192|1
数据中各字段的含义如下:
源地址|目的地址|源自d|目的自治域|入接口号|出接口号|源端口|目的端口|协议cd|包数量|字节数|数?/font>
4. 几点说明
NetFlow 主要由Cisco路由器支持,对于其它厂家的网l品也有类似的功能Q例如Juniper路由器支持sFlow功能?/font>
NetFlow 支持情况与\由器cd、板卡类型、IOS版本、IOS授权都有关系Q不是在所有情况下都能使用Q用时需考虑自己的Yg配置情况?/font>
本文的所有分析数据均Z采自Cisco路由器的 NetFlow 数据?/font>
三、互联网异常量?/strong> NetFlow 分析
要对互联|异常流量进行分析,首先要深入了解其产生原理及特征,以下重点从 NetFlow 数据角度Q对异常量的种cR流向、生后果、数据包cd、地址、端口等多个斚wq行分析?/font>
1. 异常量的种c?/font>
目前Q对互联|造成重大影响的异常流量主要有以下几种Q?/font>
Q?Q拒l服务攻击(DoSQ?
DoSd使用非正常的数据量d|络讑֤或其接入的服务器Q致使网l设备或服务器的性能下降Q或占用|络带宽Q媄响其它相关用h量的正常通信Q最l可能导致网l服务的不可用?/font>
例如DoS可以利用TCP协议的缺P通过SYN打开半开的TCPq接Q占用系l资源,使合法用戯排斥而不能徏立正常的TCPq接?/font>
以下Z个典型的DoS SYNd?/font>
NetFlow
数据实例Q该案例中多个伪造的源IP同时向一个目的IP发vTCP SYNd。?
117.*.68.45|211.*.*.49|Others|64851|3|2|10000|
10000|6|1|40|1
104.*.93.81|211.*.*.49|Others|64851|3|2|5557|
5928|6|1|40|1
58.*.255.108|211.*.*.49|Others|64851|3|2|3330|
10000|6|1|40|1
׃Internet协议本n的缺PIP包中的源地址是可以伪造的Q现在的DoS工具很多可以伪装源地址Q这也是不易q踪到攻LL的主要原因?/font>
Q?Q分布式拒绝服务dQDDoSQ?/font>
DDoS把DoS又发展了一步,这U攻击行动化Q分布式拒绝服务d可以协调多台计算Z的进E发h击,在这U情况下Q就会有一股拒l服务洪冲ȝl,可能使被d目标因过载而崩溃?/font>
以下Z个典型的DDoSd?/font>
NetFlow
数据实例Q该案例中多个IP同时向一个IP发vUDPd。?
61.*.*.67|69.*.*.100|64821|as9|2|9|49064|5230|
17|6571|9856500|1
211.*.*.163|69.*.*.100|64751|as9|3|9|18423|
22731|17|906|1359000|1
61.*.*.145|69.*.*.100|64731|Others|2|0|52452|
22157|17|3|4500|1
Q?Q网l蠕虫病毒流?/font>
|络蠕虫病毒的传播也会对|络产生影响。近q来QRed Code、SQL Slammer、冲LL、振荡L{病毒的相爆发Q不但对用户L造成影响Q而且对网l的正常q行也构成了的危宻I因ؓq些病毒h扫描|络Q主动传播病毒的能力Q会大量占用|络带宽或网l设备系l资源?/font>
以下为最q出现的振荡波病?/font>
NetFlow
数据实例Q该案例中一个IP同时向随机生成的多个IP发v445端口的TCPq接hQ其效果相当于对|络发vDoSd?br /> 61.*.*.*|168.*.*.200|Others|Others|3|0|1186|
445|6|1|48|1
61.*.*.*|32.*.*.207|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|24.*.*.23|Others|Others|3|0|10000|
445|6|1|48|1
Q?Q其它异常流?/font>
我们把其它能够媄响网l正常运行的量都归为异常流量的范畴Q例如一些网l扫描工具生的大量TCPq接hQ很Ҏ使一个性能不高的网l设备瘫痪?/font>
以下Z个IP?67.*.210.|段Q针对UDP 137端口扫描?/font>
NetFlow
数据实例Q?br /> 211.*.*.54|167.*.210.95|65211|as3|2|10|1028|
137|17|1|78|1
211.*.*.54|167.*.210.100|65211|as3|2|10|
1028|137|17|1|78|1
211.*.*.54|167.*.210.103|65211|as3|2|10|
1028|137|17|1|78|1
2. 异常量向分析
从异常流量流向来看,常见的异常流量可分ؓ三种情况Q?/font>
?|外Ҏ|内的攻?br /> ?本网内对|外的攻?br /> ?本网内对本网内的d
针对不同的异常流量流向,需要采用不同的防护及处理策略,所以判断异常流量流向是q一步防护的前提Q以下ؓq三U情늚
NetFlow
数据实例Q?
124.*.148.110|211.*.*.49|Others|64851|3|2|
10000|10000|6|1|40|1
211.*.*.54|167.*.210.252|65211|as3|2|10|
1028|137|17|1|78|1
211.*.*.187|211.*.*.69|Others|localas|71|6|1721|
445|6|3|144|1
其中211开头的地址为本|地址?/font>
3. 异常量产生的后?/font>
异常量对网l的影响主要体现在两个方面:
占用带宽资源使网l拥塞,造成|络丢包、时延增大,严重时可D|络不可用;
占用|络讑֤pȝ资源QCPU、内存等Q,使网l不能提供正常的服务?/font>
4. 异常量的数据包cd
常见的异常流量数据包形式有以下几U:
?TCP SYN floodQ?0字节Q?
11.*.64.3|2.*.38.180|64821|as10|5|4|1013|18|6|
1|40|1
?/font>
NetFlow
的采集数据可以看出,此异常流量的典型特征是数据包协议cd?QTCPQ,数据大ؓ40字节Q通常为TCP的SYNq接hQ?br /> ?ICMP flood
2.*.33.1|1.*.97.22|as12|64811|5|2|0|0|1|146173|
218359704|1
?/font>
NetFlow
的采集数据可以看出,此异常流量的典型特征是数据包协议cd?QICMPQ,单个数据字节数?18M字节?br /> ?UDP flood
*.*.206.73|160.*.71.129|64621|Others|6|34|
1812|1812|17|224|336000|1
*.*.17.196|25.*.156.119|64621|Others|6|34|
1029|137|17|1|78|1
?/font>
NetFlow
的采集数据可以看出,此异常流量的典型特征是数据包协议cd?7QUDPQ,数据有大有?br /> ?其它cd
其它cd的异常流量也会在|络中经常见刎ͼ从理Z来讲QQ何正常的数据包Ş式如果被大量滥用Q都会生异常流量,如以下的DNS正常讉Kh数据包(协议cd53Q如果大量发生,׃产生对DNS服务器的DoSd?br /> 211.*.*.146|211.*.*.129|Others|Others|71|8|
3227|53|53|1|59|1
5. 异常量的源、目的地址
?目的地址为固定的真地址Q这U情况下目的地址通常是被异常量d的对象,如下例数据:
211.*.*.153|*.10.72.226|as2|as8|5|4|3844|10000|
17|2|3000|2
211.*.*.153|*.10.72.226|
as2|as8|5|4|3845|10000|17|1|1500|1
211.*.*.153|*.10.72.226|as2|as8|5|4|3846|10000|
17|1|1500|1
?目的地址随机生成Q如下例数据Q?br /> 211.*.*.187|169.*.190.17|Others|localas|71|6|
1663|445|6|3|144|1
211.*.*.187|103.*.205.148|Others|localas|71|6|
3647|445|6|3|144|1
211.*.*.187|138.*.80.79|Others|localas|71|6|
1570|445|6|3|144|1
?目的地址有规律变化,如下例数据,目的地址在顺序增加:
211.*.*.219|192.*.254.18|Others|Others|15|9|
10000|6789|17|1|36|1
211.*.*.219|192.*.254.19|Others|Others|15|9|
10000|6789|17|2|72|2
211.*.*.219|192.*.254.20|Others|Others|15|9|
10000|6789|17|3|108|3
?源地址为真实IP地址Q数据同上例Q?br /> ?源地址Z造地址Q这U情冉|地址通常随机生成Q如下例数据Q源地址都是伪造的|络地址Q?br /> 63.245.0.0|209.*.*.38|as5|as4|3|7|1983|23|23|
1|40|1
12.51.0.0 |209.*.*.38 |as6|as4|3|7|1159|2046|6|
1|40|1
212.62.0.0|209.*.*.38| as7|as4|3|7|1140|3575|6|
1|40|1
6. 异常量的源、目的端口分?/font>
?异常量的源端口通常会随机生成,如下例数据:
211.*.*.187|169.172.190.17|Others|localas|71|
6|1663|445|6|3|144|1
211.*.*.187|103.210.205.148|Others|localas|71|
6|3647|445|6|3|144|1
211.*.*.187|138.241.80.79|Others|localas|71|6|
1570|445|6|3|144|1
?多数异常量的目的端口固定在一个或几个端口Q我们可以利用这一点,对异常流量进行过滤或限制Q如下例数据Q目的端口ؓUDP 6789Q?br /> 211.*.*.219|192.*.254.18|Others|Others|15|9|
10000|6789|17|1|36|1
211.*.*.219|192.*.254.19|Others|Others|15|9|
10000|6789|17|2|72|2
211.*.*.219|192.*.254.20|Others|Others|15|9|
10000|6789|17|3|108|3
四、利?/strong> NetFlow 工具处理防范|络异常量
从某U程度上来讲Q互联网异常量永远不会消失而且从技术上目前没有Ҏ的解军_法,但对|管人员来说Q可以利用许多技术手D分析异常流量,减小异常量发生时带来的影响和损失,以下是处理网l异常流量时可以采用的一些方法及工具Q?br />
1. 判断异常量向
因ؓ目前多数|络讑֤只提供物理端口入量?/font> NetFlow 数据Q所以采集异常流?/font> NetFlow 数据之前Q首先要判断异常量的流向,q而选择合适的物理端口去采集数据?/font>
量监控理软g是判断异常流量流向的有效工具Q通过量大小变化的监控,可以帮助我们发现异常量Q特别是大流量异常流量的向Q从而进一步查扑ּ常流量的源、目的地址?/font>
目前最常用的流量监控工h免费软gMRTGQ下图ؓ利用MRTG监测到的|络异常量实例Q可以看监测讑֤端口在当?Q?0?Q?0之间产生了几十Mbps的异常流量,造成了该端口的拥塞(峰值流量被拉^Q?/font>
如果能够流量监部|到全网Q这样在cM异常量发生Ӟpq速找到异常流量的源或目标接入讑֤端口Q便于快速定位异常流量流向?/font>
有些异常量发生时ƈ不体Cؓ大流量的产生Q这U情况下Q我们也可以l合异常量发生时的其它现象判断其流向,如设备端口的包{发速率、网l时延、丢包率、网l设备的CPU利用率变化等因素。 ?
2. 采集分析 NetFlow 数据
判断异常量的流向后Q就可以选择合适的|络讑֤端口Q实施Neflow配置Q采集该端口入流量的 NetFlow 数据?/font>
以下是在Cisco GSR路由器GigabitEthernet10/0端口上打开
NetFlow
的配|实例:
ip flow-export source Loopback0
ip flow-export destination *.*.*.61 9995
ip flow-sampling-mode packet-interval 100
interface GigabitEthernet10/0
ip route-cache flow sampled
通过该配|把入到GigabitEthernet10/0?/font>
NetFlow
数据送到
NetFlow
采集?.*.*.61Q该实例中采用sampled模式Q采样间隔ؓ100:1?/font>
3. 处理异常量的方?/font>
Q?Q切断连?br /> 在能够确定异常流量源地址且该源地址讑֤可控的情况下Q切断异常流量源讑֤的物理连接是最直接的解军_法?/font>
Q?Q过?br /> 采用ACLQAccess Control ListQ过滤能够灵zd现针Ҏ目的IP地址、协议类型、端口号{各UŞ式的qoQ但同时也存在消耗网l设备系l资源的副作用,下例为利用ACLqoUDP 1434端口的实例:
access-list 101 deny udp any any eq 1434
access-list 101 permit ip any any
此过滤针对蠕虫王病毒QSQL SlammerQ,但同时也qo了针对SQL Server的正常访问,如果要保证对SQL Server的正常访问,q可以根据病毒流数据包的大小特征实施更细化的qo{略Q本文略Q?/font>
Q?Q静态空路由qo
能确定异常流量目标地址的情况下Q可以用静态\由把异常量的目标地址指向I(NullQ,q种qo几乎不消耗\由器pȝ资源Q但同时也过滤了对目标地址的正常访问,配置实例如下Q?br /> ip route 205.*.*.2 255.255.255.255 Null 0
对于多\由器的网l,q需增加相关动态\由配|,保证qo在全|生效?/font>
Q?Q异常流量限?br /> 利用路由器CAR功能Q可以将异常量限定在一定的范围Q这U过滤也存在消耗\由器pȝ资源的副作用Q以下ؓ利用CAR限制UDP 1434端口量的配|实例:
Router# (config) access-list 150 deny udp any any eq 1434
Router# (config) access-list 150 permit ip any any
Router# (config) interface fastEthernet 0/0
Router# (config-if) rate-limit input access-group rate-limit 150 8000 1500 20000
conform-action drop exceed-action drop
此配|限定UDP 1434端口的流量ؓ8Kbps?/font>
五、常见蠕虫病毒的 NetFlow 分析案例
利用上诉Ҏ可以分析目前互联|中存在的大多数异常量Q特别是对于q年来在互联|中造成较大影响的多数蠕虫病毒,其分析效果非常明显,以下为几U蠕虫病毒的 NetFlow 分析实例Q?/font>
1. U色代码 (Code Red Worm)
2001q?月v发作Q至今仍在网l流量中l常出现?br /> 211.*.*.237|192.*.148.107|65111|as1|6|72|
3684|80|80|3|144|1
211.*.*.237|192.*.141.167|65111|as1|6|36|
4245|80|80|3|144|1
211.*.*.237|160.*.84.142|65111|as1|6|72|
4030|80|80|3|144|1
NetFlow
数据典型特征:目的端口80, 协议cd80Q包数量3Q字节数144?/font>
2. 盘杀手(worm.opasoftQW32.Opaserv.WormQ?br /> 2002q??0日v发作Q曾对许多网l设备性能造成影响Q?003q后逐渐减少?br /> 61.*.*.196|25.|*.156.106|64621|Others|6|36|
1029|137|17|1|78|1
61.*.*.196|25.*.156.107|64621|Others|6|36|
1029|137|17|1|78|1
61.*.*.196|25.*.156.108|64621|Others|6|36|
1029|137|17|1|78|1
NetFlow
数据典型特征:目的端口137Q协议类型UDPQ字节数78?/font>
3. 2003蠕虫?(Worm.NetKiller2003QWORM_SQLP1434QW32.SlammerQW32.SQLExp.Worm)
2003q??5日v爆发Q造成全球互联|几q瘫痪,至今仍是互联|中最常见的异常流量之一?br /> 61.*.*.124|28.*.17.190|65111|as1|6|34|4444|
1434|17|1|404|1
61.*.*.124|28.*.154.90|65111|as1|6|70|4444|
1434|17|1|404|1
61.*.*.124|28.*.221.90|65111|as1|6|36|4444|
1434|17|1|404|1
NetFlow
数据典型特征:目的端口1434Q协议类型UDPQ字节数404
4. 冲击?(WORM.BLASTERQW32.Blaster.Worm)
2003q??2日v爆发Q由其引发了危害更大的冲LL杀手病毒?br /> 211.*.*.184|99.*.179.27|Others|Others|161|0|
1523|135|6|1|48|1
211.*.*.184|99.*.179.28|Others|Others|161|0|
1525|135|6|1|48|1
211.*.*.184|99.*.179.29|Others|Others|161|0|
1527|135|6|1|48|1
典型特征Q目的端?35Q协议类型TCPQ字节数48
5. 冲击波杀手(Worm.KillMsBlastQW32.Nachi.wormQW32.Welchia.WormQ?br /> 2003q??8日v发现Q其产生的ICMP量对全球互联网造成了很大媄响,2004q后病毒量明显减少?br /> 211.*.*.91|211.*.*.77|Others|Others|4|0|0|
2048|1|1|92|1
211.*.*.91|211.*.*.78|Others|Others|4|0|0|
2048|1|1|92|1
211.*.*.91|211.*.*.79|Others|Others|4|0|0|
2048|1|1|92|1
NetFlow
数据典型特征:目的端口2048Q协议类型ICMPQ字节数92
6. 振荡?Worm.SasserQW32.Sasser)
2004q?月爆发?br /> 61.*.*.*|32.*.70.207|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|24.*.217.23|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|221.*.65.84|Others|Others|3|0|10000|
445|6|1|48|1
NetFlow
数据典型特征:目的端口445Q协议类型TCPQ字节数48
从以上案例可以看出,蠕虫爆发Ӟ应用Neflow分析ҎQ可以根据病毒流量的
NetFlow
特征快速定位感染病毒的IP地址Qƈ参?/font>
NetFlow
数据的其它特征在网l设备上采取相应的限制、过滤措施,从而达到抑制病毒流量传播的目的?/font>
六、ȝ
处理分析|络异常量存在许多其它ҎQ如我们可以利用IDS、协议分析A、网l设备的Log、Debug、ip accounting{功能查扑ּ常流量来源,但这些方法的应用因各U原因受到限Ӟ如效率低、对|络讑֤的性能影响、数据不易采集等因素?/font>
利用 NetFlow 分析|络异常量也存在一些限制条Ӟ如需要网l设备对 NetFlow 的支持,需要分?/font> NetFlow 数据的工兯YӞ需要网l管理员准确区分正常量数据和异常流量数据等?/font>
但相比其它方法,利用 NetFlow 分析|络异常量因其方便、快捗高效的特点Qؓ来多的网l管理员所接受Q成Z联网安全理的重要手D,特别是在较大|络的管理中Q更能体现出其独特优ѝ?/font>
参考文?br />[1]
NetFlow
Overview
[2]
NetFlow
Export Datagram Format
[3]Customizing FlowCollector
[4]SAFE SQL Slammer Worm Attack Mitigation
[5]病毒与安?/font>