1. <button id="h2mux"></button>
      <tbody id="h2mux"></tbody>

    2. 當前位置:高防服務器 > ddos防御 > 互聯網企業如何提升防御CC攻擊的能力?

      互聯網企業如何提升防御CC攻擊的能力?

      來源:未知 編輯:admin 2018-11-21 21049

      摘要:  什么是CC攻擊?CC攻擊是DDoS攻擊的一種類型,使用代理服務器向受害服務器發送大量貌似合法的請求(通常使用HTTP GET)。   CC(Challenge Collapsar,挑戰黑洞)根據其工具命名,攻擊者創

        什么是CC攻擊?CC攻擊是DDoS攻擊的一種類型,使用代理服務器向受害服務器發送大量貌似合法的請求(通常使用HTTP GET)。

        CC(Challenge Collapsar,挑戰黑洞)根據其工具命名,攻擊者創造性地使用代理機制,利用眾多廣泛可用的免費代理服務器(即肉雞)發動DDoS攻擊。許多免費代理服務器支持匿名模式,這使追蹤變得非常困難。

        雖然用limit_req_module可以在一定程度上的防御CC攻擊,但是有誤殺概率;國內寬帶用戶的IP地址已經大量內網化,幾百人共享一個IP的可能性是很大的。

        做基于IP的頻率限制,誤殺的概率確實非常大。在國內,一個小區、一個公司經常會遇到共用IP的情況,而移動網絡共用基站的設備更是容易出現相同的公網IP。

        墨菲定律第一條就是:任何事物都沒有表面看起來那么簡單。何況這個看起來一點都不簡單,怎么可能只用IP頻率限制這一種手段呢?

        對于CC攻擊,其防御必須聯合采取多種手段,而這些手段本質上也是在提高服務器的并發能力。

        1、服務器垂直擴展和水平擴容

        資金允許的情況下,這是最簡單的一種方法,本質上講,這個方法并不是針對CC攻擊的,而是提升服務本身處理并發的能力,但確實提升了對CC攻擊的承載能力。

        •垂直擴展:

        是指增加每臺服務器的硬件能力,如升級CPU,增加內存,升級SSD固態硬盤等。

        •水平擴容:

        是指通過增加提供服務的服務器來提升承載力。

        上述擴展和擴容可以在服務的各個層級進行,包括:應用服務器、數據庫服務器、緩存服務器等等。

        2、數據緩存(內存級別,不要用文件)

        對于服務中具備高度共性,多用戶可重用,或單用戶多次可重用的數據,一旦從數據庫中檢索出,或通過計算得出后,最好將其放在緩存中。

        后續請求均可直接從緩存中取得數據,減輕數據庫的檢索壓力和應用服務器的計算壓力,并且能夠快速返回結果并釋放進程,從而也能緩解服務器的內存壓力。

        需要注意的是,緩存不要使用文件形式,可以使用redis、memcached等基于內存的no sql緩存服務,并且與應用服務器分離,單獨部署在局域網內。

        局域網內的網絡IO肯定比起磁盤IO要高。當然,為了不使局域網帶寬成為瓶頸,千兆網絡也是有必要的。

        3、 頁面靜態化

        與數據緩存一樣,頁面數據本質上也屬于數據,常見的手段是生成靜態化的html頁面文件,利用客戶端瀏覽器的緩存功能或者服務端的緩存服務,以及CDN節點的緩沖服務,均可以降低服務器端的數據檢索和計算壓力,快速相應結果并釋放連接進程。

        4、用戶級別的調用頻率限制

        不管服務是有登陸態還是沒登陸態,基于session等方式都可以為客戶端分配唯一的識別ID(后稱作SID),服務端可以將SID存到緩存中。

        當客戶端請求服務時,如果沒有帶SID(cookie中或請求參數中等),則由服務端快速分配一個并返回。

        可以的話,本次請求可以不返回數據,或者將分配SID獨立出業務服務。當客戶端請求時帶了合法SID(即SID能在服務端緩存中匹配到),便可以依據SID對客戶端進行頻率限制。而對于SID非法的請求,則直接拒絕服務。

        相比根據IP進行的頻率限制,根據SID的頻率限制更加精準可控,最大程度的避免誤殺的情況。

        5、IP限制

        最后,IP限制依然可以結合上述規則一起使用,但是可以將其前置到外層的防火墻或負載均衡器上去做。

        并且可以調大限制的閾值(結合歷史統計數量,預測一個極端的訪問量閾值,在服務器可承受的范圍內,盡量避免誤傷),防止惡意訪問穿透到應用服務器上,造成應用服務器壓力。

      相關文章

      關注我們