利用IIS日志分析网站安全问题
内容摘要:随着网站制作技术的普及,网站的安全问题越来越严重,而分析IIS日志是一种比较常用,比较有效的方法,文章由此出发,介绍了如何分析IIS日志,利用日志发现安全问题,进而加强安全防范。
关键字:日志、安全、措施
IIS提供了一套相当有效的安全管理机制,并且也提供了一套强大的日志文件系统,而IIS日志文件一直都是网站管理人员查“病源”的有利工具,通过对日志文件的监测,可以出有疑问的痕迹,得到网站的访问,操作记录,以及系统的问题所在。
1、IIS日志简介
1.1 什么是IIS日志
II即为Internet Information Server,是英特网信息服务的意思,是一个World Wide Web server。而这个World Wide Web server的服务一般有三个步骤,第一是服务请求,包含用户
端的众多基本信息,如IP地址、浏览器类型、目标URL等。第二是服务响应,Web服务器接收到请求后,按照用户要求运行相应的功能,并将信息返回给用户。如果出现错误,将返回错误代码。第三是追加日志,服务器将对用户访问过程中的相关信息以追加的方式保存到日志文件中。
IIS日志记录了网站服务器接收,处理请求以及运行错误等各种原始信息。即它可以记录访问者的一举一动,不管访问者是访问网站,还是上传文件,不管是成功还是失败,日志都以进行记录。
1.2 IIS日志文件的存放
通过你的网站--> 属性 -->“网站”-->“启用日志”是否勾选可以看到日志文件是否启用。
IIS6.0日志文件默认位置为%systemroot%\system32\logfiles\w3svc1\,默认每天一个日志。
不要使用默认的目录,更换一个记录日志的路径,如果不换日志的路径,不对日志进行保护,会很容易被入侵者到并把日志中的痕迹毁掉,因此建议不要使用默认目录,设置日
志文件的访问友限,只允许管理员SYSTEM为完全控制的权限。
由于日志是不断增加长的,它会撑满整个硬盘分区,因此要做好日志管理工作。定期定日期导出或整理备份。
1.3 日志文件的名称格式
WWW日志在默认情况下,每天生成一个日志文件,包含了该日的一切记录,文件名通常为ex+年份的末两位数字+月份+日期,如2009年2月1日的日志即为ex090201.log。IIS是日志都是文本文件,可以使用任何编辑器打开,例如记事本。
1.4 日志记录的格式
日志记录是固定的ASCII格式,开头四行都是日志的说明信息
#Software 生成软件
#Version 版本
#Date 日志发生日期
#Fields 字段,显示记录信息的格式,可由IIS自定义
日志主体是一条一条的请求信息,请求信息的格式是由字段定义的,每个字段间用空格隔开,常用字段解释如下:
data 日期
time 时间
s-ip 网站流量统计分析工具生成日志项的服务器IP
cs-method 请求方法
cs-uri-stem 请求文件
cs-uri-query 请求参数
cs-username 客户端用户名
c-ip 访问服务器的客户端IP
s-port 客户端连接到的端口号
cs-version 客户端协议版本
cs(User-Agent) 客户端浏览器
cs(Referer) 引用页
sc-status 操作状态代码,常见的有200表示成功,404表示不到该页面,500表示程序出错
举例说明日志文件格式:
#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2009-01-01 00:00:06
#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
上面代码说明了
生成软件:Microsoft Internet Information Services 6.0
版本:1.0
日成发生日期:2009-01-01 00:00:06
日志记录的格式:date 日期 time 时间s-sitename 请求站点的实例编号s-ip 生成日成服务器IPcs-method 客户端执行的操作cs-uri-stem 访问的资源cs-uri-query访问地址的参数 s-port端口 cs-username访问服务器的已通过身份验证的用户名称 c-ip cs(User-Agent)客户端IP sc-status操作状态代码 sc-substatus 子状态代码sc-win32-status Wondows状态代码
2009-01-01 00:00:06 W3SVC77065997 202.201.128.14 HEAD /jxmtll/xiaozuxuexi/2005/5/5.swf - 80 - 61.135.162.6 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 64
上面代码记录了客户端的:
访问时间:2009-01-01 00:00:06
所访问的服务器实例编号:W3SVC77065997
所访问的服务器IP地址:202.201.128.14
执行的操作:HEAD /jxmtll/xiaozuxuexi/2005/5/5.swf
访问的端口:80
客户端IP地址:61.135.162.6
浏览器的类型:Mozilla/4.0+
系统相关信息:compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1
操作代码状态:200(正常)
Wondows状态代码:64(指定的网络名不再可用)
1.5 IIS日志的作用
(1)通过IIS日志了解搜索引擎的到访记录:
用ultraedit打开后,按CTRL+F键,输入Googlebot,按回车,在新窗口中显示的页面就是google机器人的到访问记录,选中其中之一双击,可以看到访问的时间和页面。
我们继续查Baiduspider可以看到baidu蜘蛛的爬行记录。其他搜索引擎通过查如Yahoo、Sogou、msnbot、YodaoBot…
比如我们新做了一个网站,也在百度和google中提交了,可是site站点的时候就是看不到收录的页面,这时我们就可以利用上面的方法查看一下IIS日志,只要百度和google等搜索引擎的蜘蛛已经爬行过我们的站点了,我们就不用担心网站的收录问题了,搜索引擎会慢慢的放出已经抓取的页面,站长们继续增加内容就行了。通过此项查还可以了解搜索引擎的到访时间和抓取页面的时间及频率。
上面是通过IIS日志查看搜索引擎的爬行记录,为什么搜索引擎的爬行记录不能被流量统计工具统计到?因为流量统计代码是采用JS调用的方式,搜索引擎蜘蛛爬行时不会调用JS文
件。我们可以自己写个流量统计功能,然后include流量统计功能的这个动态页面到各个页面中,这样所有对页面的访问就都可以统计到了,并且通过agent参数,可以判断来自哪个搜索引擎,这里不再详述。
(2)通过IIS日志查网站是否存在死链接:
在用记事本打开的IIS日志文件中按CTRL+F键,在出现的窗口中,选中第一和第三个复选框,输入404,然后按回车,看看在弹出的窗口中有没有到记录。如果到,说明你的网站存在死链接,大家都知道死链接对网站的收录是有影响的,怎么去处理就不用我说了吧。
下面是搜索404时我的网站IIS日志中出现的几条记录:
2009-01-20 03:55:28 W3SVC77065997 202.201.128.14 GET /bbs/data/dvbbs7.mdb - 80 - 219.153.244.233 InetURL:/1.0 404 0 2
2009-01-20 03:55:28 W3SVC77065997 202.201.128.14 GET /bbs/data/dvbbs7.mdb - 80 - 219.153.244.233 InetURL:/1.0 404 0 2
2009-01-20 04:39:58 W3SVC77065997 202.201.128.14 GET /admin/bbs/data/dvbbs7.mdb - 80 - 219.153.244.233 InetURL:/1.0 404 0 3
2009-01-20 04:39:58 W3SVC77065997 202.201.128.14 GET /admin/bbs/data/dvbbs7.mdb - 80 - 219.153.244.233 InetURL:/1.0 404 0 3
2009-01-20 11:55:01 W3SVC77065997 202.201.128.14 GET /leadBBS/DATA/leadbbs.mdb - 80 - 124.132.131.128 InetURL:/1.0 404 0 3
2009-01-20 11:55:01 W3SVC77065997 202.201.128.14 GET /leadBBS/DATA/leadbbs.mdb - 80 - 124.132.131.128 InetURL:/1.0 404 0 3
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论