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

Linux操作系统带宽、CPU跑满或跑高排查思路

1. 查看系统资源占用情况:使用 top 命令查看系统资源占用情况,找到占用 CPU 或内存较高的进程。 2. 查看系统负载:使用 uptime 命令或者 top 命令中第一行的 load average,如果系统负载过高,说明系统资源不足。 3. 增加硬件资源:如果系统负载过高,可以考虑增加硬件资源,例如增加 CPU 核心数、增加内存或升级网络设备等。 4. 检查网络带宽:使用 ping

Public @ 2023-06-03 18:00:30

获取用户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

在Windows IIS下配置WordPress MU环境

昨天介绍的Windows Server 2003下的IIS和Apache性能比较,其实Apache在Linux环境下的性能还是很不错的,我之所以使用Windows Server 2003而没有用Linux,是因为我对Linux的维护并不熟悉,因此才使用Windows环境。在Windows环境下使用IIS搭建和Linux的Apache一样的环境也并非不可能,下面我就介绍一下我使用Windows Se

Public @ 2014-09-22 15:47:22

IIS下PHP的ISAPI和FastCGI比较

ISAPI和FastCGI是一种用于在IIS上执行“脚本”的机制,它们共同的目的是让IIS能够识别脚本(如PHP、ASP等)。 ISAPI是用于服务器脚本的一种技术,它由Web服务器提供,能够把一个WEB请求转换成一个后台API call,而客户端可以从服务器中接收响应。它比较简单易用,因而受到微软IIS支持。 另一方面,FastCGI是一种常用的用于执行服务器脚本的技术,它以一个进程形式

Public @ 2023-02-26 02:27:27

更多您感兴趣的搜索

0.483961s