cc攻擊

生成大量正常請求來使服務器的數據庫等服務cpu爆滿。

cc與ddos的區別:

DDoS攻擊打的是網站的服務器,而CC攻擊是針對網站的頁面攻擊的,用術語來說就是,一個是WEB網絡層拒絕服務攻擊(DDoS),一個是WEB應用層拒絕服務攻擊(CC),網絡層就是利用肉雞的流量去攻擊目標網站的服務器,針對比較本源的東西去攻擊,服務器癱瘓了,那麼運行在服務器上的網站肯定也不能正常訪問了。而應用層就是我們用戶看得到的東西,就比如說網頁,CC攻擊就是針對網頁來攻擊的,CC攻擊本身是正常請求,網站動態頁面的正常請求也會和數據庫進行交互的,當這種"正常請求"達到一種程度的時候,服務器就會響應不過來,從而崩潰。每次雙十一,在大家都忙着準備搶購商品的時候,各大電商平臺的機房往往是燈火通明,緊張觀察一切動態,各種流量清洗設備,軟件硬件都用上了,就是怕到時候服務器崩掉了,那損失可不止一點,電商平臺在這方面的投入資金也是比較大的。雙十一前夕曾有人笑說, xxxx年最大的DDOS攻擊即將來臨。

防禦:

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

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

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

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

3、頁面靜態化

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

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

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

5、IP限制

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章