我試圖模擬一個緩慢的http讀取攻擊對我的本地主機上運行的Apache服務器。 但似乎是,服務器沒有抱怨,只是等待客戶端閱讀。Http服務器 - 緩慢讀取
這是我做的:
- 請求一個巨大的文件(比如說〜1MB)從HTTP服務器
- 從服務器讀取的循環中,等待100秒的響應連續讀取
由於文件很大並且客戶端接收緩衝區很小,服務器必須以多個塊發送文件。但是,在客戶端,我在連續讀取之間等待100秒。因此,服務器經常輪詢客戶端,並發現客戶端的接收窗口大小爲零,因爲客戶端尚未讀取接收緩衝區。
但它看起來像服務器不打擾打破連接,它默默地繼續輪詢客戶端。服務器在客戶機窗口大小> 0時發送數據,並再次返回等待客戶機。
我想知道是否有任何apache配置參數可以設置爲在等待客戶端讀取數據之後從服務器端斷開連接。
謝謝@mesh。我看到了這次攻擊,但我特別關注了我描述的攻擊。讓我知道你是否知道服務器配置選項來重置連接。 – sachin2182 2012-02-24 06:54:51
@ sachin2182 - 不確定這是否適用於您的目的,http://httpd.apache.org/docs/2.0/mod/core.html#timeout在httpd.conf或.htaccess中放置'TimeOut xyz'其中xyz是在殺死連接之前最多要等待的秒數。如果您有快速連接,我建議大概10秒鐘。 – ionFish 2012-02-24 07:01:36
timeout指令用於客戶端發送的請求。假設服務器在一段時間內沒有收到客戶端的請求(它期望的),那麼如果我們想要中斷連接,那麼可以使用這個選項。 – sachin2182 2012-02-24 07:16:36