爲了保護自己免受slowloris型攻擊,我們在我們的Apache 2.2.17安裝(在Solaris上運行,MPM編譯)上配置了mod_reqtimeout模塊。該mod_reqtimeout配置如下:Apache mod_reqtimeout不會丟失長請求
RequestReadTimeout頭= 10-20,MinRate = 500 =身體10-20,MinRate = 500
我們使用OWASP http_dos_cli工具和測試仍然能夠使網站在幾秒鐘內無法達到。在日誌中,我們看到請求在20秒後被截斷,然後被處理。由於該URL指的是實際資源,因此將返回200狀態碼。這可以防止我們的mod_security規則設置爲檢測408狀態碼,收集基於IP的統計信息並阻止來自此IP的更多請求。
關於爲什麼mod_reqtimeout截斷請求而不是丟棄它並返回408的任何想法?
非常感謝!
實際上,由於httpd-vhosts.conf文件中的RedirectMatch指令,Apache正在發送302重定向。但是,該請求應該超時並返回408,而不是302。 – Spiff 2011-04-26 15:09:30