SYN Flood攻擊以及解決方法

2021-10-02 17:41:07 字數 1456 閱讀 3563

syn flood攻擊

最基本的dos攻擊就是利用合理的服務請求來占用過多的服務資源,從而使合法使用者無法得到服務的響應。syn flood屬於dos攻擊的一種。

如果惡意的向某個伺服器端口傳送大量的syn包,則可以使伺服器開啟大量的半開連線,分配tcb(transmission control block), 從而消耗大量的伺服器資源,同時也使得正常的連線請求無法被相應。當開放了乙個tcp埠後,該埠就處於listening狀態,不停地監視發到該埠的syn報文,一 旦接收到client發來的syn報文,就需要為該請求分配乙個tcb,通常乙個tcb至少需要280個位元組,在某些作業系統中tcb甚至需要1300個位元組,並返回乙個syn ack命令,立即轉為syn-received即半開連線狀態。系統會為此耗盡資源。

常見的防攻擊方法有:

無效連線的監視釋放

監視系統的半開連線和不活動連線,當達到一定閾值時拆除這些連線,從而釋放系統資源。這種方法對於所有的連線一視同仁,而且由於syn flood造成的半開連線數量很大,正常連線請求也被淹沒在其中被這種方式誤釋放掉,因此這種方法屬於入門級的syn flood方法。

延緩tcb分配方法

消耗伺服器資源主要是因為當syn資料報文一到達,系統立即分配tcb,從而占用了資源。而syn flood由於很難建立起正常連線,因此,當正常連線建立起來後再分配tcb則可以有效地減輕伺服器資源的消耗。常見的方法是使用syn cache和syn cookie技術。

syn cache技術

系統在收到乙個syn報文時,在乙個專用hash表中儲存這種半連線資訊,直到收到正確的回應ack報文再分配tcb。這個開銷遠小於tcb的開銷。當然還需要儲存序列號。

syn cookie技術

syn cookie技術則完全不使用任何儲存資源,這種方法比較巧妙,它使用一種特殊的演算法生成sequence number,這種演算法考慮到了對方的ip、埠、己方ip、埠的固定資訊,以及對方無法知道而己方比較固定的一些資訊,如mss(maximum segment size,最大報文段大小,指的是tcp報文的最大資料報長度,其中不包括tcp首部長度。)、時間等,在收到對方 的ack報文後,重新計算一遍,看其是否與對方回應報文中的(sequence number-1)相同,從而決定是否分配tcb資源。

使用syn proxy防火牆

一種方式是防止牆dqywb連線的有效性後,防火牆才會向內部伺服器發起syn請求。防火牆代伺服器發出的syn ack包使用的序列號為c, 而真正的伺服器回應的序列號為c』, 這樣,在每個資料報文經過防火牆的時候進行序列號的修改。另一種方式是防火牆確定了連線的安全後,會發出乙個safe reset命令,client會進行重新連線,這時出現的syn報文會直接放行。這樣不需要修改序列號了。但是,client需要發起兩次握手過程,因此建立連線的時間將會延長。

SYN flood網路攻擊的原理及其防禦方法

1 syn flood攻擊介紹 拒絕服務攻擊 denial of service,dos 是目前比較有效而又非常難於防禦的一種網路攻擊方式,它的目的就是使伺服器不能夠為正常訪問的使用者提供服務。所以,dos對一些緊密依靠網際網路開展業務的企業和組織帶來了致命的威脅。syn flood是最為有效和流行...

SYN flood網路攻擊的原理及其防禦方法 zt

1.2 攻擊原理 在syn flood攻擊中,黑客機器向受害主機傳送大量偽造源位址的tcp syn報文,受害主機分配必要的資源,然後向源位址返回syn ack包,並等待源端返回ack包,如圖2所示。由於源位址是偽造的,所以源端永遠都不會返回ack報文,受害主機繼續傳送syn ack包,並將半連線放入...

什麼是SYN Flood攻擊

syn flood syn洪水 是種典型的dos denial of service,拒絕服務 攻擊。效果就是伺服器tcp連線資源耗盡,停止響應正常的tcp連線請求。說到原理,還得從tcp如何建立連線 connection 講起。通訊的雙方最少得經過3次成功的資訊交換才能進入連線全開狀態 full ...