Windows IIS日志文件分析程序

标签: windows iis 日志文件 | 发表时间:2011-08-13 07:29 | 作者:月光 (williamlong) bababubuliku
出处:http://www.williamlong.info/

  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
 

评论《Windows IIS日志文件分析程序》的内容...

相关文章:

统计
关于我们: 地址 - www.williamlong.info - 谷歌阅读器 - 新浪微博 - 腾讯微博
月光博客投稿信箱:williamlong.info(at)gmail.com

相关 [windows iis 日志文件] 推荐:

Windows IIS日志文件分析程序

- bababubuliku - 月光博客
  Windows Server具有事件日志记录的功能,其IIS日志文件里记录了包括下列信息:谁访问了您的站点,访问者查看了哪些内容等等. 通过定期检查这些日志文件,网站管理员可以检测到服务器或站点的哪些方面易受攻击或存在其他安全隐患.   不过,目前的日志分析工具并不是很完善,有些功能并不具备,特别是针对某个URL地址进行攻击的分析并不多,下面是一个VB Script程序,保存为VBS程序后可以在服务器上运行,用于分析和检测IIS日志里针对某个URL地址进行攻击的IP地址.

IIS的没落

- ItTalks - www.chenlublog.com
Apache一直作为互联网上使用最广泛的服务器从web早期延续至今,居于第二位的应该属微软的IIS了. 但是,各种迹象表明,IIS现在正在走下坡路了,其市场份额是在不断的下跌. 究竟背后是什么因素在促使这种情况发生呢. 当然,情况不是一直都这么糟糕,在曾经的一段时间里,IIS曾经和Apache不相上下.

[图]IIS的没落

- rokey - cnBeta.COM
Apache一直作为互联网上使用最广泛的服务器从web早期延续至今,居于第二位的应该属微软的IIS了. 但是,各种迹象表明,IIS现在正在走下坡路了,其市场份额是在不断的下跌. 究竟背后是什么因素在促使这种情况发生呢.

nginx风头正劲 挑战 Apache 和 IIS

- nikelius - cnBeta全文版
说到Web服务器,Apache服务器和互联网信息服务系统(IIS)服务器是两大巨头;但是运行速度更快、更灵活的对手:nginx正在迎头赶上. 过去的日子对Web服务器管理员来说轻松得很. 如果你管理的部门使用Windows,就使用IIS服务器;如果不是,就使用Apache服务器. 而现在,你在Web服务器方面有了更多的选择;主要的替代服务器之一:开源nginx Web服务器正在迅速发展起来.

nginx 日志文件切割

- - 企业架构 - ITeye博客
转载: http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html. 偶然发现access.log有21G大,所以将其切割. Nginx 是一个非常轻量的 Web 服务器,体积小、性能高、速度快等诸多优点. 但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量非常大,不便于管理.

替代 Apache 和 IIS 的轻量级网络服务器盘点

- Shearer - 开源中国社区最新新闻
说起当今的网络服务器,我想大家对Apache和IIS不会陌生,一般对于Windows的操作系统来说用的IIS比较多,而对于Linux来说,Apache 会占有比较大的优势. 但是,出色的网络服务器可并不只有Apache和IIS. 事实上,性能卓越,堪比Apache和IIS的其他网络服务器还有很多. 这 篇文章给大家介绍五款可以替代Apache和IIS的轻量级网络服务器.

微软IIS 6.0和7.5的多个漏洞及利用方法

- - Chinadu's Blog
1.任何组织和个人不得利用此漏洞进行非法行为,否者产生的一切后果与本人无关. 2.各大站长与个人转载、复制、传阅时请保留此声明,否者引发的一切纠纷由传播者承担. 微软的IIS 6.0安装PHP绕过认证漏洞. 微软IIS与PHP 6.0(这是对PHP5中的Windows Server 2003 SP1的测试).

jstack Dump 日志文件分析

- - Web前端 - ITeye博客
jstack Dump 日志文件中的线程状态. dump 文件里,值得关注的线程状态有:. Deadlock(重点关注) . 执行中,Runnable   . Waiting on condition(重点关注) . Waiting on monitor entry(重点关注). 暂停,Suspended.

Logback日志文件的配置

- - BlogJava-首页技术区
日志每天归档,同时目录名包含相应的年份和月份. 注意其中aux的使用,在fileNamePatter中如果出现多个%d的情况下,只能有一个为主配置,其他都需要使用aux标记为附属配置. 其中的%i请参看下节的介绍. 文件同时根据日期和大小滚动创建. fileNamePattern在上一节已经介绍,这里主要介绍timeBasedFileNamingAndTriggeringPolicy,此处配置对文件大小的限定,由fileNamePattern的%i在确定下标在文件名中的位置.

临危不乱,.Net+IIS环境经常出现的问题及排障。

- Bloger - 博客园-首页原创精华区
你是否经常会遇到以下的拦路虎,当你兴致勃勃地把调试好的程序发布到WEB服务器时,以下错误就出现了:. 1、无法找到文件(404)白底黑字. 2、没有权限访问该文件(403)白底黑字. 3、直接弹出来一个要输入帐号密码的框框,然后你对着屏幕说:什么密码. 4、黄底黑字+红字的错误提示页(.Net). 这些东东几乎占据了.Net+IIS搭建环境的绝大部分错误.