在現今的網路安全領域,分散式阻斷服務攻擊(DDoS)已成為相當常見且具破壞性的攻擊手法。其中,Slowloris 是一種專門針對 HTTP 伺服器的低頻寬 DDoS 工具,它利用極少的資源,即可使伺服器因耗盡可用連接數而崩潰。由於這類攻擊不會產生大量流量,因此傳統的防火牆與流量監控工具很難察覺並攔截。因此,網站管理員必須理解 Slowloris 的運作方式,以及如何有效防禦這類攻擊。
除了攻擊用途,Slowloris 也可用於模擬壓力測試,協助伺服器管理員評估系統的抗壓能力,以確保伺服器在高負載情況下仍能穩定運作。
本文將詳細介紹 Slowloris 的攻擊原理、使用方式,並提供 多種有效的防禦策略,幫助網站管理者保護伺服器免受這類攻擊的影響。
Slowloris 的運作方式
Slowloris 的攻擊過程可分為以下幾個步驟:
- 建立連接:
攻擊者向目標伺服器發送多個 HTTP 請求,開啟大量連線。 - 發送部分請求:
攻擊者不會一次性發送完整的 HTTP 請求,而是定期(約每 15 秒)發送部分 HTTP 標頭,藉此維持連線狀態。 - 持續保持連接:
攻擊者持續以此方式維持連線,直到伺服器主動關閉連線。一旦連線被終止,攻擊者便會立即建立新的連接,重複這一過程。
透過這種方式,Slowloris 能夠耗盡伺服器的可用連接數,導致伺服器無法正常處理其他合法用戶的請求,最終導致服務中斷。
如何安裝與使用 Slowloris
您可以透過以下方法安裝與執行 Slowloris:
方法 1:使用 pip 安裝
sudo pip3 install slowloris
安裝完成後,執行以下指令發動攻擊:
slowloris example.com
方法 2:從 GitHub 下載並手動執行
git clone https://github.com/gkbrk/slowloris.git
cd slowloris
python3 slowloris.py example.com
請將 example.com
替換為您目標伺服器的網域或 IP 地址。
使用 Slowloris 進行伺服器壓力測試
除了攻擊用途,Slowloris 也可用於壓力測試,幫助伺服器管理員評估系統的承受能力,確保伺服器能在高負載條件下穩定運作。
測試時應遵循以下原則:
- 獲得合法授權:請確保您有權對目標伺服器進行測試,以免違反法律或公司政策。
- 監控伺服器狀態:測試過程中應監控 CPU 負載、記憶體使用量、開放連接數等關鍵指標。
- 設定適當的測試強度:避免造成伺服器當機,應逐步增加 Slowloris 的請求數,測試伺服器的最大承載能力。
示範:模擬不同條件的壓力測試
- 模擬 1000 個連接對 HTTP 伺服器進行壓力測試
slowloris example.com -s 1000
- 針對 HTTPS 伺服器發送請求,並每 5 秒發送一次標頭
slowloris example.com --https --sleeptime 5
- 使用 SOCKS5 代理進行測試
slowloris example.com -x 127.0.0.1:9050
- 隨機使用不同的 User-Agent 進行測試
slowloris example.com --randuseragents
如何防禦 Slowloris 攻擊
為了有效防禦 Slowloris 攻擊,伺服器管理員可採取以下措施:
1. 使用專業的 DDoS 防禦服務
- Imperva:提供 AI 驅動的 DDoS 防禦機制,可即時檢測並阻擋 Slowloris 這類低頻寬攻擊。
- Cloudflare:透過自動流量分析與 WAF(Web Application Firewall)來防禦 Slowloris 攻擊。
- Akamai:提供基於雲端的 DDoS 防禦,能即時識別並攔截異常連線行為。
2. 伺服器防禦設定
- 限制單一 IP 地址的最大連接數(如使用 iptables 限制最大連線數)
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j DROP
- 縮短 HTTP 連線超時時間(在 Nginx 設定內調整 timeout 參數)
client_header_timeout 10s;
client_body_timeout 10s;
keepalive_timeout 5s;
- 使用反向代理或負載均衡(如 HAProxy 限制單一 IP 連線數)
stick-table type ip size 200k expire 30m store conn_cur
http-request track-sc1 src
http-request deny if { sc1_conn_cur gt 20 }
- 啟用防火牆規則,監控異常連線
結語
Slowloris 是一種低頻寬的 DoS 攻擊工具,儘管它消耗的資源極少,卻能輕易使目標伺服器癱瘓。
然而透過 專業 DDoS 防禦服務(如 Imperva、Cloudflare、Akamai)、調整伺服器設定 以及 啟用防火牆保護,便可有效降低 Slowloris 攻擊的影響,確保網站穩定運行。