程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# web服務器被webbench攻擊及目現采用的防御措施

C# web服務器被webbench攻擊及目現采用的防御措施

編輯:C#入門知識

web服務器連續兩次出現CPU達到100%的情況,第一次還想著是升級時,哪個地方寫錯了,有死循環,最後重啟了三次服務器才好。

但事後分析代碼,沒有死循環的可能,於是在第二次又出現CPU達100%時,仔細檢查了一下。

w3wp.exe的CPU占用率達到65%,sql server的CPU占用率達到35%,站點是aspx,服務器上裝的是sql server2008,在活動分析器裡很快就看出了有三條語句一直在執行,每分鐘能達14萬次。

這個量顯然是不正常的,根據語句分析,可能問題出在某兩個頁面上面,於是把這個頁面先重命名,CPU使用率果然降下來了,在平常的6%~15%之間。

IIS裡面站點沒有加日志,跟蹤不出來,於是加上日志記錄後,又把頁面名字改成之前的,在CPU100%的情況下,堅持了10分鐘,有了記錄以後,再次把頁面重命名,讓站點能正常訪問。

把日志下載到本地,用離線日志分析軟件一看,有個美國的ip一直在訪問那個頁面,10分鐘之內達到141萬次之多。因為這個頁面相當於統計用的,一次請求數據庫的量比較大,所以它這麼一直訪問,造成了程序一直調用sql server。

再一看他使用的浏覽器類型是webbench1.5,說實話,我還是第一次看到這個東西,百度了一下,才知道原來個是服務器壓力測試軟件,只需要一條命令就可以同時N個並發訪問,並一直持續任意時間。

 

webbench1.5是在Linux下下用的,公司沒有環境,在網上又找到windows版本webbench5.0,但試了一下,發現效果和webbench1.5不是太一樣。

最後直接在這兩個頁面上加了,只要請求頭包括webbench的,直接阻斷,另外加了防刷新功能,一段時間內頻繁訪問達到一定次數,加入黑名單,限制10分鐘以後再允許訪問。

采用防御措施後,那個家伙還一直沒有動靜,也不知道管用不管用,但相信能起到一點作用的,真的還不行,只有對這個ip限制訪問站點了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved