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

远程桌面时出现“身份验证错误,要求的函数不受支持”解决办法

远程桌面时 “出现身份验证错误,要求的函数不受支持”的错误,如图所示:image.png这是由于本地客户端或者服务器端一方更新了CVE-2018-0886 的 CredSSP 补丁,而另外一方未安装更新的原因导致的,详见:https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-

Public @ 2017-03-18 16:13:35

首次托管服务器经验完全手册

托管服务器是指将服务器设备和数据存储设备部署在第三方数据中心并由服务提供商进行管理和维护。为了帮助你了解托管服务器的过程和经验,下面是一个完整的手册: 1. 确定需求:首先,你需要确定你的需求,包括服务器的类型、规模和性能等方面。这些需求可能涉及到带宽、存储、处理能力等。 2. 选择合适的服务提供商:根据你的需求,选择一个合适的托管服务提供商。这里需要考虑的因素包括服务质量、可靠性、数据安全性

Public @ 2023-07-27 18:00:57

IIS下PHP的ISAPI和FastCGI比较

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

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

IIS 7.0 遇到Http 错误 404.17 Not Found 解决办法

Http错误404.17通常是由于IIS服务器未启用ASP.NET功能引起的。可以按照以下步骤解决此问题: 1.打开控制面板,点击程序和功能(或添加/删除程序)。 2.选择“启用或关闭Windows功能”。 3.展开Internet信息服务(IIS)。 4.展开World Wide Web服务。 5.展开应用程序开发功能。 6.勾选ASP.NET。 7.点击确定,等待安装完成。 8

Public @ 2023-06-12 08:00:10

更多您感兴趣的搜索

0.465791s