Slowloris 攻擊與防禦指南:理解 HTTP 低頻寬 DoS 攻擊

在現今的網路安全領域,分散式阻斷服務攻擊(DDoS)已成為相當常見且具破壞性的攻擊手法。其中,Slowloris 是一種專門針對 HTTP 伺服器的低頻寬 DDoS 工具,它利用極少的資源,即可使伺服器因耗盡可用連接數而崩潰。由於這類攻擊不會產生大量流量,因此傳統的防火牆與流量監控工具很難察覺並攔截。因此,網站管理員必須理解 Slowloris 的運作方式,以及如何有效防禦這類攻擊。

除了攻擊用途,Slowloris 也可用於模擬壓力測試,協助伺服器管理員評估系統的抗壓能力,以確保伺服器在高負載情況下仍能穩定運作。

本文將詳細介紹 Slowloris 的攻擊原理、使用方式,並提供 多種有效的防禦策略,幫助網站管理者保護伺服器免受這類攻擊的影響。

Slowloris 的運作方式

Slowloris 的攻擊過程可分為以下幾個步驟:

  1. 建立連接
    攻擊者向目標伺服器發送多個 HTTP 請求,開啟大量連線。
  2. 發送部分請求
    攻擊者不會一次性發送完整的 HTTP 請求,而是定期(約每 15 秒)發送部分 HTTP 標頭,藉此維持連線狀態。
  3. 持續保持連接
    攻擊者持續以此方式維持連線,直到伺服器主動關閉連線。一旦連線被終止,攻擊者便會立即建立新的連接,重複這一過程。

透過這種方式,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 也可用於壓力測試,幫助伺服器管理員評估系統的承受能力,確保伺服器能在高負載條件下穩定運作。

測試時應遵循以下原則:

  1. 獲得合法授權:請確保您有權對目標伺服器進行測試,以免違反法律或公司政策。
  2. 監控伺服器狀態:測試過程中應監控 CPU 負載、記憶體使用量、開放連接數等關鍵指標。
  3. 設定適當的測試強度:避免造成伺服器當機,應逐步增加 Slowloris 的請求數,測試伺服器的最大承載能力。

示範:模擬不同條件的壓力測試

  1. 模擬 1000 個連接對 HTTP 伺服器進行壓力測試
    slowloris example.com -s 1000
  2. 針對 HTTPS 伺服器發送請求,並每 5 秒發送一次標頭
    slowloris example.com --https --sleeptime 5
  3. 使用 SOCKS5 代理進行測試
    slowloris example.com -x 127.0.0.1:9050
  4. 隨機使用不同的 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 攻擊的影響,確保網站穩定運行。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端