开发者社区> 老朱教授> 正文

IIS日志分析方法及工具

简介:
+关注继续查看


日志的重要性已经越来越受到程序员的重视,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,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
通过Hello World来探讨Java技术
如今讨论Java技术似乎无处不在,但它究竟是什么呢?它既是一种编程语言,也是一个平台
5 0
Hystrix技术分享
在微服务架构中,一个请求需要调用多个服务是非常常见的。如客户端访问A服务,而A服务需要调用B服务,B服务需要调用C服务,由于网络原因或者自身的原因,如果B服务或者C服务不能及时响应,A服务将处于阻塞状态,直到B服务C服务响应。此时若有大量的请求涌入,容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,造成连锁反应,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。
8 0
画图细节不会改?那就用 AI 吧!
很多读者会在群里问一些绘图细节的问题,而对于这些问题,小编也不大会啊!实在没办法就用Adobe Illustator (AI) 来帮忙吧。今天就简单介绍下,如何安装和使用这个软件。
5 0
Zuul技术分享
ZUUL是Netflix开源的微服务网关,它可以和Eureka、Ribbon、Hystrix等组件配合使用,Zuul组件的核心是一系列的过滤器,这些过滤器可以完成以下功能: 动态路由:动态将请求路由到不同后端集群 压力测试:逐渐增加指向集群的流量,以了解性能 负载分配:为每一种负载类型分配对应容量,并弃用超出限定值的请求 静态响应处理:边缘位置进行响应,避免转发到内部集群 身份认证和安全: 识别每一个资源的验证要求,并拒绝那些不符的请求。Spring Cloud对Zuul进行了整合和增强。 Spring Cloud对Zuul进行了整合和增强
4 0
山东省第二届数据应用创新创业大赛-算法赛(上)
山东省第二届数据应用创新创业大赛-算法赛(上)
4 0
Node.js 安装和入门
什么是 Node? Node(正式名称 Node.js)是一个开源的、跨平台的运行时环境,有了它,开发人员可以使用 JavaScript 创建各种服务器端工具和应用程序。此运行时主要用于浏览器上下文之外(即可以直接运行于计算机或服务器操作系统上)。据此,该环境省略了一些浏览器专用的 JavaScript API,同时添加了对更传统的 OS API(比如 HTTP 库和文件系统库)的支持。
5 0
Hystrix-开源容错系统(上)
开年第一篇文章来自于京东的小伙伴,希望这篇文章能够帮助大家对熔断和降级有所理解。
5 0
Hystrix-开源容错系统(下)
Hystrix-开源容错系统(下)
4 0
HTTP访问控制(CORS)
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。
4 0
[转]NLP关键词提取方法总结及实现
[转]NLP关键词提取方法总结及实现
4 0
+关注
3546
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载