服务器设置和教程 · 2 10 月, 2024

Apache新手教程:設置mod_evasive抵禦DDoS

Apache新手教程:設置mod_evasive抵禦DDoS

在當今的網絡環境中,分散式拒絕服務攻擊(DDoS)已成為一個日益嚴重的問題。這類攻擊通常通過大量的請求來淹沒目標伺服器,導致其無法正常運行。為了保護伺服器,Apache提供了一個名為mod_evasive的模組,專門用於抵禦這類攻擊。本文將介紹如何在Apache伺服器上設置mod_evasive,以增強網站的安全性。

什麼是mod_evasive?

mod_evasive是一個Apache模組,旨在防止DDoS攻擊和暴力破解攻擊。它通過監控進入的請求,並根據預設的閾值來限制過多的請求,從而保護伺服器不被淹沒。當檢測到異常流量時,mod_evasive會自動阻止來自特定IP地址的請求,並返回403 Forbidden錯誤。

安裝mod_evasive

在開始設置mod_evasive之前,首先需要確保Apache伺服器已經安裝。接下來,您可以按照以下步驟安裝mod_evasive:

sudo apt-get update
sudo apt-get install libapache2-mod-evasive

安裝完成後,您需要啟用mod_evasive模組:

sudo a2enmod evasive

配置mod_evasive

安裝並啟用mod_evasive後,接下來需要進行配置。您可以在Apache的配置文件中添加mod_evasive的設置。通常,這些設置可以放在/etc/apache2/mods-available/evasive.conf文件中。以下是一個基本的配置範例:

<IfModule mod_evasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 20
    DOSSiteCount 300
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 10
    DOSEmailNotify youremail@example.com
    DOSSystemCommand "sudo -u nobody /usr/bin/killall -HUP apache2"
    DOSLogDir "/var/log/mod_evasive"
</IfModule>

配置參數解釋

  • DOSHashTableSize: 設置哈希表的大小,這影響到模組的性能。
  • DOSPageCount: 在指定的時間內,允許的同一頁面請求數量。
  • DOSSiteCount: 在指定的時間內,允許的整個網站請求數量。
  • DOSPageInterval: 設置計數的時間間隔(以秒為單位)。
  • DOSSiteInterval: 設置整個網站計數的時間間隔。
  • DOSBlockingPeriod: 當達到限制後,阻止請求的時間(以秒為單位)。
  • DOSEmailNotify: 當觸發阻止時,發送通知的電子郵件地址。
  • DOSSystemCommand: 當觸發阻止時執行的系統命令。
  • DOSLogDir: 設置mod_evasive的日誌目錄。

重啟Apache伺服器

完成配置後,您需要重啟Apache伺服器以使更改生效:

sudo systemctl restart apache2

測試mod_evasive

為了確保mod_evasive正常運行,您可以使用一些工具來模擬高流量請求。可以使用Apache Benchmark(ab)工具來進行測試:

ab -n 1000 -c 100 http://yourdomain.com/

如果配置正確,您應該會看到某些請求被拒絕,並且在日誌中可以找到相關的記錄。

總結

通過設置mod_evasive,您可以有效地抵禦DDoS攻擊,保護您的網站和伺服器。這不僅能提高網站的可用性,還能增強用戶的信任感。對於需要高效能和穩定性的網站,選擇合適的伺服器方案至關重要。若您正在尋找可靠的 香港VPS 服務,Server.HK提供多種選擇,滿足不同需求。無論是個人網站還是企業應用,我們的 伺服器 解決方案都能為您提供穩定的支持。