在信息安全三要素:"完整性"、"保密性"、"可用性",Dos針對的就是可用性
安全
例如:一羣惡霸試圖讓對面那家有着競爭關係的商鋪沒法正常營業,他們會採起什麼手段呢?(只爲舉例,切勿模仿)惡霸們扮做普通客戶一直擁擠在對手的商鋪,賴着不走,真正的購物者卻沒法進入;或者老是和營業員有一搭沒一搭的東扯西扯,讓工做人員不能正常服務客戶;也能夠爲商鋪的經營者提供虛假信息,商鋪的上上下下忙成一團以後卻發現都是一場空,最終跑了真正的大客戶,損失慘重。此外惡霸們完成這些壞事有時憑單幹難以完成,須要叫上不少人一塊兒。嗯,網絡安全領域中DoS和DDoS攻擊就遵循着這些思路服務器
是DDos攻擊方式的一種。DDos攻擊時針對IP的攻擊、cc攻擊是針對服務器資源的攻擊
網絡
1.原理:對任何一個開放了HTTP訪問的服務器HTTP服務器,先創建了一個鏈接,指定一個比較大的content-length,而後以很是低的速度發包,好比1-10s發一個字節,而後維持住這個鏈接不斷開。若是客戶端持續創建這樣的鏈接,那麼服務器上可用的鏈接將一點一點被佔滿,從而致使拒絕服務
2.分類:併發
Web應用在處理HTTP請求以前都要先接收完全部的HTTP頭部,由於HTTP頭部中包含了一些Web應用可能用到的重要的信息。攻擊者利用這點,發起一個HTTP請求,一直不停的發送HTTP頭部,消耗服務器的鏈接和內存資源。抓包數據可見,攻擊客戶端與服務器創建TCP鏈接後,每30秒才向服務器發送一個HTTP頭部,而Web服務器在沒接收到2個連續的rn時,會認爲客戶端沒有發送完頭部,而持續的等等客戶端發送數據代理
攻擊者發送一個HTTP POST請求,該請求的Content-Length頭部值很大,使得Web服務器或代理認爲客戶端要發送很大的數據。服務器會保持鏈接準備接收數據,但攻擊客戶端每次只發送不多量的數據,使該鏈接一直保持存活,消耗服務器的鏈接和內存資源。抓包數據可見,攻擊客戶端與服務器創建TCP鏈接後,發送了完整的HTTP頭部,POST方法帶有較大的Content-Length,而後每10s發送一次隨機的參數。服務器由於沒有接收到相應Content-Length的body,而持續的等待客戶端發送數據code
客戶端與服務器創建鏈接併發送了一個HTTP請求,客戶端發送完整的請求給服務器端,而後一直保持這個鏈接,以很低的速度讀取Response,好比很長一段時間客戶端不讀取任何數據,經過發送Zero Window到服務器,讓服務器誤覺得客戶端很忙,直到鏈接快超時前纔讀取一個字節,以消耗服務器的鏈接和內存資源。抓包數據可見,客戶端把數據發給服務器後,服務器發送響應時,收到了客戶端的ZeroWindow提示(表示本身沒有緩衝區用於接收數據),服務器不得不持續的向客戶端發出ZeroWindowProbe包,詢問客戶端是否能夠接收數據網絡安全
設置限速閾值內存