SYN Flood
SYN Flood是互聯(lián)網(wǎng)上最原始、最經(jīng)典的DDoS攻擊之一。它利用了TCP協(xié)議的三次握手機(jī)制,攻擊者通常向服務(wù)器發(fā)送海量的變?cè)碔P地址或變?cè)?a target="_blank">端口的TCP SYN報(bào)文,服務(wù)器響應(yīng)了這些報(bào)文后就會(huì)生成大量的半連接,當(dāng)系統(tǒng)資源被耗盡后,服務(wù)器將無(wú)法提供正常的服務(wù)。
增加服務(wù)器性能,提供更多的連接能力對(duì)于SYN Flood的海量報(bào)文來(lái)說(shuō)杯水車(chē)薪,防御SYN Flood的關(guān)鍵在于判斷哪些連接請(qǐng)求來(lái)自于真實(shí)源,屏蔽非真實(shí)源的請(qǐng)求以保障正常的業(yè)務(wù)請(qǐng)求能得到服務(wù)。
SYN Flood是如何發(fā)生的
SYN Flood顧名思義就是用洪水一樣的SYN報(bào)文進(jìn)行攻擊。SYN報(bào)文指的是TCP協(xié)議中的Synchronize報(bào)文,是TCP三次握手過(guò)程中的首個(gè)報(bào)文。正常的TCP三次握手過(guò)程如下:
在連接超時(shí)之前,服務(wù)器會(huì)一直等待ACK報(bào)文,此時(shí)該連接狀態(tài)為半開(kāi)放連接(也稱(chēng)半連接)。半連接會(huì)占用服務(wù)器的連接數(shù),當(dāng)連接數(shù)被占滿(mǎn)時(shí),服務(wù)器將無(wú)法提供正常的服務(wù)。黑客正是通過(guò)這個(gè)機(jī)制來(lái)實(shí)現(xiàn)SYN Flood。黑客通常通過(guò)偽造的源IP地址或端口,向服務(wù)器發(fā)送大量的SYN報(bào)文,請(qǐng)求建立TCP連接。
由于源IP地址或端口是偽造的,服務(wù)器發(fā)送的SYN-ACK報(bào)文永遠(yuǎn)不會(huì)被真實(shí)的客戶(hù)端接收和回應(yīng)。極少數(shù)情況下,黑客也會(huì)使用真實(shí)源IP地址,但他們只是通過(guò)攻擊工具發(fā)送海量SYN報(bào)文,工具并不會(huì)響應(yīng)來(lái)自服務(wù)器SYN-ACK報(bào)文。無(wú)論如何服務(wù)器都接收不到ACK報(bào)文,產(chǎn)生了大量的半連接。
此時(shí)服務(wù)器需要維持一張巨大的等待列表,不停地重試發(fā)送SYN-ACK報(bào)文,同時(shí)大量的資源無(wú)法釋放。當(dāng)服務(wù)器被這些惡意的半連接占滿(mǎn)時(shí),就不會(huì)再響應(yīng)新的SYN報(bào)文,從而導(dǎo)致正常的用戶(hù)無(wú)法建立TCP連接。
如何識(shí)別和防御SYN Flood
對(duì)于服務(wù)器自身來(lái)說(shuō),最直接的做法就是提高服務(wù)能力,比如組建集群/升級(jí)硬件。但是這種方式成本巨大,且對(duì)于海量的攻擊報(bào)文來(lái)說(shuō)并沒(méi)有太大的作用。因此必須在這些攻擊報(bào)文到達(dá)服務(wù)器之前就進(jìn)行攔截。
然而對(duì)于防火墻這類(lèi)安全設(shè)備而言,SYN報(bào)文是正常的業(yè)務(wù)報(bào)文,防火墻的安全策略必須允許其通過(guò),否則服務(wù)器就無(wú)法對(duì)外提供服務(wù)。管理員無(wú)法預(yù)知哪些是虛假源,也無(wú)法做到快速、自動(dòng)地配置或取消安全策略來(lái)應(yīng)對(duì)不可預(yù)期的攻擊流量。
此時(shí)就需要Anti-DDoS系統(tǒng)的能力,它部署在網(wǎng)絡(luò)入口處,在服務(wù)器之前處理SYN報(bào)文,識(shí)別出虛假源,屏蔽來(lái)自這些地址的報(bào)文,只將合法的SYN報(bào)文傳遞給服務(wù)器。Anti-DDoS系統(tǒng)處理SYN報(bào)文主要有兩種手段,源認(rèn)證和首包丟棄。
源認(rèn)證:Anti-DDoS系統(tǒng)攔截客戶(hù)端發(fā)送的SYN報(bào)文,代替服務(wù)器向客戶(hù)端發(fā)送SYN-ACK報(bào)文,如果客戶(hù)端不應(yīng)答,則認(rèn)為該客戶(hù)端為虛假源;如果客戶(hù)端應(yīng)答,則Anti-DDoS系統(tǒng)認(rèn)為該客戶(hù)端為真實(shí)源,并將其IP地址加入白名單,在一段時(shí)間允許該源發(fā)送的所有SYN報(bào)文通過(guò),也不做代答。
首包丟棄:Anti-DDoS系統(tǒng)利用首包丟棄來(lái)解決大量反彈的SYN-ACK報(bào)文會(huì)對(duì)網(wǎng)絡(luò)造成一定壓力的問(wèn)題。正常情況下客戶(hù)端發(fā)送SYN報(bào)文后如果在一定時(shí)間沒(méi)有收到服務(wù)器的SYN-ACK應(yīng)答,客戶(hù)端會(huì)重新發(fā)送SYN報(bào)文。Anti-DDoS系統(tǒng)會(huì)丟棄掉收到的第一個(gè)SYN報(bào)文。SYN Flood攻擊時(shí),黑客發(fā)送的絕大多數(shù)是變?cè)吹腟YN報(bào)文,所有的SYN報(bào)文對(duì)于Anti-DDoS系統(tǒng)來(lái)說(shuō)都是首包,都將被直接丟棄。如果客戶(hù)端重傳了SYN報(bào)文,Anti-DDoS系統(tǒng)再對(duì)該報(bào)文進(jìn)行源認(rèn)證。
編輯:jq
-
DDoS
+關(guān)注
關(guān)注
3文章
172瀏覽量
23113 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9304瀏覽量
86066 -
防火墻
+關(guān)注
關(guān)注
0文章
420瀏覽量
35684 -
TCP
+關(guān)注
關(guān)注
8文章
1378瀏覽量
79302
原文標(biāo)題:什么是SYN Flood?
文章出處:【微信號(hào):huaweidoc,微信公眾號(hào):華為產(chǎn)品資料】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論