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

Apache安全策略:使用mod_evasive抵禦DoS攻擊

Apache安全策略:使用mod_evasive抵禦DoS攻擊

在當今的網絡環境中,分散式拒絕服務(DoS)攻擊已成為一個日益嚴重的問題。這類攻擊旨在使目標服務無法正常運行,從而影響其可用性。Apache作為一個廣泛使用的網頁伺服器,提供了多種安全策略來抵禦這些攻擊,其中之一便是使用mod_evasive模組。

什麼是mod_evasive?

mod_evasive是一個Apache模組,專門設計用來防止DoS和DDoS(分散式拒絕服務)攻擊。它通過監控進入的請求,識別出異常流量並自動阻止可疑的IP地址。這樣可以有效減少伺服器的負擔,並保護網站的可用性。

mod_evasive的工作原理

mod_evasive的工作原理相對簡單。當伺服器接收到來自同一IP地址的過多請求時,mod_evasive會啟動防護機制。具體來說,它會根據以下幾個參數來判斷是否需要阻止請求:

  • 請求速率:如果某個IP地址在短時間內發送了過多的請求,mod_evasive會將其標記為可疑。
  • 請求數量:設定一個閾值,超過該閾值的請求將被視為攻擊行為。
  • 阻止時間:一旦某個IP地址被標記,mod_evasive會在一定時間內阻止該IP的請求。

安裝mod_evasive

在Apache伺服器上安裝mod_evasive相對簡單。以下是安裝步驟:

sudo apt-get install libapache2-mod-evasive

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

sudo a2enmod evasive

接下來,您需要配置mod_evasive。可以在Apache的配置文件中添加以下內容:


<IfModule mod_evasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 20
    DOSSiteCount 100
    DOSSiteInterval 1
    DOSBlockingPeriod 10
    DOSEmailNotify youremail@example.com
    DOSSystemCommand "sudo /sbin/iptables -A INPUT -s %s -j DROP"
    DOSLogDir "/var/log/mod_evasive"
</IfModule>

這段配置的含義如下:

  • DOSHashTableSize:設置哈希表的大小。
  • DOSPageCount:在指定時間內允許的最大頁面請求數。
  • DOSSiteCount:在指定時間內允許的最大網站請求數。
  • DOSSiteInterval:計算請求數的時間間隔(以秒為單位)。
  • DOSBlockingPeriod:阻止可疑IP的時間(以秒為單位)。
  • DOSEmailNotify:當發現攻擊時發送通知的電子郵件。
  • DOSSystemCommand:執行系統命令以阻止可疑IP。
  • DOSLogDir:設置日誌文件的存儲目錄。

測試mod_evasive

配置完成後,您可以使用一些工具來模擬DoS攻擊,以測試mod_evasive的有效性。例如,可以使用Apache Benchmark(ab)工具來發送大量請求:

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

如果配置正確,您應該會看到來自可疑IP的請求被阻止,並且伺服器的性能得到了保護。

總結

使用mod_evasive模組可以有效地抵禦DoS攻擊,保護Apache伺服器的可用性。通過合理配置,您可以根據實際需求調整參數,以達到最佳的防護效果。對於需要高可用性的網站,選擇合適的伺服器方案至關重要。若您正在尋找可靠的 香港VPS 服務,Server.HK提供多種選擇,幫助您確保網站的穩定運行。