網站壓力測試及CC防禦
2023-03-28

前言:

建站總會遇到ddos以及cc攻擊,本文利用測壓工具:webBenchmark,來模擬壓力測試,並使用cloudflare或寶塔(aapanel)進行防護

無不良引導,隨意攻擊他人是違法行為,可能導致服務器被舉報封禁,後果自負

一、webBenchmark測壓演示

安裝webBenchmark:

1
2
3
wget https://github.com/maintell/webBenchmark/releases/download/0.5/webBenchmark_linux_x64

chmod +x webBenchmark_linux_x64

開始測壓:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
官網命令
./webBenchmark_linux_x64 -c [COUNT] -s [URL] -r [REFERER]

-c int
concurrent routines for download (default 16)
下載線程數,默認16線程
-r string
referer url
從哪裡跳轉到該網站,這個主要針對設置了防盜鏈的資源
-s string
target url (default "https://baidu.com")
壓力測試目標網址
-i string
custom ip address for that domain, multiple addresses automatically will be assigned randomly
網站IP,指定網站IP即使套了CDN,數據包也不會經過CDN而是直接到源站
-H http header pattern
http header pattern, use Random with number prefix will generate random string, same key will be overwritten
-f string
randomized X-Forwarded-For and X-Real-IP address
-p string
post content

我以演示網站”dd.tanglu.cf”為例,測試該網站下最大的一個2MB小文件”http://dd.tanglu.cf/1.png

1
2
3
4
./webBenchmark_linux_x64 -c 512 -s http://dd.tanglu.cf/1.png -i 51.81.222.246

#512線程,目標IP為源站IP
#源站服務器顯示有512個請求

因為服務器帶寬小(只有100MB)所以還未打滿CPU,但是帶寬被打滿了也造成了網站卡頓

同時30s的時間產生了7MB的nginx訪問日誌,繼續下去可能會使機器硬盤容量不足而

image

image

image

二、防禦

我暫時只會用寶塔,我不會手動配置nginx防禦DDos/CC,有這方面需求的小伙伴可以google看看

1、套cloudflare防禦

cloudflare可以自動防禦ddos,也可以手動 設置規則 防禦cc攻擊

當配置了”Rate limiting rules”規則時(也就是配置CC規則),cloudflare會自動對超速的IP進行限制

cloudflare還會對doos的攻擊IP發起質詢檢查,如果不是真實瀏覽器會拒絕

image

image

image

image

image

image

2、寶塔/aapanel設置防止CC

在應用商店搜索”nginx free firewall”,下載完成後打開即可

image

image

3、國內CDN利用規則防禦

暫時沒有備案域名,等5月份域名備案了再演示