Categories


Tags


Windows IIS日志文件分析程序

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

来源:月光博客


Public @ 2019-08-10 15:47:23

关于高防服务器更换集群手工操作流程

1. 在新集群中创建高防服务器实例。 2. 将原高防服务器配置信息备份(IP地址、端口映射、防护策略等)。 3. 将备份数据导入新高防服务器实例。 4. 手动将域名解析到新的IP地址上。 5. 检查应用和服务是否正常。 6. 如果有问题,及时调整配置和策略,确保高防效果正常。 7. 清理原高防服务器实例以及相关配置。

Public @ 2023-06-05 16:50:08

获取用户IP地址的三个属性的区别

一、没有使用代理服务器的情况:REMOTE_ADDR = 您的 IPHTTP_VIA = 没数值或不显示HTTP_X_FORWARDED_FOR = 没数值或不显示二、使用透明代理服务器的情况:Transparent ProxiesREMOTE_ADDR = 最后一个代理服务器 IPHTTP_VIA = 代理服务器 IPHTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服

Public @ 2011-08-22 15:26:07

IIS子目录web.config与主站冲突解决方法

最近在项目中需要在应用中增加一个子目录的独立项目,项目需要配置在iis的根目录,结果配置成功之后,应用起不来了,出现错误提示,分析认为是web.config冲突造成的。IIS上在主站点下搭建虚拟目录后,子站点中的<system.web>节点与主站点的<system.web>冲突解决方法如下:在主站点的<system.web>上一级添加父节点:<locati

Public @ 2009-04-21 15:47:27

Windows2003中不允许的父路径问题

Windows2003中不允许访问的父路径问题通常是指访问文件时出现的错误。这个错误通常发生在试图访问一个文件的父级目录,但因为权限问题或文件系统限制,不能访问该目录。 解决该问题的方法包括: 1. 检查父级目录的权限设置,确保当前用户有访问权限。 2. 检查文件系统的权限设置,确保当前用户有访问权限。 3. 确保文件路径中没有非法字符或文件名太长导致无法访问。 4. 检查操作系统是否已

Public @ 2023-06-25 21:50:13

更多您感兴趣的搜索

0.459528s