当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Web服务器记录中查找黑客踪迹的方法

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 Web服务器记录中查找黑客踪迹的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 33 ::
收藏到网摘: n/a


摘要:本文主要讲述如何分析Web服务器记录,在众多记录里查找黑客攻击的蛛丝马迹,并针对当今流行的两类Web服务器给出具体的一些实例。

现今的网络,安全越来越受到大家的重视,在构建网络安全环境时,在技术手段,管理制度等方面都逐步加强,设置防火墙,安装入侵检测系统等等。但网络安全是个全方位的问题,忽略哪一点都会造成木桶效应,使得整个安全系统虚设。本文从分析Web服务器的logging记录来找出漏洞,防范攻击,从而加强Web服务器安全。

Web服务是Internet所提供最多,最丰富的服务,各种Web服务器自然也是受到攻击最多的,我们采用了很多措施来防止遭受攻击和入侵,其中查看Web服务器的记录是最直接,最常用,又比较有效的一种方法,但logging记录很庞大,查看logging记录是很繁琐的事情,如果抓不住重点,攻击线索就容易被忽略。下面就对最流行的两类Web服务器:Apache和IIS做攻击的实验,然后在众多的记录中查到攻击的蛛丝马迹,从而采取适当的措施加强防范。

1、默认的web记录
对于IIS,其默认记录存放在c:\winnt\system32\logfiles\w3svc1,文件名就是当天的日期,记录格式是标准的W3C扩展记录格式,可以被各种记录分析工具解析,默认的格式包括时间、访问者IP地址、访问的方法(GETorPOST…)、请求的资源、HTTP状态(用数字表示)等。对于其中的HTTP状态,我们知道200-299表明访问成功;300-399表明需要客户端反应来满足请求;400-499和500-599表明客户端和服务器出错;其中常用的如404表示资源没找到,403表示访问被禁止。

Apache的默认记录存放在/usr/local/apache/logs,其中最有用的记录文件是access_log,其格式包括客户端IP、个人标示(一般为空)、用户名(如果需要认证)、访问方式(GETorPOST…)、HTTP状态、传输的字节数等。

2、收集信息
我们模拟黑客攻击服务器的通常模式,先是收集信息,然后通过远程命令一步步实施入侵。我们使用的工具是netcat1.1forwindows,Web服务器ip为10.22.1.100,客户端IP为:10.22.1.80。

C:>nc-n10.22.1.10080
HEAD/HTTP/1.0
HTTP/1.1200OK
Server:Microsoft-IIS/4.0
Date:Sun,08Oct200214:31:00GMT
Content-Type:text/html
Set-Cookie:ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED;path=/
Cache-control:private

在IIS和Apache的log里显示如下:

IIS:15:08:4410.22.1.80HEAD/Default.asp200
Linux:10.22.1.80--[08/Oct/2002:15:56:39-0700]"HEAD/HTTP/1.0"2000

以上的活动看上去很正常,也不会对服务器产生任何影响,但这是通常攻击的前奏。

3、Web站点镜像
黑客经常镜像一个站点来帮助攻击服务器,常用来镜像的工具有Windows下的Teleportpro和Unix下的Wget。

下面我们看使用这两个工具后在服务器记录里的信息:

16:28:5210.22.1.80GET/Default.asp200
16:28:5210.22.1.80GET/robots.txt404
16:28:5210.22.1.80GET/header_protecting_your_privacy.gif200
16:28:5210.22.1.80GET/header_fec_reqs.gif200
16:28:5510.22.1.80GET/photo_contribs_sidebar.jpg200
16:28:5510.22.1.80GET/g2klogo_white_bgd.gif200
16:28:5510.22.1.80GET/header_contribute_on_line.gif200
16:49:0110.22.1.81GET/Default.asp200
16:49:0110.22.1.81GET/robots.txt404
16:49:0110.22.1.81GET/header_contribute_on_line.gif200
16:49:0110.22.1.81GET/g2klogo_white_bgd.gif200
16:49:0110.22.1.81GET/photo_contribs_sidebar.jpg200
16:49:0110.22.1.81GET/header_fec_reqs.gif200
16:49:0110.22.1.81GET/header_protecting_your_privacy.gif200

10.22.1.80是使用Wget的Unix客户端,10.22.1.81是使用Teleportpro的Windows客户端,都请求robots.txt文件,Robots.txt是请求没有被镜像的文件时所要用到的。所以看到有对robots.txt文件的请求,表明有镜像的企图。当然,在Wget和Teleportpro客户端,可以手工禁止对robots.txt文件的访问,这时,辨别方法可以看是否有从同一IP地址来的重复资源请求。

4、漏洞扫描
随着攻击的发展,我们可以用一些Web漏洞检查的软件,如Whisker,它可以检查已知晓的各种漏洞,如cgi程序导致的安全隐患等。下面是运行Whisker1.4的IIS和Apache的相关记录:

IIS
12:07:5610.22.1.81GET/SiteServer/Publishing/viewcode.asp404
12:07:5610.22.1.81GET/msadc/samples/adctest.asp200
12:07:5610.22.1.81GET/advworks/equipment/catalog_type.asp404
12:07:5610.22.1.81GET/iisadmpwd/aexp4b.htr200
12:07:5610.22.1.81HEAD/scripts/samples/details.idc200
12:07:5610.22.1.81GET/scripts/samples/details.idc200
12:07:5610.22.1.81HEAD/scripts/samples/ctguestb.idc200
12:07:5610.22.1.81GET/scripts/samples/ctguestb.idc200
12:07:5610.22.1.81HEAD/scripts/tools/newdsn.exe404
12:07:5610.22.1.81HEAD/msadc/msadcs.dll200
12:07:5610.22.1.81GET/scripts/iisadmin/bdir.htr200
12:07:5610.22.1.81HEAD/carbo.dll404
12:07:5610.22.1.81HEAD/scripts/proxy/403
12:07:5610.22.1.81HEAD/scripts/proxy/w3proxy.dll500
12:07:5610.22.1.81GET/scripts/proxy/w3proxy.dll500

Apache
10.22.1.80-[08/Oct/2002:12:57:28-0700]"GET/cfcache.mapHTTP/1.0"404266
10.22.1.80-[08/Oct/2002:12:57:28-0700]"GET/cfide/Administrator/startstop.htmlHTTP/1.0"404289
10.22.1.80-[08/Oct/2002:12:57:28-0700]"GET/cfappman/index.cfmHTTP/1.0"404273
10.22.1.80-[08/Oct/2002:12:57:28-0700]"GET/cgi-bin/HTTP/1.0"403267
10.22.1.80-[08/Oct/2002:12:57:29-0700]"GET/cgi-bin/dbmlparser.exeHTTP/1.0"404277
10.22.1.80-[08/Oct/2002:12:57:29-0700]"HEAD/_vti_inf.htmlHTTP/1.0"4040
10.22.1.80-[08/Oct/2002:12:57:29-0700]"HEAD/_vti_pvt/HTTP/1.0"4040
10.22.1.80-[08/Oct/2002:12:57:29-0700]"HEAD/cgi-bin/webdist.cgiHTTP/1.0"4040
10.22.1.80-[08/Oct/2002:12:57:29-0700]"HEAD/cgi-bin/handlerHTTP/1.0"4040
10.22.1.80-[08/Oct/2002:12:57:29-0700]"HEAD/cgi-bin/wrapHTTP/1.0"4040
10.22.1.80-[08/Oct/2002:12:57:29-0700]"HEAD/cgi-bin/pfdisplay.cgiHTTP/1.0"404
检查这种攻击的关键是看同一IP地址对cgi目录(IIS是scripts,Apache是cgi-bin)文件请求出现多个404状态。这时就要检查相应cgi目录里的程序安全性。

5、远程攻击
下面我们以针对IIS的MDAC攻击为例,来了解远程攻击在log里的记录情况。MDAC漏洞使得攻击者可以在Web服务器端执行任何命令。

17:48:4910.22.1.80GET/msadc/msadcs.dll200
17:48:5110.22.1.80POST/msadc/msadcs.dll200

当攻击发生后,在log会留下对msadcs.dll请求的记录。

另一个有名的攻击是asp源代码泄漏的漏洞,当这种攻击发生时,log文件会有如下记录:

17:50:1310.22.1.81GET/default.asp+.htr200

对于未授权访问的攻击记录,Apachelog会显示:

[08/Oct/2002:18:58:29-0700]"GET/private/HTTP/1.0"401462

6、总结
管理一个安全站点要求系统管理人员具备安全的常识和警惕性,从不同的渠道了解安全的知识不仅能对付已发生的攻击,还能对将会发生的攻击做到较好的防范。而通过Log文件来了解、防范攻击是很重要但又经常容易忽略的手段。

IDS(入侵检测系统)能帮助你很多,但不能完全代替安全管理。仔细检查Log,IDS所遗漏的东西,就可能在这里发现。