大连仟亿科技
客服中心
  • 电话
  • 电话咨询:0411-39943997
  • 手机
  • 手机咨询:15840979770
    手机咨询:13889672791
网络营销 >更多
您现在的位置:仟亿科技 > 新闻中心 > 常见问题

Windows IIS 网站日志文件分析程序

作者:billionnet 发布于:2011/12/19 15:49:49 点击量:

Windows Server具有事件日志记录的功能,其IIS日志文件里记录了包括下列信息:谁访问了您的站点,访问者查看了哪些内容等等。通过定期检查这些日志文件,网站管理员可以检测到服务器或站点的哪些方面易受攻击或存在其他安全隐患。

  不过,目前的日志分析工具并不是很完善,有些功能并不具备,特别是针对某个URL地址进行攻击的分析并不多,下面是一个VB Script程序,保存为VBS程序后可以在服务器上运行,用于分析和检测IIS日志里针对某个URL地址进行攻击的IP地址。

'代码开始
targeturl = "/archives/2761.html"  '受攻击网站的URL地址。
logfilepath = "C:\LogFiles\W3SVC\ex110813.log"  '受攻击网站的日志路径。

 

On Error Resume Next
Set fileobj = CreateObject("scripting.filesystemobject")
Set fileobj2 = CreateObject("scripting.filesystemobject")
Set myfile = fileobj2.opentextfile(logfilepath, 1, False)
  
Do While myfile.atendofstream <> True
myline = myfile.readline()
myline2 = Split(myline, " ")
newip = myline2(9)
myurl = myline2(5)
If targeturl = myurl Then
      writelog newip
End If
Loop

myfile.Close
Set fileobj2 = Nothing
Msgbox "结束."

Sub writelog(errmes)
ipfilename = "blockip.txt"
Set logfile = fileobj.opentextfile(ipfilename, 8, True)
logfile.writeline errmes
logfile.Close
Set logfile = Nothing
End Sub
'代码结束
 

IIS日志

  分析出来的IP如果出现异常,可以通过程序,将其批量添加到IIS的屏蔽IP列表里,下面是网上找到的一段VBScript代码,将其改名为vbs后,把上面那段程序的IP导入,即可批量屏蔽攻击者的IP地址。

'代码开始
'/*=========================================================================
' * Intro VBScript使用ADSI为IIS批量添加屏蔽或允许访问的IP 
' * FileName VBScript-ADSI-IIS-Add-Deny-Grant-IP-Change-MetaBase.xml.vbs 
' *==========================================================================*/ 
'AddDenyIP2All "192.168.1.106,255.255.255.0" 
'AddDenyIP "123456","127.0.0.1" 
'AddDenyIP2All "14.113.226.116"

 

'添加要屏蔽的IP或一组计算机,到一个指定站点上 
Sub AddDenyIP(strWebNo, strDenyIp) 
On Error Resume Next 
Set SecObj = GetObject("IIS://LocalHost/W3SVC/" & strWebNo & "/Root") 
Set MyIPSec = SecObj.IPSecurity 
MyIPSec.GrantByDefault = True 
IPList = MyIPSec.IPDeny 
i = UBound(IPList) + 1 
ReDim Preserve IPList(i) 
IPList(i) = strDenyIp 
MyIPSec.IPDeny = IPList 
SecObj.IPSecurity = MyIPSec 
SecObj.Setinfo 
End Sub 
'添加要屏蔽的IP或一组计算机,到IIS公共配置,以应用到所有站点 
'如果之前对有些站点单独做过屏蔽IP设置,在些设置不会生效,得在总的网站上设置一下,然后覆盖所有子结点 
Sub AddDenyIP2All(strDenyIp) 
On Error Resume Next 
Set SecObj = GetObject("IIS://LocalHost/W3SVC") 
Set MyIPSec = SecObj.IPSecurity 
MyIPSec.GrantByDefault = True 
IPList = MyIPSec.IPDeny 
i = UBound(IPList) + 1 
ReDim Preserve IPList(i) 
IPList(i) = strDenyIp 
MyIPSec.IPDeny = IPList 
SecObj.IPSecurity = MyIPSec 
SecObj.Setinfo 
End Sub 
'添加允许的IP或一组计算机,到一个指定站点上 
Sub AddGrantIP(strWebNo, strGrantIp) 
On Error Resume Next 
Set SecObj = GetObject("IIS://LocalHost/W3SVC/" & strWebNo & "/Root") 
Set MyIPSec = SecObj.IPSecurity 
MyIPSec.GrantByDefault = False 
IPList = MyIPSec.IPGrant 
i = UBound(IPList) + 1 
ReDim Preserve IPList(i) 
IPList(i) = strGrantIp 
MyIPSec.IPGrant = IPList 
SecObj.IPSecurity = MyIPSec 
SecObj.Setinfo 
End Sub 
'添加允许的IP或一组计算机,到IIS公共配置,以应用到所有站点 
'如果之前对有些站点单独做过屏蔽IP设置,在些设置不会生效,得在总的网站上设置一下,然后覆盖所有子结点 
Sub AddGrantIP2All(strGrantIp) 
On Error Resume Next 
Set SecObj = GetObject("IIS://LocalHost/W3SVC") 
Set MyIPSec = SecObj.IPSecurity 
MyIPSec.GrantByDefault = False 
IPList = MyIPSec.IPGrant 
i = UBound(IPList) + 1 
ReDim Preserve IPList(i) 
IPList(i) = strGrantIp 
MyIPSec.IPGrant = IPList 
SecObj.IPSecurity = MyIPSec 
SecObj.Setinfo 
End Sub 
'显示IIS公共配置里禁止访问的IP 
Sub ListDenyIP() 
Set SecObj = GetObject("IIS://LocalHost/W3SVC") 
Set MyIPSec = SecObj.IPSecurity 
IPList = MyIPSec.IPDeny 'IPGrant/IPDeny 
WScript.Echo Join(IPList, vbCrLf) 
' For i = 0 To UBound(IPList) 
' WScript.Echo i + 1 & "-->" & IPList(i) 
' Next 
End Sub
 

 


分享到:


评论加载中...
内容:
评论者: 验证码:
  

Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号   google网站地图   百度网站地图   网站地图

公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563

法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明