1. 程式人生 > >伺服器被ddos攻擊?分析如何防止DDOS攻擊?

伺服器被ddos攻擊?分析如何防止DDOS攻擊?

上週知名博主阮一峰的部落格被DDOS攻擊,導致網站無法訪問而被迫遷移伺服器的事情,引起了廣大網友的關注及憤慨,包括小編的個人部落格也曾接受過DDOS的“洗禮”,對此感同身受。所以,本文我們一起來了解下DDOS攻擊並分享一些在一定程度範圍內的應對方案。

關於DDOS攻擊

分散式拒絕服務(DDoS:Distributed Denial of Service)攻擊指藉助於客戶/伺服器技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動DDoS攻擊,從而成倍地提高拒絕服務攻擊的威力。

通常,攻擊者將攻擊程式通過代理程式安裝在網路上的各個“肉雞”上,代理程式收到指令時就發動攻擊。

(DDOS攻擊示意圖)

隨著網路技術發展,DDOS攻擊也在不斷進化,攻擊成本越來越低,而攻擊力度卻成倍加大,使得DDOS更加難以防範。比如反射型DDoS攻擊就是相對高階的攻擊方式。攻擊者並不直接攻擊目標服務IP,而是通過偽造被攻擊者的IP向全球特殊的伺服器發請求報文,這些特殊的伺服器會將數倍於請求報文的資料包傳送到那個被攻擊的IP(目標服務IP)。

DDOS攻擊讓人望而生畏,它可以直接導致網站宕機、伺服器癱瘓,對網站乃至企業造成嚴重損失。而且DDOS很難防範,可以說目前沒有根治之法,只能儘量提升自身“抗壓能力”來緩解攻擊,比如購買高防服務。

DDoS攻擊簡介

分散式拒絕服務攻擊(DDoS攻擊)是一種針對目標系統的惡意網路攻擊行為,DDoS攻擊經常會導致被攻擊者的業務無法正常訪問,也就是所謂的拒絕服務。

常見的DDoS攻擊包括以下幾類:

  • 網路層攻擊:比較典型的攻擊型別是UDP反射攻擊,例如:NTP Flood攻擊,這類攻擊主要利用大流量擁塞被攻擊者的網路頻寬,導致被攻擊者的業務無法正常響應客戶訪問。

  • 傳輸層攻擊:比較典型的攻擊型別包括SYN Flood攻擊、連線數攻擊等,這類攻擊通過佔用伺服器的連線池資源從而達到拒絕服務的目的。

  • 會話層攻擊:比較典型的攻擊型別是SSL連線攻擊,這類攻擊佔用伺服器的SSL會話資源從而達到拒絕服務的目的。

  • 應用層攻擊:比較典型的攻擊型別包括DNS flood攻擊、HTTP flood攻擊、遊戲假人攻擊等,這類攻擊佔用伺服器的應用處理資源極大的消耗伺服器處理效能從而達到拒絕服務的目的。

DDoS攻擊緩解最佳實踐

建議阿里雲使用者從以下幾個方面著手緩解DDoS攻擊的威脅:

  1. 縮小暴露面,隔離資源和不相關的業務,降低被攻擊的風險。

  2. 優化業務架構,利用公共雲的特性設計彈性伸縮和災備切換的系統。

  3. 伺服器安全加固,提升伺服器自身的連線數等效能。

  4. 做好業務監控和應急響應。

DDOS攻擊應對策略

這裡我們分享一些在一定程度範圍內,能夠應對緩解DDOS攻擊的策略方法,以供大家借鑑。

1.定期檢查伺服器漏洞

定期檢查伺服器軟體安全漏洞,是確保伺服器安全的最基本措施。無論是作業系統(Windows或linux),還是網站常用應用軟體(mysql、Apache、nginx、FTP等),伺服器運維人員要特別關注這些軟體的最新漏洞動態,出現高危漏洞要及時打補丁修補。

2.隱藏伺服器真實IP

通過CDN節點中轉加速服務,可以有效的隱藏網站伺服器的真實IP地址。CDN服務根據網站具體情況進行選擇,對於普通的中小企業站點或個人站點可以先使用免費的CDN服務,比如百度雲加速、七牛CDN等,待網站流量提升了,需求高了之後,再考慮付費的CDN服務。

其次,防止伺服器對外傳送資訊洩漏IP地址,最常見的情況是,伺服器不要使用傳送郵件功能,因為郵件頭會洩漏伺服器的IP地址。如果非要傳送郵件,可以通過第三方代理(例如sendcloud)傳送,這樣對外顯示的IP是代理的IP地址。

3.關閉不必要的服務或埠

這也是伺服器運維人員最常用的做法。在伺服器防火牆中,只開啟使用的埠,比如網站web服務的80埠、資料庫的3306埠、SSH服務的22埠等。關閉不必要的服務或埠,在路由器上過濾假IP。

4.購買高防提高承受能力

該措施是通過購買高防的盾機,提高伺服器的頻寬等資源,來提升自身的承受攻擊能力。一些知名IDC服務商都有相應的服務提供,比如阿里雲、騰訊雲等。但該方案成本預算較高,對於普通中小企業甚至個人站長並不合適,且不被攻擊時造成伺服器資源閒置,所以這裡不過多闡述。

5.限制SYN/ICMP流量

使用者應在路由器上配置SYN/ICMP的最大流量來限制SYN/ICMP封包所能佔有的最高頻寬,這樣,當出現大量的超過所限定的SYN/ICMP流量時,說明不是正常的網路訪問,而是有黑客入侵。早期通過限制SYN/ICMP流量是最好的防範DOS的方法,雖然目前該方法對於DdoS效果不太明顯了,不過仍然能夠起到一定的作用。

6.網站請求IP過濾

除了伺服器之外,網站程式本身安全效能也需要提升。以小編自己的個人部落格為例,使用cms做的。系統安全機制裡的過濾功能,通過限制單位時間內的POST請求、404頁面等訪問操作,來過濾掉次數過多的異常行為。雖然這對DDOS攻擊沒有明顯的改善效果,但也在一定程度上減輕小頻寬的惡意攻擊。

2.3 部署DNS智慧解析

通過智慧解析的方式優化DNS解析,可以有效避免DNS流量攻擊產生的風險。同時,建議您將業務託管至多家DNS服務商。

  • 遮蔽未經請求傳送的DNS響應資訊
  • 丟棄快速重傳資料包
  • 啟用TTL
  • 丟棄未知來源的DNS查詢請求和響應資料
  • 丟棄未經請求或突發的DNS請求
  • 啟動DNS客戶端驗證
  • 對響應資訊進行快取處理
  • 使用ACL的許可權
  • 利用ACL,BCP38及IP信譽功能

2.4 提供餘量頻寬

通過伺服器效能測試,評估正常業務環境下所能承受的頻寬和請求數。在購買頻寬時確保有一定的餘量頻寬,可以避免遭受攻擊時頻寬大於正常使用量而影響正常使用者的情況。

3. 服務安全加固

對伺服器上的作業系統、軟體服務進行安全加固,減少可被攻擊的點,增大攻擊方的攻擊成本:

  • 確保伺服器的系統檔案是最新的版本,並及時更新系統補丁。
  • 對所有伺服器主機進行檢查,清楚訪問者的來源。
  • 過濾不必要的服務和埠。例如,對於WWW伺服器,只開放80埠,將其他所有埠關閉,或在防火牆上設定阻止策略。
  • 限制同時開啟的SYN半連線數目,縮短SYN半連線的timeout時間,限制SYN/ICMP流量。
  • 仔細檢查網路裝置和伺服器系統的日誌。一旦出現漏洞或是時間變更,則說明伺服器可能遭到了攻擊。
  • 限制在防火牆外進行網路檔案共享。降低黑客擷取系統檔案的機會,若黑客以特洛伊木馬替換它,檔案傳輸功能將會陷入癱瘓。
  • 充分利用網路裝置保護網路資源。在配置路由器時應考慮針對流控、包過濾、半連線超時、垃圾包丟棄、來源偽造的資料包丟棄、SYN閥值、禁用ICMP和UDP廣播的策略配置。
  • 通過iptable之類的軟體防火牆限制疑似惡意IP的TCP新建連線,限制疑似惡意IP的連線、傳輸速率。

4. 業務監控和應急響應

4.1 關注基礎DDoS防護監控

當您的業務遭受DDoS攻擊時,基礎DDoS預設會通過簡訊和郵件方式發出告警資訊,針對大流量攻擊基礎DDoS防護也支援電話報警,建議您在接受到告警的第一時間進行應急處理。

5.1 Web應用防火牆(WAF)

針對網站類應用,例如常見的http Flood(CC攻擊)攻擊,可以使用WAF可以提供針對連線層攻擊、會話層攻擊和應用層攻擊進行有效防禦。

5.2 DDoS防護包

5.3 DDoS高階防護

針對大流量DDoS攻擊,建議使用阿里雲高防IP服務。

應當避免的事項

DDoS攻擊是業內公認的行業公敵,DDoS攻擊不僅影響被攻擊者,同時也會對服務商網路的穩定性造成影響,從而對處於同一網路下的其他使用者業務也會造成損失。

計算機網路是一個共享環境,需要多方共同維護穩定,部分行為可能會給整體網路和其他租戶的網路帶來影響,需要您注意:

  • 避免使用阿里雲產品機制搭建DDoS防護平臺
  • 避免釋放處於黑洞狀態的例項
  • 避免為處於黑洞狀態的伺服器連續更換、解綁、增加SLB IP、彈性公網IP、NAT閘道器等IP類產品
  • 避免通過搭建IP池進行防禦,避免通過分攤攻擊流量到大量IP上進行防禦
  • 避免利用阿里雲非網路安全防禦產品(包括但不限於CDN、OSS),前置自身有攻擊的業務
  • 避免使用多個賬號的方式繞過上述規則

小結

目前而言,DDOS攻擊並沒有最好的根治之法,做不到徹底防禦,只能採取各種手段在一定程度上減緩攻擊傷害。所以平時伺服器的運維工作還是要做好基本的保障,並借鑑本文分享的方案,將DDOS攻擊帶來的損失儘量降低到最小。