分佈式拒絕服務(DDoS:Distributed Denial of Service)攻擊指藉助於客戶/服務器技術,用分佈在網絡的大量機器同時向服務器發起攻擊,具體的攻擊手段有下面四種:
1. SYN Flood攻擊
先解釋tcp三次握手的過程
Linux或者unix系統會對“未完成連接隊列”和“已完成連接隊列”有個總量限制,如果大量客戶端同時發起連接,超過隊列容量的會被拒絕,一般情況下,完成三次握手的過程是很快,不會填滿隊列。
但是如果攻擊機僞造ip地址,導致被攻擊機ack響應發送到一個虛無的地址,被攻擊機無法收到客戶端的ack,導致未完成連接隊列堆積越來越多,當隊列滿後,來自正常用戶機器的請求都被拒絕掉
2. ack Flood攻擊
攻擊機不斷向被攻擊機發送ack包,被攻擊機檢查本機是否開放ack包中端口是否開放,沒有則響應rst包,如果端口已經開放,檢查ack包是否是被攻擊機中已經建立的連接,不是則響應rst包,是則把rst返回給上層應用處理。
整個rst的校驗過程是比較快,可見rst攻擊對服務器的影響比較小,rst包會佔用服務器的內存,只會消耗部分內存資源
3. udp Flood攻擊
攻擊機同時向被攻擊機發送很多大容量的udp包,佔滿被攻擊機的帶寬和服務器資源,導致無法響應正常用戶的請求。
4. icmp Flood攻擊
如第三點,不同的是發送icmp包