古詩詞大全網 - 成語查詢 - CC攻擊的防禦辦法?

CC攻擊的防禦辦法?

對於CC攻擊,其防禦必須采用多種方法,而這些方法本質上也是在提高服務器的並發能力。

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

資金允許的情況下,這是最簡單的壹種方法,本質上講,這個方法並不是針對CC攻擊的,而是提升服務本身處理並發的能力,但確實提升了對CC攻擊的承載能力。垂直擴展:是指增加每臺服務器的硬件能力,如升級CPU、增加內存、升級SSD固態硬盤等。水平擴容:是指通過增加提供服務的服務器來提升承載力。上述擴展和擴容可以在服務的各個層級進行,包括:應用服務器、數據庫服務器和緩存服務器等等。

2、數據緩存

對於服務中具備高度***性,多用戶可重用,或單用戶多次可重用的數據,壹旦從數據庫中檢索出,或通過計算得出後,最好將其放在緩存中,後續請求均可直接從緩存中取得數據,減輕數據庫的檢索壓力和應用服務器的計算壓力,並且能夠快速返回結果並釋放進程,從而也能緩解服務器的內存壓力。要註意的是,緩存不要使用文件形式,可以使用redis、mem-cached等基於內存的nosql緩存服務,並且與應用服務器分離,單獨部署在局域網內。局域網內的網絡IO肯定比起磁盤IO要高。為了不使局域網成為瓶頸,千兆網絡也是有必要的。

3、頁面靜態化

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

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

不管服務是有登陸態還是沒登陸態,基於session等方式都可以為客戶端分配唯壹的識別ID,服務端可以將sid存到緩存中。當客戶端請求服務時,如果沒有帶SID,則由服務端快速分配壹個並返回。可以的話,本次請求可以不返回數據,或者將分配SID獨立出業務服務。當客戶端請求時帶了合法SID,便可以依據SID對客戶端進行頻率限制。而對於SID非法的請求,則直接拒絕服務。相比根據IP進行的頻率限制,根據SID的頻率限制更加精準可控,可最大程度地避免誤殺情況。

5、IP限制

最後,IP限制依然可以結合上述規則壹起使用,但是可以將其前置至)JCb層的防火墻或負載均衡器上去做,並且可以調大限制的閾值,防止惡意訪問穿透到應用服務器上,造成應用服務器壓力。