什么是ACK攻擊
ACK?Flooding攻擊是在TCP連接建立之后,所有的數據傳輸TCP報文都是帶有ACK標志位的,主機在接收到一個帶有ACK標志位的數據包的時候,需要檢查該數據包所表示的連接四元組是否存在,如果存在則檢查該數據包所表示的狀態是否合法,然后再向應用層傳遞該數據包。如果在檢查中發現該數據包不合法,例如該數據包所指向的目的端口在本機并未開放,則主機操作系統協議棧會回應RST包告訴對方此端口不存在。
當攻擊程序每秒鐘發送ACK報文的速率達到一定的程度,才能使主機和防火墻的負載有大的變化。當發包速率很大的時候,主機操作系統將耗費大量的精力接收報文、判斷狀態,同時要主動回應RST報文,正常的數據包就可能無法得到及時的處理。這時候客戶端(以IE為例)的表現就是訪問
頁面反應很慢,丟包率較高,這就是ACK攻擊
防御方法:
有軟防與硬防兩方面做處理,
首先軟防在安裝之后,可對其進行設置,現在的iptabls有相應設置,特別是ACK這方面,專門對ACK協議進行判斷,同時實現ack過濾,減少對網站本身的連接數,從而減少負載,對于一些小攻擊基本不影響到網站的訪問,但出現大量ack攻擊的時候,iptabls防火墻的過濾能力是有限的,所以需要能夠處理大量ack包的能力,這就需要強大的集群硬件防火墻,通過強大的過濾功能,將ack分批過濾,也是解決這類攻擊的最有效的辦法。