DDoS攻擊(Distributed Denial of Service Attack,分布式拒絕服務攻擊)的前身是DoS攻擊(Denial of Service Attack,拒絕服務攻擊),是指一種通過各種技術手段導致目標系統進入拒絕服務狀態的攻擊。一個比較完善的DDos攻擊體系主要是由四大部分所組成,分別是(1)主攻擊機( attacker也可以稱為master)、(2)控制傀儡機( handler)、(3)攻擊傀儡機( demon,又可稱agent)以及(4)受攻擊機( victim)。其中控制傀儡機和攻擊傀儡機,分別用做控制和實際發起攻擊??刂瓶軝C只發布指令而不參與實際的攻擊,攻擊傀儡機上發出DDoS的實際攻擊包。對第(2)和第(3)部分計算機,主攻擊機有控制權或者是部分的控制權,并把相應的DDoS程序上傳到這些宿主機上,這些程序與正常的程序一樣運行并等待來自主攻擊機的指令,通常它還會利用各種手段隱藏自己不被別人發現。在平時,這些傀儡機器并沒有什么異常,只是一旦主攻擊機連接到它們進行控制并發出指令的時候,攻擊愧儡機就成為攻擊者去發起攻擊了。之所以采用這樣的結構,一個重要目的是隔離網絡聯系,保護主攻擊機,使其不會在攻擊進行時受到攻擊防護系統的溯源和跟蹤。同時也能夠更好地協調進攻,因為攻擊執行器的數目太多,同時由一個系統來發布命令會造成控制系統的網絡阻塞,影響攻擊的突然性和協同性。而且,流量的突然增大也容易暴露攻擊者的位置和意圖。整個過程可分為:當受控制的攻擊傀儡機達到主攻擊機滿意的數量時,主攻擊機就可以通過控制傀儡機隨時發出攻擊指令。由于主攻擊機的位置非常靈活,而且發布命令的時間很短,所以非常隱蔽難以定位。一旦攻擊的命令傳送到攻擊傀儡機,主攻擊機就可以關閉或脫離網絡,以逃避追蹤溯源;隨著控制傀儡機將命令發布到各個攻擊傀儡機,在攻擊傀儡機接到攻擊命令后,就開始向目標主機發出大量的服務請求數據包。這些數據包經過偽裝,使被攻擊者無法識別它的來源,這些包所請求的服務往往需要消耗較大的系統資源或網絡帶寬。如果數百臺甚至上千臺攻擊傀儡機同時攻擊一個目標主機,就會導致目標主機網絡和系統資源的耗盡,從而停止服務甚至會導致系統崩潰。另外,這樣還可以阻塞目標網絡的防火墻和路由器等網絡設備,進一步加重網絡擁塞狀況。于是,目標主機根本無法為用戶提供任何服務。攻擊者所用的協議都是一些非常常見的協議和服務。這樣,系統管理員就難于區分惡意請求和正連接請求,從而無法有效分離出攻擊數據包。容量耗盡攻擊(Volumetric attacks)通常借助僵尸網絡和放大技術,通過向終端資源注入大量流量來阻止正常用戶對終端資源的訪問。最常見的容量耗盡攻擊類型有:黑客使用大量的互聯網控制消息協議(ICMP)請求或ping命令,試圖耗盡被受害者服務器帶寬。黑客將大量的用戶數據報協議(UDP)數據包發送到受害主機,受害主機的資源由于UDP報文泛濫而耗盡,導致設備無法處理和響應對合法流量的服務。協議攻擊是利用議工作方式的漏洞發起攻擊,這是第二大最常見的攻擊媒介。最常見的協議攻擊類型有:黑客利用了TCP三次握手機制的漏洞??蛻舳藢YN數據包發送到服務器,接收服務器返回的SYN-ACK數據包,但是永遠不會將ACK數據包發送回服務器。因此,受害者的服務器留下了許多未完成的SYN-ACK請求,并最終導致崩潰。
?黑客使用簡單的Ping命令發送超大數據包,從而導致受害者的系統凍結或崩潰。應用程序攻擊是利用協議棧(六),協議棧(七)中的漏洞發起攻擊,主要針對特定的應用程序而不是整個服務器。它們通常針對公共端口和服務,例如DNS或HTTP。最常見的應用程序攻擊類型有:黑客利用大量的標準GET和POST請求淹沒應用程序或Web服務器。由于這些請求通常顯示為合法流量,因此檢測HTTP洪水攻擊是一個相當大的挑戰。正如其名,Slowloris攻擊緩慢地使受害者的服務器崩潰。攻擊者按一定時間間隔向受害者的服務器發送HTTP請求。服務器一直在等待這些請求完成,最終,這些未完成的請求耗盡了受害者的帶寬,使合法用戶無法訪問服務器。DDoS的表現形式主要有兩種,一種為流量攻擊,主要是針對網絡帶寬的攻擊,即大量攻擊包導致網絡帶寬被阻塞,合法網絡包被虛假的攻擊包淹沒而無法到達主機;另一種為**資源耗盡攻擊,**主要是針對服務器主機的政擊,即通過大量攻擊包導致主機的內存被耗盡或CPU內核及應用程序占完而造成無法提供網絡服務。(2)網絡中充斥著大量的無用的數據包,源地址為假。(3)制造高流量無用數據,造成網絡擁塞,使受害主機無法正常和外界通訊。(4)利用受害主機提供的服務或傳輸協議上的缺陷,反復高速地發出特定的服務請求,使受害主機無法及時處理所有正常請求。(1) Ping測試:若發現Ping超時或丟包嚴重,則主機可能正在遭受攻擊,若發現相同交換機上的服務器也無法訪問,基本可以確定為流量攻擊。測試前提是受害主機到服務器間的ICMP協議沒有被路由器和防火墻等設備屏蔽;(2) Telnet測試:其顯著特征是遠程終端連接服務器失敗,相對流量攻擊,資源耗盡攻擊易判斷,若網站訪問突然非常緩慢或無法訪問,但可Ping通,則很可能遭受攻擊,若在服務器上用Netstat-na命令觀察到大量 SYN_RECEIVED、 TIME_WAIT, FIN_ WAIT_1等狀態,而EASTBLISHED很少,可判定為資源耗盡攻擊,特征是受害主機Ping不通或丟包嚴重而Ping相同交換機上的服務器正常,則原因是攻擊導致系統內核或應用程序CPU利用率達100%無法回應Ping命令,但因仍有帶寬,可ping通相同交換機上主機。DDoS的防護是個系統工程,想僅僅依靠某種系統或產品防住DDoS是不現實的,可以肯定的說,完全杜絕DDoS目前是不可能的,但通過適當的措施抵御大多數的DDoS攻擊是可以做到的,基于攻擊和防御都有成本開銷的緣故,若通過適當的辦法增強了抵御DDoS的能力,也就意味著加大了攻擊者的攻擊成本,那么絕大多數攻擊者將無法繼續下去而放棄,也就相當于成功的抵御了DDoS攻擊。抗DDoS攻擊首先要保證網絡設備不能成為瓶頸,因此選擇路由器、交換機、硬件防火墻等設備的時候要盡量選用知名度高、口碑好的產品。再就是假如和網絡提供商有特殊關系或協議的話就更好了,當大量攻擊發生的時候請他們在網絡接點處做一下流量限制來對抗某些種類的DDoS攻擊是非常有效的。無論是路由器還是硬件防護墻設備都要盡量避免采用網絡地址轉換NAT的使用,除了必須使用NAT,因為采用此技術會較大降低網絡通信能力,原因很簡單,因為NAT需要對地址來回轉換,轉換過程中需要對網絡包進行校驗和計算,因此浪費了很多CPU的時間。網絡帶寬直接決定了能抗受攻擊的能力,假若僅有10M帶寬,無論采取何種措施都很難對抗現在的 SYNFlood攻擊,當前至少要選擇100M的共享帶寬,1000M的帶寬會更好,但需要注意的是,主機上的網卡是1000M的并不意味著它的網絡帶寬就是千兆的,若把它接在100M的交換機上,它的實際帶寬不會超過100M,再就是接在100M的帶寬上也不等于就有了百兆的帶寬,因為網絡服務商很可能會在交換機上限制實際帶寬為10M。在有網絡帶寬保證的前提下,盡量提升硬件配置,要有效對抗每秒10萬個SYN攻擊包,服務器的配置至少應該為:P4 2.4G/DDR512M/SCSI-HD,起關鍵作用的主要是CPU和內存,內存一定要選擇DDR的高速內存,硬盤要盡量選擇SCSI的,要保障硬件性能高并且穩定,否則會付出高昂的性能代價。大量事實證明,把網站盡可能做成靜態頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,到現在為止還沒有出現關于HTML的溢出的情況,新浪、搜狐、網易等門戶網站主要都是靜態頁面。此外,最好在需要調用數據庫的腳本中拒絕使用代理的訪問,因為經驗表明使用代理訪問我們網站的80%屬于惡意行為。
閱讀原文:https://mp.weixin.qq.com/s/FOPc0JaNvvHsTz64ZJoTfQ
該文章在 2025/5/8 18:20:11 編輯過