2011-09-19 85 views
6

我想遏制對我的網站服務器的請求,以阻止網站抓取和拒絕服務攻擊我的網站。我願意相對鬆懈,關鍵是沒有人要求太多以至於放慢速度。通過Apache上的IP地址限制請求?

我在考慮通過IP地址設置限制,以便在短時間內發出太多請求時,來自給定IP的請求將會變慢。

有些問題我have--

  • 這是去了解與網絡刮削器和DoS攻擊在處理Web服務器級別的正確方法?
  • 什麼是一個好的限制,以便我不會給可能在共享IP網絡上工作的普通用戶造成不便?
  • 具體應該如何設置節流?我正在使用Apache/2.2
+0

你已經想過使用mod_cache了嗎?如果你的內容不是太動態,mod_cache可能會爲很多請求提供很多幫助。從DOS開始,在web服務器級別mod_throttle可能會有所幫助。但要小心,如果你的頁面有很多對象(一個HTML,但有80個圖像和一些JS + CSS),你可能會保守。至於mod_cache,我可以幫你解決,但我對mod_throttle不太有信心;主要是因爲文檔很少。 –

+0

我的網站通過API實時從數據中提取數據,我擔心不僅會被複制,而且會被蜘蛛攻擊我的網站。所以是啊,我的網站非常活躍。 – babonk

+0

@babonk誰是您的房東? – TMB

回答

3

「這是在Web服務器級別的正確方法嗎?」這可能是您擁有的最佳選擇。在網站的不同部分設置不同的閾值可能會很好:您可能比其他人更願意遏制某些類型的流量。但理想情況下,這些設置將在網絡級進行管理。

「什麼是一個很好的限制...?」它完全取決於你的流量。你期望的多少,你的真實用戶來自哪裏,等等。

如何做到這一點?有可能在ModSecurity中編寫規則來處理這類事情,這也可以防禦一些其他的東西。與mod_evasive答案一樣,這不會完全保護你免受攻擊者的大量資源支配,但它會迫使他們加強遊戲。

我不認爲有任何「內置於」Apache httpd,這將促進這一點。期望的是,在網絡級別管理濫用IP地址(即網絡流量問題)的問題。

編輯:

既然你對此有何評論您正在使用Rackspace公司託管的其他地方,你可能想看看their load balancer API

+0

真的,在這種情況下,Apache沒有*內置的東西? – babonk

+0

爲什麼會這麼令人驚訝? httpd的構建是爲了在大多數常見場景中快速提供HTTP服務,併成爲開發更高級功能的平臺,例如按客戶端節流。正如我所說的,這是通常在不同的層(盒子上的IP堆棧或網關)完成的。你說你在Rackspace上...我會編輯我的答案以提供相關鏈接。 –

+0

謝謝你對我的教育(特別是rackspace鏈接)。答覆/賞金頒發! – babonk

0

爲了避免dos攻擊/網頁抓取,您可以探索mod_evasive,它提供了各種配置來阻止請求。 http://www.zdziarski.com/blog/?page_id=442

它對於基本的保護可能很有用,但是它不足以對付確定和有經驗的攻擊者,他們可以從內部網絡進行攻擊或使用一系列服務器代理來隱藏他的IP。

+0

這需要特殊安裝,並且我在共享主機上。我可以在Apache中使用哪些東西? – babonk