小型商務網站如何應對DDoS攻擊
作者:濟南雷鳴科技 文章來源:本站原創 更新時間:2023-11-07
DDoS(Distributed Denial of Service,分布式拒絕服務攻擊),俗稱洪水攻擊。是在傳統的DoS攻擊基礎之上產生的新的破壞力更強的攻擊方式。分布式拒絕服務攻擊是指借助于客戶/服務器技術,將多個甚至幾十萬個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DoS攻擊,從而成倍地提高了攻擊的威力。DDoS帶來的破壞是巨大的,你無法阻止黑客對你的網站發動DDoS攻擊,除非主動斷開Internet連接。如果我們無法防止這種攻擊,那么,怎樣做才能最大限度地保護我們的企業網絡呢?
1、了解DDoS攻擊當前主要有三種流行的DDoS攻擊:
1.1SYN/ACKFlood攻擊
這種攻擊方法是經典最有效的DDoS方法,可攻擊各種系統的網絡服務,主要是通過向受害主機發送大量偽造源IP和源端口的SYN或ACK包,導致主機的緩存資源被耗盡或忙于發送回應包而造成拒絕服務,由于源IP和源端口都是偽造的,故追蹤起來比較困難。其缺點是實施起來有一定難度,需要高帶寬的僵尸主機支持。
1.2TCP全連接攻擊
TCP全連接攻擊就是通過許多僵尸主機不斷地與受害服務器建立大量的TCP連接,直到服務器的內存等資源被耗盡而被拖跨,從而造成拒絕服務,這種攻擊的特點是可繞過一般防火墻的防護而達到攻擊目的,缺點是需要找很多僵尸主機,并且由于僵尸主機的IP是暴露的,因此容易被追蹤。
1.3刷Script腳本攻擊
這種攻擊主要是針對存在ASP、JSP、PHP、CGI等腳本程序,并調用MSSQLServer、MySQLServer、Oracle等數據庫的網站系統而設計的,特征是和服務器建立正常的TCP連接,并不斷地向腳本程序提交查詢、列表等大量耗費數據庫資源的調用,典型的以小博大的攻擊方法。常見的現象就是網站慢如蝸牛、ASP程序失效、PHP連接數據庫失敗、數據庫主程序占用CPU偏高。這種攻擊的特點是可以完全繞過普通的防火墻防護,輕松找一些Proxy代理就可實施攻擊,缺點是對付只有靜態頁面的網站效果會大打折扣,并且有些Proxy會暴露攻擊者的IP地址。
2、發現DDoS攻擊
根據以下異常現象在網絡入侵監測系統建立相應規則,能夠較準確地監測出DDoS攻擊。
(1)根據分析,攻擊者在進行DDoS攻擊前總要解析目標的主機名,BIND域名服務器能夠記錄這些請求。由于每臺攻擊服務器在進行一個攻擊前會發出PTR反向查詢請求,也就是說在DDoS攻擊前域名服務器會接收到大量的反向解析目標IP主機名的PTR查詢請求。
(2)當DDoS攻擊一個站點時,會出現明顯超出該網絡正常工作時的極限通訊流量的現象。現在的技術能夠分別對不同的源地址計算出對應的極限值。當明顯超出此極限值時,就表明存在DDoS攻擊的通訊。因此,可以在主干路由器端建立ACL訪問控制規則以監測和過濾這些通訊。
(3)特大型的ICP和UDP數據包。正常的UDP會話一般都使用小的UDP包,通常有效數據內容不超過10字節。正常的ICMP消息也不會超過64到128字節。那些尺寸明顯大得多的數據包很有可能就是控制信息通訊用的,主要含有加密后的目標地址和一些命令選項。一旦捕獲到(沒有經過偽造的)控制信息通訊,DDoS服務器的位置就暴露出來了,因為控制信息通訊數據包的目標地址是沒有偽造的。
(4)不屬于正常連接通訊的TCP和UDP數據包。最隱蔽的DDoS工具隨機使用多種通訊協議(包括基于連接的協議)通過基于無連接通道發送數據。優秀的防火墻和路由規則能夠發現這些數據包。另外,那些連接到高于1024而且不屬于常用網絡服務的目標端口的數據包也是非常值得懷疑的。
(5)數據段內容只包含文字和數字字符(例如,沒有空格、標點和控制字符)的數據包。這往往是數據經過BASE64編碼后而只會含有BASE64字符集字符的特征。TFN2K發送的控制信息數據包就是這種類型的數據包。TFN2K(及其變種)的特征模式是在數據段中有一串A字符(AAA),這是經過調整數據段大小和加密算法后的結果。如果沒有使用BASE64編碼,對于使用了加密算法數據包,這個連續的字符就是“”。
(6)數據段內容只包含二進制和high-bit字符的數據包。雖然此時可能在傳輸二進制文件,但如果這些數據包不屬于正常有效的通訊時,可以懷疑正在傳輸的是沒有被BASE64編碼但經過加密的控制信息通訊數據包(如果實施這種規則,必須將20、21、80等端口上的傳輸排除在外)。
3、應對DDoS攻擊
當遭受DDoS攻擊的時候要如何設法存活并繼續提供正常服務呢?
由前面的介紹可以知道,若黑客攻擊規模遠高于你的網絡頻寬、設備或主機所能處理的能力,其實是很難反抗攻擊的,但仍然有一些方法可以減輕攻擊所造成的影響。首先是調查攻擊來源,由于黑客由僵尸主機進行攻擊,因此,可能無法直接查出黑客是由哪里發動攻擊,必須一步一步從被攻擊目標往回推,先調查攻擊是由管轄網絡的哪些邊界路由器進來,上一步是外界哪臺路由器,聯絡這些路由器的管理者(可能是某個ISP或電信公司)并尋求他們協助阻擋或查出攻擊來源。假如,被攻擊的目標只是單一IP,那么試圖改個IP并更改其DNSmapping或許可以避開攻擊,這是最快速而有效的方式;但是,攻擊的目的就是要使正常使用者無法使用服務,更改IP的方式雖然避開攻擊,以另一角度來看黑客也達到了他的目的。此外,假如攻擊的手法較為單純,可以由產生的流量找出其規則,那么利用路由器的ACLs(AccessControlLists)或防火墻規則也許可以阻擋,若可以發現流量都是來自同一來源或核心路由器,可以考慮暫時將那邊的流量擋起來,當然這還是有可能將正常和異常的流量都一并擋掉,但至少其他來源可以得到正常的服務,這也是不得已的犧牲。此外,還可以考慮增加機器或頻寬作為被攻擊的緩沖之用,但這只是治標不治本的做法。最重要的是,必須立即著手調查并與相關單位協調解決。
4、預防DDoS攻擊
預防DDoS攻擊必須透過網絡上各個團體和使用者的共同合作,制定更嚴格的網絡標準來解決。每臺網絡設備或主機都需要隨時更新其系統漏洞、關閉不需要的服務、安裝必要的防毒和防火墻軟件、隨時注重系統安全,避免被黑客和自動化的DDoS程序植入攻擊程序,以免成為黑客攻擊的幫兇。網絡管理人員可采取以下方法做好預防工作。
4.1節點
掃描網絡管理員要定期掃描網絡節點,分析并發現可能存在的安全漏洞,對新出現的漏洞及時進行修補。特別是骨干點的計算機,由于需要占用較高的帶寬,因此,對這些主機本身加強主機安全是非常重要的。而且,連接到網絡主節點的都是服務器級別的計算機,所以,定期掃描漏洞就變得更加重要了。
4.2配置防火墻
防火墻本身具備了抵御部分DDoS攻擊的能力。在發現攻擊行為存在時,可以犧牲備用設備引導攻擊數據流,這樣可以減輕或避免正常業務的順利進行。當然如果企業或用戶對網絡的要求很高,筆者建議設立專用的服務器來防止DDoS攻擊。
4.3充分利用網絡設備
保護網絡資源合理配置使用路由器、防火墻等網絡設備,它們可將網絡有效地保護起來。相對服務器的重啟,網絡路由器等網絡設備的重啟要容易得多,而且服務器數據不會有太多的損失。負載均衡技術的使用,可以在攻擊發生時自動均衡設備的使用情況,最大限度地降低DDoS的攻擊。
4.4過濾服務及端口
在默認情況下,服務器的很多端口是開放的,用戶可以使用防火墻或一些管理軟件來過濾不必要的服務和端口。只開放服務端口成為保障網絡安全的流行做法,例如,用戶可能會經常看到一個服務器只開放80端口等。
4.5檢查訪問者的來源
通過反向路由器查詢的方法檢查訪問者的IP地址是否是真,如果發現虛假IP,應立即將其屏蔽。黑客在攻擊時常采用假IP隱藏自己,因此,網絡管理員有必要了解自己網絡的用戶訪問情況。
4.6過濾所有被保留的IP地址
我們知道類似10.0.0.0、192.168.0.0和172.16.0.0這樣的IP,并不是某個網段的固定IP地址,而是Internet內部保留的區域性IP地址,網絡管理員應把被保留的IP過濾掉。
4.7限制SYN/ICMP流量
用戶應在防火墻上配置SYN/ICMP的最大流量來限制SYN/ICMP所能占用的最大帶寬。當出現大量的超過限定的SYN/ICMP流量時,管理員需要立即排查區分是否存在非法攻擊行為。限制SYN/ICMP也是過去對付DDoS攻擊最常使用的。據有關報道,電信級運營商已經開始積極運做,準備推出一系列的安全增值服務,IDC服務器托管商也已經積極行動起來,避免用戶免受DDoS攻擊的侵害,安全廠商更是在積極研究DDoS攻擊的原理及防御措施,力求最大限度地扼殺DDoS攻擊。筆者認為,任何個體是很難防御住巨大的數據流攻擊,只有運營商、企業以及安全廠商共同聯合起來,才能更好地克服DDoS給用戶帶來的傷害。