日志文件分析工具:高效分析日志文件(下)来源: 发布时间:星期三, 2009年9月2日 浏览:5次 评论:0
第3步:继续改进
有时候我们很想看看由Bob发出并且服务器响应代码为200那些请求那表明它获取了所请求资源我们可以采用如下这条命令: >egrep –n -i “bob|200” access_log 它返回结果是出现了“Bob”或“200”那些条目不过这还并不能保证就定由是Bob发出、并且响应为200请求它返回结果还有不少其实并不是我们想要如果我们把Bob和200同时作为搜索条件搜索出来结果就可以更准确些如果注意到Bob和200都是被空格分隔开了话我们还可以更进步地改进搜索条件另外 注意-i这个参数它表示忽略大小写因此Bob, bOb, boB, bob, 以及 BOB都可以匹配我们搜索结果 >egrep –n –i “\bbob\b. *200*” access_log 这条命令就可以把搜索条件设为“bob"和”200“同时出现行在bob两头\b表示是单词边界或者说单词开始和结束200前那个*表示是在bob和200的前有些200的后那个*则表示允许200后面存在其它这样话将返回如下结果: 57:10.10.10.10 - bob [10/Oct/2007:20:24:18 -0700] “GET / webmin HTTP/1.0” 404 726 59:10.10.10.10 - bob [10/Oct/2007:20:24:59 -0700] “GET /admin HTTP/1.0” 404 726 65:10.10.10.10 - bob [10/Oct/2007:20:25:35 -0700] “GET /login HTTP/1.0” 404 726 从上面搜索结果里你应该能看出来Bob似乎在找什么东西很可能是管理员登陆入口的类或者是入侵Web服务器通道另外如果你注意下时间戳信息话你就会发现他在短短分钟内发送了 3次请求这介绍说明他要么打字超快要么就是在用某种自动工具而更可能是后种情况这让我们有了足够理由进步分析他行为 同时注意Bob请求返回结果全都是404 ”not found"信息为什么会这样呢?我们要搜索明明是返回代码为200记录啊这就是电脑没有人聪明典型例子在我们这个例子里日期时间戳恰好包含有200这个字串于是它就被搜索出来了使用正则表达式经常会造成误报但是通过我们简单查询我们可以排除大部分误报 下面让我们进步分析Bob行为 第4步:继续追踪 我们最后手段就是找出Bob发送请求时IP地址以此跟踪它行为这要求我们必须在正则表达式里转义IP地址里句号转义目是告诉正则表达式引擎按字面意思解释这个而不用考虑它特殊意义请看下面这条命令: >egrep –n –i “10\.10\.10\.10” access_log 它让egrep找出日志文件里所有含10.10.10.10条目结果如下: 57:10.10.10.10 - bob [10/Oct/2000:20:24:18 -0700] “GET /web min HTTP/1.0” 404 726 59:10.10.10.10 - bob [10/Oct/2000:20:24:59 -0700] “GET /admin HTTP/1.0” 404 726 65:10.10.10.10 - bob [10/Oct/2000:20:25:35 -0700] “GET /login HTTP/1.0” 404 726 120:10.10.10.10 - [10/Oct/2000:21:14:11 -0700] “GET /index.html HTTP/1.0” 200 2571 157:10.10.10.10 - [10/Oct/2000:21:50:59 -0700] “GET /parent/directory HTTP/1.0” 404 726 260:10.10.10.10 - [10/Oct/2000:22:25:15 -0700] “GET /support.htm HTTP/1.0” 200 1056 由此可以看出Bob明显是在 4处试探我们网站WebSite但是还不定有什么违法或越轨行为不过继续查看包含这信息记录也是非常有必要 保持警惕 在进步寻找更严重攻击迹象时我们不能只盯着请求频率和请求目标比如说在监视个网络银行应用时就定要特别注意发送给transfer请求例如如果有人试图偷窥他人转帐记录那就会出现好多下面这种记录: 10.10.10.10 - [10/Oct/2000:x:x:x -0700] “GET /banking/view/transfer.jsp?id=12345 HTTP/1.0” 200 1042 10.10.10.10 0
相关文章读者评论发表评论 |