1. 程式人生 > >分散式拒絕服務攻擊DDoS

分散式拒絕服務攻擊DDoS

分散式拒絕服務(DDoS:Distributed Denial of Service)攻擊指藉助於客戶/伺服器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DDoS攻擊,從而成倍地提高拒絕服務攻擊的威力。通常,攻擊者使用一個偷竊帳號將DDoS主控程式安裝在一個計算機上,在一個設定的時間主控程式將與大量代理程式通訊,代理程式已經被安裝在網路上的許多計算機上。代理程式收到指令時就發動攻擊。利用客戶/伺服器技術,主控程式能在幾秒鐘內啟用成百上千次代理程式的執行

按照TCP/IP協議的層次可將DDOS攻擊分為基於ARP的攻擊、基於ICMP的攻擊、基於IP的攻擊、基於UDP的攻擊、基於TCP的攻擊和基於應用層的攻擊。

基於ARP
  ARP是無連線的協議,當收到攻擊者傳送來的ARP應答時。它將接收ARP應答包中所提供的資訊。更新ARP快取。因此,含有錯誤源地址資訊的ARP請求和含有錯誤目標地址資訊的ARP應答均會使上層應用忙於處理這種異常而無法響應外來請求,使得目標主機喪失網路通訊能力。產生拒絕服務,如ARP重定向攻擊。
  
基於ICMP
  攻擊者向一個子網的廣播地址傳送多個ICMP Echo請求資料包。並將源地址偽裝成想要攻擊的目標主機的地址。這樣,該子網上的所有主機均對此ICMP Echo請求包作出答覆,向被攻擊的目標主機發送資料包,使該主機受到攻擊,導致網路阻塞。
  
基於IP
  TCP/IP中的IP資料包在網路傳遞時,資料包可以分成更小的片段。到達目的地後再進行合併重灌。在實現分段重新組裝的程序中存在漏洞,缺乏必要的檢查。利用IP報文分片後重組的重疊現象攻擊伺服器,進而引起伺服器核心崩潰。如Teardrop是基於IP的攻擊。
  
基於應用層
應用層包括SMTP,HTTP,DNS等各種應用協議。其中SMTP定義瞭如何在兩個主機間傳輸郵件的過程,基於標準SMTP的郵件伺服器,在客戶端請求傳送郵件時,是不對其身份進行驗證的。另外,許多郵件伺服器都允許郵件中繼。攻擊者利用郵件伺服器持續不斷地向攻擊目標傳送垃圾郵件,大量侵佔伺服器資源。

總體來說,對DoS和DDoS的防範主要從下面幾個方面考慮:
儘可能對系統載入最新補丁,並採取有效的合規性配置,降低漏洞利用風險;
採取合適的安全域劃分,配置防火牆、入侵檢測和防範系統,減緩攻擊。
採用分散式組網、負載均衡、提升系統容量等可靠性措施,增強總體服務能力。
可參考措施如下:
1、採用高效能的網路裝置引
首先要保證網路裝置不能成為瓶頸,因此選擇路由器、交換機、硬體防火牆等裝置的時候要儘量選用知名度高、 口碑好的產品。 再就是假如和網路提供商有特殊關係或協議的話就更好了,當大量攻擊發生的時候請他們在網路接點處做一下流量限制來對抗某些種類的DDOS 攻擊是非常有效的。
2、儘量避免 NAT 的使用
無論是路由器還是硬體防護牆裝置要儘量避免採用網路地址轉換 NAT 的使用, 因為採用此技術會較大降低網路通訊能力,其實原因很簡單,因為 NA T 需要對地址來回轉換,轉換過程中需要對網路包的校驗和進行計算,因此浪費了很多 CPU 的時間,但有些時候必須使用 NA T,那就沒有好辦法了。
3、充足的網路頻寬保證
網路頻寬直接決定了能抗受攻擊的能力, 假若僅僅有 10M 頻寬的話, 無論採取什麼措施都很難對抗當今的 SYNFlood 攻擊, 至少要選擇 100M 的共享頻寬,最好的當然是掛在1000M 的主幹上了。但需要注意的是,主機上的網絡卡是 1000M 的並不意味著它的網路頻寬就是千兆的, 若把它接在 100M 的交換機上, 它的實際頻寬不會超過 100M, 再就是接在 100M的頻寬上也不等於就有了百兆的頻寬, 因為網路服務商很可能會在交換機上限制實際頻寬為10M,這點一定要搞清楚。
4、升級主機伺服器硬體
在有網路頻寬保證的前提下,請儘量提升硬體配置,要有效對抗每秒 10 萬個 SYN 攻擊包,伺服器的配置至少應該為:P4 2.4G/DDR512M/SCSI-HD,起關鍵作用的主要是 CPU 和記憶體, 若有志強雙 CPU 的話就用它吧, 記憶體一定要選擇 DDR 的高速記憶體, 硬碟要儘量選擇SCSI 的,別隻貪 IDE 價格不貴量還足的便宜,否則會付出高昂的效能代價,再就是網絡卡一定要選用 3COM 或 Intel 等名牌的,若是 Realtek 的還是用在自己的 PC 上吧。
5、把網站做成靜態頁面
大量事實證明,把網站儘可能做成靜態頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,至少到為止關於 HTML 的溢位還沒出現,新浪、搜狐、網易等入口網站主要都是靜態頁面, 若你非需要動態指令碼呼叫, 那就把它弄到另外一臺單獨主機去,免的遭受攻擊時連累主伺服器, 當然, 適當放一些不做資料庫呼叫指令碼還是可以的, 此外,最好在需要呼叫資料庫的指令碼中拒絕使用代理的訪問, 因為經驗表明使用代理訪問你網站的80%屬於惡意行為。

TTCDN的防禦:
1
只需要修改域名解析,解析到TTCDN自動生成的記錄值上即可,解析方式是CNAME
2
TTCDN跟其他同行的區別就是其他同行的CDN防禦是叢集防禦,單節點防禦不高,使網站很容易受到攻擊的影響,而TTCDN卻是單個節點都有套餐防禦的對應防禦,除非是攻擊超過套餐防禦,不然網站不會受到影響。
3
既然域名沒有解析到源站伺服器IP上,那麼源站伺服器IP自然就不會暴露。由於域名是解析到我們提供的解析記錄值上,那麼被攻擊,攻擊的量也只會打到TTCDN節點上,所以網站被攻擊源站伺服器不會受到影響。在市面上CDN分兩種,加速CDN和高防CDN,而TTCDN是既有加速的效果也有防禦,不區分加速和高防。TTCDN有不同線路的節點分配在全國各地可以有效的解決全國各地區線路網路的訪問速度。

https://www.oschina.net/news/42772/freewaf-code-opened