国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

不用防火墻自動對付CC攻擊防范vbs

2024-09-01 13:46:09
字體:
來源:轉載
供稿:網友
CC攻擊原理
  CC主要是用來攻擊頁面的.大家都有這樣的經歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁面越多,數據庫就越大,被訪問的頻率也越高,占用的系統資源也就相當可觀,現在知道為什么很多空間服務商都說大家不要上傳論壇,聊天室等東西了吧.
  一個靜態頁面不需要服務器多少資源,甚至可以說直接從內存中讀出來發給你就可以了,但是論壇就不一樣了,我看一個帖子,系統需要到數據庫中判斷我是否有讀讀帖子的權限,如果有,就讀出帖子里面的內容,顯示出來——這里至少訪問了2次數據庫,如果數據庫的體積有200MB大小,系統很可能就要在這200MB大小的數據空間搜索一遍,這需要多少的CPU資源和時間?如果我是查找一個關鍵字,那么時間更加可觀,因為前面的搜索可以限定在一個很小的范圍內,比如用戶權限只查用戶表,帖子內容只查帖子表,而且查到就可以馬上停止查詢,而搜索肯定會對所有的數據進行一次判斷,消耗的時間是相當的大.
  CC就是充分利用了這個特點,模擬多個用戶(多少線程就是多少用戶)不停的進行訪問(訪問那些需要大量數據操作,就是需要大量CPU時間的頁面).
  攻擊現象:
  服務器的流量瞬間可達到幾十M以上,網站打不開。重啟iis會發現流量馬上就降下來。查看IIS日志會發現很多不同的IP都反復訪問一個相同的文件。查看C:WINDOWSsystem32LogFilesHTTPERR 會發現很多出錯的IIS日志,如下:
  2007-08-22 06:05:28 61.140.127.206 61905 61.139.129.56 80 HTTP/1.1 GET /list.asp?
  ProdId=0961 503 30 ConnLimit pool21
  2007-08-22 06:05:28 221.8.137.99 3916 61.139.129.56 80 HTTP/1.1 GET /list.asp?ProdId=0961
  503 30 ConnLimit pool21
  2007-08-22 06:05:28 220.187.143.183 4059 61.139.129.56 80 HTTP/1.1 GET /list.asp?
  ProdId=0961 503 30 ConnLimit pool21
  2007-08-22 06:05:28 218.18.42.231 1791 61.139.129.56 80 HTTP/1.1 GET /list.asp?
  ProdId=0961 503 30 ConnLimit pool21
  2007-08-22 06:05:28 125.109.129.32 3030 61.139.129.56 80 HTTP/1.1 GET /list.asp?
  ProdId=0961 503 30 ConnLimit pool21
  2007-08-22 06:05:28 58.216.2.232 1224 61.139.129.56 80 HTTP/1.1 GET /list.asp?ProdId=0961
  503 30 ConnLimit pool21
  ...
  可以看出很多不同的IP都在訪問list.asp這個文件。以上現象就是CC攻擊的特征。根據發動CC攻擊所使用的肉機數量,小的攻擊可以導致網站很慢或者不穩定,大的攻擊可以讓網站一直都無法打開。
  因這類攻擊,是模擬正常用戶不斷請求一個網頁。所以一般的防火墻很難防御。下面我們根據實際工作經驗,講一下如何不用防火墻來解決這個攻擊問題。
  因為CC攻擊都是使用的肉機或代理來訪問我們的服務器的,它跟synflood攻擊不一樣。synfoold一直是不斷變化的虛假IP,而CC攻擊的IP都是真實的IP而基本上不變化的,只要我們用安全策略把這些IP全部封掉就可以了。
  看過有網友介紹的方法,不過是手工一條一條地封,而攻擊IP一般都是數千個不同的IP。用手工封IP的辦法太麻煩。下面我們用程序來實現自動封這些IP!
  程序主要是讀取這個網站的iis日志,分析出其中的IP地址,用安全策略自動封閉。VBS代碼如下:

復制代碼 代碼如下:


  '代碼開始
  Set fileobj=CreateObject("Scripting.filesystemobject")
  logfilepath="E:w3logW3SVC237ex070512old.log" '注意指定受攻擊網站的日志路徑。
  '如果是虛擬主機,要查是哪個網站受攻擊,可以查看:C:WINDOWSsystem32LogFilesHTTPERR ,
  根據錯誤日志很容易分析出來。
  writelog "netsh ipsec static add policy name=XBLUE"
  writelog "netsh ipsec static add filterlist name=denyip"
  overip=""
  f_name=logfilepath
  '指定日志文件
  '程序功能:把logfiles中的IP提取成ipsec需要的過濾格式,導入ipsec中過濾。適合某個網站受大量CC攻擊的情況。
  set fileobj88=CreateObject("Scripting.FileSystemObject")
  Set MYFILE=fileobj88.OpenTextFile(f_name,1,false)
  contentover=MYFILE.ReadAll()
  contentip=lcase(contentover)
  MYFILE.close
  set fileobj88=nothing
  on error resume next
  myline=split(contentip,chr(13))
  for i=0 to ubound(myline)-1
  myline2=split(myline(i)," ")
  newip=myline2(6)
  '指定分離的標識字符串!
  if instr(overip,newip)=0 then '去除重復的IP。
  overip=overip&newip
  dsafasf=split(newip,".")
  if ubound(dsafasf)=3 then
  writelog "netsh ipsec static add filter filterlist=denyip srcaddr="&newip&" dstaddr=Me
  dstport=80 protocol=TCP"
  end if
  else
  wscript.echo newip &" is exits!"
  end if
  next
  writelog "netsh ipsec static add filteraction name=denyact action=block"
  writelog "netsh ipsec static add rule name=kill3389 policy=XBLUE filterlist=denyip
  filteraction=denyact"
  writelog "netsh ipsec static set policy name=XBLUE assign=y"
  Sub writelog(errmes) '導出IPsec的策略文件為一個bat文件。
  ipfilename="denyerrorip.bat"
  Set logfile=fileobj.opentextfile(ipfilename,8,true)
  logfile.writeline errmes
  logfile.close
  Set logfile=nothing
  End Sub
  '代碼結束


  把上述代碼存為一個.vbs文件,設置好其中日志的路徑。雙擊運行即可,運行完畢后生成一個denyerrorip.bat文件,這個是ipsec所需要的策略文件,直接雙擊運行即可。
  運行完畢即可解決CC攻擊問題。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 克什克腾旗| 阿拉尔市| 收藏| 乌拉特前旗| 徐水县| 商水县| 宁阳县| 牙克石市| 商南县| 金湖县| 汝南县| 德庆县| 右玉县| 浦江县| 安阳市| 抚州市| 岑巩县| 信宜市| 张家界市| 河南省| 突泉县| 万山特区| 龙岩市| 密山市| 榕江县| 张家川| 汕尾市| 墨脱县| 东乡族自治县| 平塘县| 理塘县| 太仓市| 如东县| 德安县| 南康市| 博野县| 兴山县| 临桂县| 锡林浩特市| 从江县| 巴林右旗|