我有一個網絡應用程序,如果它在很短的時間內發出很多請求,我想通過阻止IP地址來阻止DOS攻擊。防止網站拒絕服務攻擊的最佳方法
例如,如果同一個IP地址在一秒鐘內發出100次請求,我可以認爲這是某種攻擊,我想阻止這個IP。
但是,在應用程序層進行此檢查似乎太昂貴 - 進行此檢查的最佳方式是什麼?
我應該做這樣的檢查在我的:
- 防火牆
- 路由器
- Apache的配置
- 別的地方完全...
我有一個網絡應用程序,如果它在很短的時間內發出很多請求,我想通過阻止IP地址來阻止DOS攻擊。防止網站拒絕服務攻擊的最佳方法
例如,如果同一個IP地址在一秒鐘內發出100次請求,我可以認爲這是某種攻擊,我想阻止這個IP。
但是,在應用程序層進行此檢查似乎太昂貴 - 進行此檢查的最佳方式是什麼?
我應該做這樣的檢查在我的:
一些用於在django中生成API的應用程序實現了一些限制每秒請求數量的方法。 例如django-piston使用節流方法來做到這一點。 django-piston throttling
這是一個簡單的方法來解決問題。
如果你想阻止IP地址發出一定數量的請求時,最好在網絡層完成。這將暗示您在主機的網絡堆棧中或使用路由器(在網絡層運行)執行此操作。
您可能需要考慮的一些問題是: - 您確實想阻止基於IP地址訪問整個主機,還是希望阻止對特定端口上運行的特定應用程序的訪問? - 有時,通過使用NAT,一個IP地址可能代表許多真實的主機發出請求。
隨着任何安全應用程序,你需要有多層防禦,因此,投資一個好的防火牆也是一個好主意。
嘗試使用谷歌與此「拒絕服務預防工具」 – DwB