2010-11-24 120 views
9

什麼是保護網站形式DoS攻擊的最佳方法。任何想法如何流行的網站/服務處理這個問題?如何保護網站免受DoS攻擊

什麼是應用程序,操作系統,網絡,託管級別的工具/服務?

如果有人能夠分享他們處理的真實體驗,那將會很不錯。

感謝

回答

3

當然,你的意思是不注射DoS?在Web編程的最後階段,你可以做的事情不多,因爲它更多的是在物理層綁定連接端口並阻止它們,而不是在應用層(網絡編程)。

關於大多數公司如何防範這些問題,許多公司都使用負載均衡和服務器場來取代進入的帶寬。另外,很多智能路由器都在監視IP和IP範圍內的活動,以確保沒有沒有太多的查詢進來(如果是這樣的話,在它進入服務器之前執行一個塊)。

最大的故意DoS我能想到的是woot.com在woot-off期間。我建議嘗試維基百科(http://en.wikipedia.org/wiki/Denial-of-service_attack#Prevention_and_response),看看他們有什麼要說的預防方法。

3

我從來沒有對尚未解決這個問題,但一個共同的方法是編寫一小段代碼來跟蹤在短時間內使大量請求的IP地址,在處理實際發生之前否認它們。

許多託管服務提供此與託管一起,檢查與他們看看他們是否。

+2

只是想知道,如果攻擊者欺騙ip地址,那麼這種技術將沒有多大的幫助...我剛剛聽說ip欺騙可以完成,但不知道它會是多麼實用 – Mahes 2010-11-24 03:45:45

+1

如果你的攻擊者發送惡意數據包在他/她處於分組路由信息的低級別,那麼我能想到的唯一方法是檢查畸形的TCP數據包或HTTP請求,因爲攻擊者通常會忽略一些細節以節省速度。當然這是一個巨大的痛苦,所以它的有用性取決於你害怕多少DDoS攻擊。 – Actorclavilis 2010-11-24 14:37:34

3

我在應用程序層實現了這一次。我們通過服務器場中的每臺機器都可以向其發送請求信息的服務記錄了向服務器場提供的所有請求。然後,我們處理這些由IP地址聚合的請求,並自動標記每個時間間隔超過一定數量請求閾值的任何IP地址。來自被標記的IP的任何請求都會得到標準Captcha響應,如果它們失敗了太多次,它們將永遠被禁止(如果您從代理服務器後面獲得DoS,則會很危險)。如果它們證明它們是人類,那麼與IP相關的統計信息被「歸零」。

1

嗯,這是一箇舊的,但是想要這樣做的人可能想看看fail2ban

http://go2linux.garron.me/linux/2011/05/fail2ban-protect-web-server-http-dos-attack-1084.html

這更是一個serverfault某種答案的,而不是構建到應用程序中,但我認爲這是有點問題,就是最有可能更好的解決的方式。如果您想阻止的邏輯很複雜,那麼可以考慮讓應用程序記錄足夠的信息,以便將禁止策略操作作爲基礎,而不是試圖使策略生效。

還要考慮到,根據您使用的網絡服務器,您可能容易遭受諸如slow loris攻擊之類的攻擊,並且您在Web應用程序級別無法做到這一點。

相關問題