Slow Post
slow post 會正常將header傳完但會在body故意停滯已消耗資源,該攻擊與slowloris相當相似不同的只是在一個是利用request header一個是利用request body。在防禦上也可以利用mod_reqtimeout 進行緩解只是參數是餐對裡面的body去進行設置,且與之前測試結果一樣必須注意Minrate的使用。
下圖可以看到有正常結束request header
Slow Read
主要利用tcp windows可以決定連線接收封包的特性讓server資源被占用,只要client一直處於zerowindow則在server使用keepalive預設on的狀態下會導致大量連線資源被占用,另一方面也可能將server本身的memory吃滿。
測試用指令
slowhttptest -c 1000 -X -g -o slow_read -w 512 -y 1024 -n 5 -z 32 -k 3 -r 10 -u http://192.168.0.27 -p 3
Keepalive on
Keepalive off
keepalive
- 好處:
- 增加效能減少反覆建立tcp連線,對server而言可以減少建立連線的損耗(CPU),對用戶可以減少反覆建立連線導致對port的無用消耗
- 增進傳輸效能,因為可以利用同一連線直接傳送多組資訊
- 壞處:
- 增加記憶體使用
- 可能會需要長時間等待用戶消耗server連線資源