記一次公司服務器遭受CC攻擊防禦的應急記錄

事件背景:

公司服務部署框架因redis瓶頸,cc攻擊導致資源全部被佔用,APP幾乎打不開

處理過程

一、因亞馬遜服務就開啓了cloudfront服務,結果因cloudfront是國外的CDN服務在國內不兼用,結果打開翻牆才能用,否則不行

二、在nginx上配置

http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    server {
        #限制每ip每秒不超過20個請求,漏桶數burst爲5
        #brust的意思就是,如果第1秒、2,3,4秒請求爲19個,
        #第5秒的請求爲25個是被允許的。
        #但是如果你第1秒就25個請求,第2秒超過20的請求返回503錯誤。
        #nodelay,如果不設置該選項,嚴格使用平均速率限制請求數,
        #第1秒25個請求時,5個請求放到第2秒執行,
        #設置nodelay,25個請求將在第1秒執行。
        limit_req   zone=one  burst=1 nodelay;
    }
}

上面樣本的配置是什麼意思呢?

  • $binary_remote_addr 表示:客戶端IP地址
  • zone 表示漏桶的名字
  • rate 表示nginx處理請求的速度有多快
  • burst 表示峯值
  • nodelay 表示是否延遲處理請求,還是直接503返回給客戶端,如果超出rate設置的情況下。

 

例子如下:

http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    server {
        limit_req   zone=one  burst=1 nodelay;
    }
}

此時可以人工對規定時間內的訪問次數的用戶進行控制(屏蔽/開放)

三、最終解決的辦法是:通過cloudfare來進行攻防

1、登陸https://www.cloudfare.com然後進行註冊賬號,直接點擊下一步輸入需要處理的域名,然後再下一步

2、當出現DNS的位置時就需要我們將原有的DNS服務改掉,我們用的是萬網,需要將萬網的換成下面的

3、在萬網上更改DNS這個可以在阿里上找到更改方法

4、將萬網上的解析全部遷移到cloudfare

遇到的問題:

更改後後臺管理到數據時報一下錯誤

原因是cloudfare禁用了了cookie,解決辦法

5、可是結果還不理想

我們就在firewall上添加配置

選中firewall

將安全等級調高

最後根據日誌添加應用規則

最後選擇保存

注意:

    當攻擊過後我們就要記得將這些配置全部還原,防止繼續傷及無辜,因爲遭受攻擊時我們是犧牲正常用戶以換取安全

6、我們還需要提取日誌,對日誌進行篩選,將IP訪問量達到前幾的幾個IP進行屏蔽

 

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