通經絡 拒絕服務不可怕
《黃帝內經》載:“經脈者,人之所以生,病之所以成,人之所以治,病之所以起”,其作者為“決生死,處百病,調虛實,不可不通”,誠為人體最為重要一個組成部分。經脈一旦不通,各種疾病就會紛至沓來。拒絕服務/分布式拒絕服務從其影響來看,和經脈不通有異曲同工的表現形式:整個網站系統對外服務不可用,幾乎就可以認為網站“死了”。
下面是一則示例:
某省移動公司信息技術部總經理D先生在近日就遇到拒絕服務攻擊的麻煩:用戶投訴說網站訪問太慢,動不動就超時斷開連接。這個問題該如何處理呢?
說到拒絕服務攻擊,相信大家都不陌生。在所有的駭客攻擊行為中,這種攻擊顯得頗為特立獨行:因為它是一種損人不利己的攻擊行為。
典型的拒絕服務表現:正常服務請求無法得到滿足,比如訪問緩慢,無響應等,嚴重情況下甚至會有服務器死機現象。
除了常說的拒絕服務之外,還有另外一種防范更為困難的分布式拒絕服務。分布式拒絕服務是指借助客戶端/服務器技術,聯合多個(常常可達數萬個)計算機作為一個攻擊平臺,對目標發起拒絕服務攻擊,由于受控的攻擊機器(就是我們通常所謂的傀儡機)數量龐大,極端情況下即使每臺傀儡機都只發送正常服務請求,目標機器也有可能由于資源過載而無法正常提供服務。
有人認為,拒絕服務絕對無法避免,其實不盡然,根據觸發原因的不同,某些拒絕服務是可以避免的,有一種情況是由于錯誤配置或系統BUG導致的。錯誤配置造成的拒絕服務攻擊可以通過修正配置來避免,系統BUG造成的拒絕服務攻擊可以通過打修正BUG的補丁來避免。
注意:
1. 錯誤配置:某服務器系統配置支持1000個用戶同時連接,但在該服務器上的系統軟件上,并未對用戶連接數上限做限制,導致同時連接用戶數量過多,服務器響應緩慢。
2. 系統BUG:這里的系統可能是軟件可能是協議,最著名的導致拒絕服務攻擊的系統BUG就是TCP的三次握手,攻擊者可以偽造大量源地址進行持續的TCP的SYN請求,在接受到服務器端ACK回應時不做任何響應,使得服務器需要保持大量的端口監聽狀況,從而造成拒絕服務。
根據拒絕服務類型的不同,大致有以下常見類型:
網絡寬帶消耗型攻擊:由于大量的網絡服務請求占用和耗盡了帶寬資源,導致的拒絕服務攻擊。通過抓包可以看到網絡中存在大量數據包,達到網絡通訊量的上限。一般來說可以通過修改服務器配置或使用QoS設備來降低此類攻擊危害。
一般來說,在服務器上做的配置包括:
·關閉不必要的服務
·限制同時打開的Syn半連接數
·縮短Syn半連接的time out時間
在網關設備上做的配置包括:
防火墻
·禁止對主機的非開放服務的訪問
·限制同時打開的Syn最大連接數
·限制特定IP地址的訪問
·啟用防火墻的防DDoS的屬性
·嚴格限制對外開放的服務器的向外訪問
路由器
·Cisco Express Forwarding(CEF)
·使用unicast reverse-path
·訪問控制列表(ACL)過濾
·設置Syn數據包流量速率
·升級版本過低的ISO
·為路由器建立log server
通常情況下,針對帶寬消耗型拒絕服務/分布式拒絕服務的最佳防御位置是在運營商處,通過在路由器上對數據包源IP地址進行驗證,如未找到匹配項就予以丟棄,這樣可以最大限度保證偽造的數據包不會通過Internet傳到用戶網絡中。但這種方法將極大降低路由器的處理性能,故應用不多。
資源耗盡型攻擊:利用處理缺陷,通過發送數據包耗盡CPU等處理資源,導致無法正常提供服務。網絡流量并不大,但服務器的資源占用率極高,如CPU時間100%。Jolt2.c就是這樣的一種攻擊行為。
資源消耗型的攻擊相對來說易于防御,串接在網絡中的設備只要能對畸形數據包進行分析和丟棄,就可以避免此類攻擊。入侵防御產品,甚至是防火墻產品都具備此項功能。
一些重要網站,或是在一些重大事件期間,網站無法訪問將會帶來非常嚴重的影響。帶寬消耗型拒絕服務,尤其是那些利用大規模僵尸網絡進行的攻擊行為,幾乎無法從“直接防御”這個角度進行防護,這種情況下,較好的應對措施就是增加服務的提供能力,如采用增加寬帶、提高計算性能、冗余備份、負載均衡手段,常見的大型門戶網站基本都是采用這種方法來應對拒絕服務威脅。
保持經絡暢通,是一種養生學態度,需要常運動,保持心情愉悅,練氣功,使用活血理氣的食物,發現有異常及時處理;而保持網站不被拒絕服務,也需要從多個角度出發:增加帶寬、調整網絡設備策略。
【編輯推薦】