第3步:继续改进 有时候我们很想看看由Bob发出,并且服务器响应代码为200的那些请求。因为那表明它获取了所请求的资源。我们可以采用如下这条命令: >egrep –n -i “bob|200” access_log 它返回的结果是出现了“Bob”或“200”的那些条目,不过这还并不能保证就一定由是Bob发出、并且响应为200的请求。它返回的结果还有不少其实并不是我们想要的。
如果我们把Bob和200同时作为搜索条件,搜索出来的结果就可以更准确一些。如果注意到Bob和200都是被空格分隔开了的话,我们还可以更进一步地改进搜索条件。另外, 注意-……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
第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 “bbobb. *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服务器的通道。另外,如果你注意一下时间戳信息的话,你就会发现他在短短一分钟内发送了三次请求,这说明他要么打字超快,要么就是在用某种自动工具。而更可能的是后一种情况,这让我们有了足够的理由进一步分析他的行为。
同时,注意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明显是在四处试探我们的网站,但是还不一定有什么违法或越轨行为。不过,继续查看包含这一信息记录也是非常有必要的。
保持警惕
在进一步寻找更严重的攻击迹象时,我们不能只盯着请求频率和请求目标。比如说,在监视一个网络银行应用时,就一定要特别注意发送给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 - [10/Oct/2000:x:x:x -0700] “GET /banking/view/transfer.jsp?id=12346 HTTP/1.0” 500 798 10.10.10.10 - [10/Oct/2000:x:x:x -0700] “GET /banking/view/transfer.jsp?id=12347 HTTP/1.0” 200 1042 10.10.10.10 - [10/Oct/2000:x:x:x -0700] “GET /banking/view/transfer.jsp?id=12348 HTTP/1.0” 500 798 |
从这里我们可以看出来,有人发现了URL里的id有机可乘,并企图通过每次给id加1看到别的转帐记录。这样的大安全漏洞肯定是你在分析日志时最希望斩获的。
作者
翻译
相关推荐
-
戴尔SonicWALL SMA 100系列更新操作系统,哪些升级值得用户期待?
全新戴尔SonicWALL SMA 100系列OS 8.5可让管理员快速且简便地提供安全的移动访问权限,以及基于角色的访问特权,因而使用智能手机、平板电脑或笔记本电脑(托管或非托管)的远程工作人员可以获得快速、简单且安全的访问,从而提高客户的安全性。
-
Linux Mint遭黑客“猴赛雷”攻击 重装是上策
上个周末,Linux Mint操作系统被攻击的消息几乎传遍了各个开源社区。一个叫Peace的黑客组织,让Linux Mint Team在新年“遇鬼”,好一阵忙活。
-
安全使用第三方应用须注意这四个问题
目前,对黑客而言,操作系统日益难以实施攻击,这主要是由于厂商或开发者对有漏洞的代码能够更好更快地打补丁。现在,第三方的应用成为企业遭受损害的主要媒介……
-
微软旧版本软件更易受到网络攻击
微软研究人员发现,Windows XP比较新版本的操作系统更容易受到网络攻击,Office 2003和IE 6同样也更容易遭受恶意攻击。