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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 57 ::
收藏到网摘: 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所遗漏的东西,就可能在这里发现。