知識(shí)庫(kù)
什么樣的網(wǎng)站容易被ip攻擊?在我們處理過(guò)的ip攻擊中,主要消耗的是CPU和內(nèi)存,通常在帶寬被占滿前CPU和內(nèi)存已經(jīng)爆掉。而對(duì)于靜態(tài)網(wǎng)站,也就是生成HTML頁(yè)面的網(wǎng)站,靜態(tài)請(qǐng)求占用的CPU和內(nèi)存是極低的,所以幾乎不太可能出現(xiàn)生成HTML后被CC攻擊掛掉的情況。所以,被ip攻擊的主要都是動(dòng)態(tài)網(wǎng)站,比如Discuz,Wordpress等。都是什么人在攻擊?無(wú)聊惡作劇、打擊報(bào)復(fù)、敲詐勒索、同行惡意競(jìng)爭(zhēng)。
防ip攻擊:http://www.9358l.com/dedicated/hkcdn.html
1.OOB攻擊:利用NETBIOS中一個(gè)OOB (Out of Band)的漏洞而來(lái)進(jìn)行的,它的原理是通過(guò)TCP/IP協(xié)議傳遞一個(gè)數(shù)據(jù)包到計(jì)算機(jī)某個(gè)開(kāi)放的端口上(一般是137、138和139),當(dāng)計(jì)算機(jī)收到這個(gè)數(shù)據(jù)包之后就會(huì)瞬間死機(jī)或者藍(lán)屏現(xiàn)象,不重新啟動(dòng)計(jì)算機(jī)就無(wú)法繼續(xù)使用TCP/IP協(xié)議來(lái)訪問(wèn)網(wǎng)絡(luò)。
2.DoS攻擊:針對(duì)Windows 9X所使用的ICMP協(xié)議進(jìn)行的DOS(Denial of Service,拒絕服務(wù))攻擊,一般來(lái)說(shuō),這種攻擊是利用對(duì)方計(jì)算機(jī)上所安裝協(xié)議的漏洞來(lái)連續(xù)發(fā)送大量的數(shù)據(jù)包,造成對(duì)方計(jì)算機(jī)的死機(jī)。
3.WinNuke攻擊:從最初的簡(jiǎn)單選擇IP攻擊某個(gè)端口發(fā)展到可以攻擊一個(gè)IP區(qū)間范圍的計(jì)算機(jī),并且可以進(jìn)行連續(xù)攻擊,還能夠驗(yàn)證攻擊的效果,還可以對(duì)檢測(cè)和選擇端口,所以使用它可以造成某一個(gè)IP地址區(qū)間的計(jì)算機(jī)全部藍(lán)屏死機(jī)。
4.SSPing:它的工作原理是向?qū)Ψ降挠?jì)算機(jī)連續(xù)發(fā)出大型的ICMP數(shù)據(jù)包,被攻擊的機(jī)器此時(shí)會(huì)試圖將這些文件包合并處理,從而造成系統(tǒng)死機(jī)。
5.TearDrop攻擊:利用那些在TCP/IP堆棧實(shí)現(xiàn)中信任IP碎片中的包的標(biāo)題頭所包含的信息來(lái)實(shí)現(xiàn)自己的攻擊,由于IP分段中含有指示該分段所包含的是原包哪一段的信息,所以一些操作系統(tǒng)下的TCP/IP協(xié)議在收到含有重疊偏移的偽造分段時(shí)將崩潰。TeadDrop最大的特點(diǎn)是除了能夠?qū)indows 9X/NT進(jìn)行攻擊之外,連Linux也不能幸免。
①JavaScript方式輸出入口
第一次訪問(wèn)的時(shí)候,不是直接返回網(wǎng)頁(yè)內(nèi)容,而且返回這段JS程序。
作用就是計(jì)算出入口變量的值,然后在訪問(wèn)的網(wǎng)址后面加上類似于”?jdfwkey=hj67l9″的字串,組合成新的網(wǎng)址,然后跳轉(zhuǎn),當(dāng)防火墻驗(yàn)證了jdfwkey的值(hj67l9)是正確的之后,就放行,一段時(shí)間內(nèi)就不會(huì)再出這個(gè)判斷程序的頁(yè)面。
(防護(hù)方式用的最早并且用的最多的是金盾防火墻。也正是由于用的人太多了,市面上已經(jīng)有突破金盾防火墻的軟件在出售,原理就是通過(guò)JS解析引擎計(jì)算出jdfwkey的值。)
②301或者302轉(zhuǎn)向方式輸出入口
原理和1類似,突破的方式更簡(jiǎn)單,和1差不多,只不過(guò)是直接在HTTP頭中,連JS引擎都省了。區(qū)別在于把入口直接輸出在了HTTP頭部信息里,不重復(fù)敘述了。還有一些把入口通過(guò)其他方式輸出的,比如cookie,類似于1和2,原理都是在第一次訪問(wèn)的時(shí)候設(shè)置一道檻。這個(gè)就不單獨(dú)計(jì)算為一條了。
③屏蔽代理
由于一部分的CC攻擊是利用代理服務(wù)器發(fā)起的,所以有些時(shí)候防CC會(huì)屏蔽掉帶x-forward-for這個(gè)值的IP,對(duì)匿名代理無(wú)效。無(wú)法硬性突破,也就是說(shuō),如果屏蔽了帶x-forward-for的IP,那么它就不可能訪問(wèn)到。
④判斷速率
由于CC攻擊是持續(xù)的發(fā)起請(qǐng)求,所以發(fā)起攻擊的IP在單位時(shí)間內(nèi)的請(qǐng)求數(shù)量會(huì)明顯比正常多出很多,通過(guò)把請(qǐng)求頻率過(guò)高的IP屏蔽掉來(lái)防御。突破的方式就是限制請(qǐng)求速度,但是這對(duì)于攻擊者是一個(gè)挑戰(zhàn),限制單個(gè)攻擊源的請(qǐng)求速度,并且保證攻擊效果,這就要求攻擊者擁有更多倍的攻擊源(肉雞)。
⑤驗(yàn)證碼
這個(gè)基本是最后的無(wú)敵大招了,必須在用戶輸入驗(yàn)證碼后才能訪問(wèn)。目前階段幾乎不可能應(yīng)用到CC攻擊中,未來(lái)也不太可能。但是網(wǎng)絡(luò)上有很多的打碼平臺(tái),如果和這些平臺(tái)對(duì)接的話,人工識(shí)別驗(yàn)證碼,就OVER了(應(yīng)該不會(huì)有人去搞,太麻煩)。
對(duì)于所有的防護(hù)方式,如果是把網(wǎng)站域名解析到了別處,通過(guò)其他機(jī)器轉(zhuǎn)發(fā)請(qǐng)求來(lái)防御CC攻擊流量的(比如CDN),都可以通過(guò)添加HOST值的方式將流量發(fā)到真實(shí)機(jī)器上,使這些防護(hù)失效。找查網(wǎng)站真實(shí)IP的方法很多很復(fù)雜,不能保證100%都能找得到,本文不做敘述。
大多數(shù)路由器的內(nèi)置的欺騙過(guò)濾器。過(guò)濾器的最基本形式是,不允許任何從外面進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)包使用單位的內(nèi)部網(wǎng)絡(luò)地址作為源地址。從網(wǎng)絡(luò)內(nèi)部發(fā)出的到本網(wǎng)另一臺(tái)主機(jī)的數(shù)據(jù)包從不需要流到本網(wǎng)絡(luò)之外去。因此,如果一個(gè)來(lái)自外網(wǎng)的數(shù)據(jù)包,聲稱來(lái)源于本網(wǎng)絡(luò)內(nèi)部,就可以非常肯定它是假冒的數(shù)據(jù)包,應(yīng)該丟棄。這種類型的過(guò)濾叫做入口過(guò)濾,他保護(hù)單位的網(wǎng)絡(luò)不成為欺騙攻擊的受害者。另一種過(guò)濾類型是出口過(guò)濾,用于阻止有人使用內(nèi)網(wǎng)的計(jì)算機(jī)向其他的站點(diǎn)發(fā)起攻擊。路由器必須檢查向外的數(shù)據(jù)包,確信源地址是來(lái)自本單位局域網(wǎng)的一個(gè)地址,如果不是,這說(shuō)明有人正使用假冒地址向另一個(gè)網(wǎng)絡(luò)發(fā)起攻擊,這個(gè)數(shù)據(jù)包應(yīng)該被丟棄。
有些IP,我們會(huì)要求它一直可以訪問(wèn)到網(wǎng)站內(nèi)容,比如蜘蛛,比如交易類網(wǎng)站的支付寶異步通知。但是收集這些IP,幾乎是無(wú)法100%準(zhǔn)確的收集到的(可能有人會(huì)想到useragent,一句話:攻擊者可以偽造),所以我們盡可能選擇屬于自己的獨(dú)立IP空間。