1. 程式人生 > >網站安全之幾種常見的網路攻擊方式

網站安全之幾種常見的網路攻擊方式

 * syn flood: 一個使用者向伺服器傳送syn報文後,如果伺服器在發出sys+ack報文後無法收到客戶端ack報文,這種情況下伺服器端一般會重試(再次傳送syn+ack給客戶端),並等待一段時間後丟棄這個未完成的連線,這段時間的長度我們稱為syn timeout,一般來說這個時間是分鐘的數量級(大約為30秒-2分)。 一個使用者出現異常導致伺服器的一個執行緒等待1分鐘並不是什麼很大的問題,但如果有一個惡意的攻擊者大量的模擬這種情況,伺服器端將為了維護一個非常大的半連線列表而消耗非常多的資源。即使是簡單的儲存並遍歷也會消耗非常多的CPU時間和記憶體,何況還要不斷對這個列表中的IP進行syn+ack的重試。
防禦原理:預設情況下,系統會對新客戶的訪問進行syn代理,直到客戶端與抗拒絕裝置建立TCP連線成功,抗拒絕裝置才會再代理客戶端與防護主機進行TCP連線,後續通訊則不再代理。 * ACK flood: 1、端系統對ACK報文的處理 端系統在收到一個ACK報文時,如果目的埠未開放,那麼端系統會直接向源IP傳送RST報文。如果端系統的相關埠是對外開放的,那麼其在收到ACK報文時,首先會檢查這個ACK報文是否屬於TCP連線表中的一個已有連線(這個過程會對端系統主機CPU資源造成一定的消耗),如果是的話,則正常處理,如果不屬於任何一個已有連線,那麼端系統會向源IP傳送RST報文。 2、中間系統對ACK flood報文的處理
路由器:只根據網路層資訊(目的IP、源IP等),因此路由器在處理ACK報文的時候,其並不關係它是不是ACK報文,它主要關心其目的地址。如果ACK flood攻擊的目的主機是固定的,那麼路由器其實只需要在收到第一個ACK flood攻擊報文時,呼叫CPU資源實現路由和轉發,後續的ACK flood國內國際報文由於目的主機是固定的,其甚至不需要呼叫CPU資源,直接使用快速轉發表就可實現對ACK flood報文的轉發。 防火牆:對ACK報文是否屬於連線狀態表中的已有連線,如果是,防火牆轉發該ACK報文,如果未命中任何一個已有連線,防火牆會將該ACK報文丟棄。 防禦原理:跟蹤IP的TCP會話,形成一個連線跟蹤表,TCP連線建立好之後,對後續的ACK報文,查詢連線跟蹤表,匹配相應的TCP會話流,如果沒有匹配,就是異常的或之前沒有連線的ACK報文。這種報文達到出發引數,就會進入ACK flood防禦模式,此時抗拒絕裝置只放行正確的ACK,比如,設定閥值10000報文/秒。
* UDP flood攻擊: 利用大量UDP小包衝擊DNS伺服器或Radius認證伺服器、流媒體視訊伺服器。攻擊者傳送大量的偽造源IP地址的小UDP包,因為是無連線性的協議,所以只要開了一個UDP的埠提供相關服務的話,那麼就可以針對相關的服務進行攻擊。 防禦原理:當防禦主機每秒收到的UDP報文達到設定閥值時,則進入UDP flood防禦狀態,此時抗拒絕裝置會丟棄所有後續對防護主機IP的UDP報文,除非此UDP埠在規則或者UDP埠中設定了放行,設定閥值,比如1000報文/秒。 UDP埠防護中可以針對相應的埠進行防護設定。 a、開放埠:選擇後開放此埠,如果不選擇,則關閉此埠; b、同步連線:選擇此項後,此埠建立UDP連線時,必須已經存在TCP連線,否則拒絕連線; c、延遲提交:主要針對DNS,抗拒絕系統會延時迴應客戶端的查詢; d、驗證TTL:檢測UDP包中的TTL值,如果某個數值的TTL頻率過高,則進行遮蔽。 * DNS Query flood: 向被攻擊的伺服器傳送大量的域名解析請求,攻擊者所請求解析的域名是隨機生成或者是網路世界上根本不存在的域名,被攻擊者的DNS伺服器就需要進行頻繁的字串匹配,由於在本地無法查到對應的結果,伺服器必須使用遞迴查詢向上層域名伺服器提交解析請求,引起連鎖反應,從而給DNS伺服器帶來更大的負載。 防禦原理: 1、強制開啟外掛 2、自動開啟 3、延時提交、驗證TTL * ICMP flood: DDOS攻擊的一種,通過向目標傳送大量的大包,windows可以傳送包最大是65500,Linux是65007。 防禦原理:設定閥值,比如100報文/秒 * frag flood: 鏈路層MTU限制了資料幀的最大長度,不同網路型別都有一個上限值。乙太網MTU是1500,可以用netstat -i命令檢視。如果IP層有資料包要傳,而且資料包的長度超過了MTU,那麼IP層就會對資料包進行分片,使每一片長度小於或等於MTU。 IP首部有兩個位元組表示資料包的大小,所以IP資料包最長只能為0xFFFF,就是65535位元組。如果傳送總長度超過65535位元組的IP碎片,一些老的系統核心在處理的時候就會出現問題,導致崩潰或拒絕服務。如果分片之間偏移量經過精心構造,一些系統就無法處理。 防禦原理:設定閥值,比如100報文/秒 * 連線型攻擊: 使用大量的傀儡機,頻繁的連線伺服器,形成虛假的客戶請求,耗盡伺服器資源,使其拒絕服務。常見攻擊:CC攻擊、HTTP攻擊、Get flood攻擊、遊戲假人攻擊等。 HTTP攻擊:http get flood、http post flood,get和post只是伺服器接受查詢的方式不同而已,單客戶機攻擊危害不大,但是利用大量代理或者肉雞來攻擊,就會造成伺服器資源耗盡,就是CC攻擊。 防禦原理:web plugin