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服务器正在迅速发展起来.

替代 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的测试).

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

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

nginx缓存html静态文件,解析php及反向代理IIS的配置

- - 开源软件 - ITeye博客
       Nginx缓存html静态文件 解析php及反向代理IIS的配置,供初学的朋友参考. server_name k; #碰到域名为k的 就交给iis来运行. proxy_pass http://k:8080/;#我的IIS上面的站点即为http://k:8080. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ { #指定缓存文件类型.

Windows 8就是Windows 6.2

- Darth Noctis - cnBeta.COM
Windows Vista内核版本号为Windows 6.0,Windows 7为Windows 6.1,微软近日也证实,Windows 8就是Windows 6.2,尽管这个消息已经是尽人皆知了. 想必微软在Vista身上受到了惨痛的教训,以至于今后很长一段时间都无法痊愈. 如果Windows 8下一代的内核版本号采用Windows 6.3,你也不必太过惊讶.

Windows工具集

- - 互联网 - ITeye博客
参考: https://community.rapid7.com/servlet/JiveServlet/downloadBody/2881-102-2-6389/Mitigating%20Service%20Account%20Credential%20Theft%20on%20Windows.pdf.