IIS日志分析方法及工具

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:


日志的重要性已经越来越受到程序员的重视,IIS的日志更是不言而喻。

IIS日志建议使用W3C扩充日志文件格式,这也是IIS 5.0已上默认的格式,可以指定每天记录客户IP地址、用户名、服务器端口、方法、URI资源、URI查询、协议状态、用户代理,每天要审查日志。如图1所示。



IIS 的WWW日志文件默认位置为 %systemroot%\system32\logfiles\w3svc1\,(例如:我的则是在 C:\WINDOWS\system32\LogFiles\W3SVC1\),默认每天一个日志。

建议不要使用默认的目录,更换一个记录日志的路径,同时设置日志访问权限,只允许管理员和SYSTEM为完全控制的权限。 如图2所示。




如果发现IIS日志再也不记录了,解决办法:
看看你有没有启用日志记录:你的网站--> 属性 -->“网站”-->“启用日志”是否勾选。

日志文件的名称格式是:ex+年份的末两位数字+月份+日期。
( 如2002年8月10日的WWW日志文件是ex020810.log )

IIS的日志文件都是文本文件,可以使用任何编辑器或相关软件打开,例如记事本程序,AWStats工具。

开头四行都是日志的说明信息

#Software 生成软件
#Version 版本
#Date 日志发生日期
#Fields 字段,显示记录信息的格式,可由IIS自定义。

日志的主体是一条一条的请求信息,请求信息的格式是由#Fields定义的,每个字段都有空格隔开。

字段解释

data 日期
time 时间
cs-method 请求方法
cs-uri-stem 请求文件
cs-uri-query 请求参数
cs-username 客户端用户名
c-ip 客户端IP
cs-version 客户端协议版本
cs(User-Agent) 客户端浏览器
cs(Referer) 引用页

下面列举说明日志文件的部分内容(每个日志文件都有如下的头4行):
#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2007-09-21 02:38:17
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status

2007-09-21 01:10:51 10.152.8.17 - 10.152.8.2 80
GET /seek/images/ip.gif - 200 Mozilla/5.0+(X11;+U;+Linux+2.4.2-2+i686;+en-US;+0.7)

上面各行分别清楚地记下了远程客户端的:

连接时间 2007-09-21 01:10:51
IP地址 10.152.8.17 - 10.152.8.2
端 口 80
请求动作 GET /seek/images/ip.gif - 200
返回结果 - 200 (用数字表示,如页面不存在则以404返回)
浏览器类型 Mozilla/5.0+
系统等相关信息 X11;+U;+Linux+2.4.2-2+i686;+en-US;+0.7


附:IIS的FTP日志

IIS的FTP日志文件默认位置为%systemroot%\system32\logfiles\MSFTPSVC1\,对于绝大多数系统而言(如果安装系统时定义了系统存放目录则根据实际情况修改)则是C:\winnt\system32\logfiles\ MSFTPSVC1\,和IIS的WWW日志一样,也是默认每天一个日志。日志文件的名称格式是:ex+年份的末两位数字+月份+日期,如2002年8月10日的WWW日志文件是ex020810.log。它也是文本文件,同样可以使用任何编辑器打开,例如记事本程序。和IIS的WWW日志相比,IIS的FTP日志文件要丰富得多。下面列举日志文件的部分内容。

#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2002-07-24 01:32:07
#Fields: time cip csmethod csuristem scstatus
03:15:20 210.12.195.3 [1]USER administator 331 
(IP地址为210.12.195.2用户名为administator的用户试图登录)

03:16:12 210.12.195.2 [1]PASS - 530 (登录失败)

03:19:16 210.12.195.2 [1]USER administrator 331 
(IP地址为210.12.195.2用户名为administrator的用户试图登录)

03:19:24 210.12.195.2 [1]PASS - 230 (登录成功)
03:19:49 210.12.195.2 [1]MKD brght 550 (新建目录失败)
03:25:26 210.12.195.2 [1]QUIT - 550 (退出FTP程序)

有经验的用户可以通过这段FTP日志文件的内容看出,来自IP地址210.12.195.2的远程客户从2002年7月24日3:15开始试图登录此服务器,先后换了2次用户名和口令才成功,最终以administrator的账户成功登录。这时候就应该提高警惕,因为administrator账户极有可能泄密了,为了安全考虑,应该给此账户更换密码或者重新命名此账户。

如何辨别服务器是否有人曾经利用过UNICODE漏洞入侵过呢?可以在日志里看到类似如下的记录:
如果有人曾经执行过copy、del、echo、.bat等具有入侵行为的命令时,会有以下类似的记录:
13:46:07 127.0.0.1 GET /scripts/..\../winnt/system32/cmd".exe 401
13:46:07 127.0.0.1 GET /scripts/..\../winnt/system32/cmd".exe 200
13:47:37 127.0.0.1 GET /scripts/..\../winnt/system32/cmd".exe 401


相关软件介绍:

如果入侵者技术比较高明,会删除IIS日志文件以抹去痕迹,这时可以到事件查看器看来自W3SVC的警告信息,往往能找到一些线索。当然,对于访问量特别大的Web服务器,仅靠人工分析几乎是不可能的--数据太多了!可以借助第三方日志分析工具,如Faststs Analyzer、Logs2Intrusions v.1.0等。此处仅仅介绍一下Logs2Intrusions日志分析工具。它是一个由Turkish Security Network公司开发的自由软件,是免费的日志分析工具,可以分析IIS 4/5、Apache和其他日志文件。可以到 http://www.trsecurity.net/logs2intrusions下载最新的版本。该软件简单易用,下面是它的主界面,如图3所示。




单击【Select】按钮后选择要分析的日志文件,然后单击【Next】按钮,在出现的窗口中单击【Begin Work】按钮即可开始分析,如图4所示。




如图4所示,它表明已经发觉入侵的痕迹。如果没有发现痕迹则弹出如图5所示的对话框。




在发现痕迹后单击【Next】按钮继续,如图6所示。




【View Report】按钮是查看报告,【Save Report】按钮是保存报告,【New Report】按钮是生成新报告。下面是报告的例子,如图7所示。




在"Intrusion Attempt"列中列出了超链接,选择它可以得到Trsecurity公司的专家的建议。和该软件同一目录中的sign.txt是入侵行为特征的关键字,用户可以根据新的漏洞的发现而随时补充。


AWStats简介:Apache/IIS的日志分析工具
http://www.chedong.com/tech/awstats.html


不同的日志类型,其存储的位置也不同:
应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\config
Web,Ftp的日志的默认位置在:%systemroot%\system32\logfiles
具体参看这篇文章: Win2k日志详细

IIS日志的启用和设置
如何在 Windows 2000 中启用 IIS 日志记录站点活动

日志分析工具
日志的分析工具很多,AWStats是一个优秀的跨平台的开源日志分析工具
Awstats 安装使用说明

IIS日志的内容其实是一些记录的文本
IIS日志分析

如何在 Windows 2000 中启用 IIS 日志记录站点活动 ( MSDN )
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;300390




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2007/09/21/901143.html,如需转载请自行联系原作者


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4月前
|
监控 Ubuntu 安全
如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具
如何在 VPS 上安装和使用 Logwatch 日志分析器和报告工具
46 1
|
1月前
|
运维 Prometheus 监控
特定用途的日志分析工具
【10月更文挑战第20天】
53 5
|
1月前
|
存储 机器学习/深度学习 传感器
商业日志分析工具
【10月更文挑战第20天】
48 5
|
1月前
|
存储 运维 监控
开源日志分析工具
【10月更文挑战第20天】
65 3
|
2月前
|
开发框架 缓存 安全
开发日志:IIS安全配置
开发日志:IIS安全配置
开发日志:IIS安全配置
|
2月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
39 1
|
3月前
|
存储 监控
【Azure Cloud Service】在Azure云服务中收集CPU监控指标和IIS进程的DUMP方法
在使用Cloud Service服务时,发现服务的CPU占用很高,在业务请求并不大的情况下,需要直到到底是什么进程占用了大量的CPU资源,已经如何获取IIS进程(w3wp.exe)的DUMP文件?
|
4月前
|
Go 开发者
【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
|
4月前
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
|
4月前
|
Prometheus 监控 安全