根据Web服务器的记录来追踪黑客行踪

ZDNet软件频道 时间:2009-11-04 作者: | 中国IT实验室 我要评论()
本文关键词:服务器安全 Web服务器 Windows
现今的网络,安全越来越受到大家的重视,在构建网络安全环境时,在技术手段,管理制度等方面都逐步加强,设置防火墙,安装入侵检测系统等等。但网络安全是个全方位的问题,忽略哪一点都会造成木桶效应,使得整个安全系统虚设。本文从分析Web服务器的logging记录来找出漏洞,防范攻击,从而加强Web服务器安全。

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

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

  1.默认的web记录

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

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

  2.收集信息

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

  C:>nc -n 10.22.1.100 80

  HEAD / HTTP/1.0

  HTTP/1.1 200 OK

  Server: Microsoft-IIS/4.0

  Date: Sun, 08 Oct 2002 14:31:00 GMT

  Content-Type: text/html

  Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/

  Cache-control: private

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

  IIS: 15:08:44 10.22.1.80 HEAD /Default.asp 200

  Linux: 10.22.1.80- - [08/Oct/2002:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0

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

  3. Web站点镜像

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

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

  16:28:52 10.22.1.80 GET /Default.asp 200

  16:28:52 10.22.1.80 GET /robots.txt 404

  16:28:52 10.22.1.80 GET /header_protecting_your_privacy.gif 200

  16:28:52 10.22.1.80 GET /header_fec_reqs.gif 200

  16:28:55 10.22.1.80 GET /photo_contribs_sidebar.jpg 200

  16:28:55 10.22.1.80 GET /g2klogo_white_bgd.gif 200

  16:28:55 10.22.1.80 GET /header_contribute_on_line.gif 200

  16:49:01 10.22.1.81 GET /Default.asp 200

  16:49:01 10.22.1.81 GET /robots.txt 404

  16:49:01 10.22.1.81 GET /header_contribute_on_line.gif 200

  16:49:01 10.22.1.81 GET /g2klogo_white_bgd.gif 200

  16:49:01 10.22.1.81 GET /photo_contribs_sidebar.jpg 200

  16:49:01 10.22.1.81 GET /header_fec_reqs.gif 200

  16:49:01 10.22.1.81 GET /header_protecting_your_privacy.gif 200

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

  4.漏洞扫描

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

  IIS

  12:07:56 10.22.1.81 GET /SiteServer/Publishing/viewcode.asp 404

  12:07:56 10.22.1.81 GET /msadc/samples/adctest.asp 200

  12:07:56 10.22.1.81 GET /advworks/equipment/catalog_type.asp 404

  12:07:56 10.22.1.81 GET /iisadmpwd/aexp4b.htr 200

  12:07:56 10.22.1.81 HEAD /scripts/samples/details.idc 200

  12:07:56 10.22.1.81 GET /scripts/samples/details.idc 200

  12:07:56 10.22.1.81 HEAD /scripts/samples/ctguestb.idc 200

  12:07:56 10.22.1.81 GET /scripts/samples/ctguestb.idc 200

  12:07:56 10.22.1.81 HEAD /scripts/tools/newdsn.exe 404

  12:07:56 10.22.1.81 HEAD /msadc/msadcs.dll 200

  12:07:56 10.22.1.81 GET /scripts/iisadmin/bdir.htr 200

  12:07:56 10.22.1.81 HEAD /carbo.dll 404

  12:07:56 10.22.1.81 HEAD /scripts/proxy/ 403

  12:07:56 10.22.1.81 HEAD /scripts/proxy/w3proxy.dll 500

  12:07:56 10.22.1.81 GET /scripts/proxy/w3proxy.dll 500

  Apache

  10.22.1.80-[08/Oct/2002:12:57:28 -0700] "GET /cfcache.map HTTP/1.0" 404 266

  10.22.1.80-[08/Oct/2002:12:57:28 -0700] "GET /cfide/Administrator/startstop.html HTTP/1.0" 404 289

  10.22.1.80-[08/Oct/2002:12:57:28 -0700] "GET /cfappman/index.cfm HTTP/1.0" 404 273

  10.22.1.80-[08/Oct/2002:12:57:28 -0700] "GET /cgi-bin/ HTTP/1.0" 403 267

  10.22.1.80-[08/Oct/2002:12:57:29 -0700] "GET /cgi-bin/dbmlparser.exe HTTP/1.0" 404 277

  10.22.1.80-[08/Oct/2002:12:57:29 -0700] "HEAD /_vti_inf.html HTTP/1.0" 404 0

  10.22.1.80-[08/Oct/2002:12:57:29 -0700] "HEAD /_vti_pvt/ HTTP/1.0" 404 0

  10.22.1.80-[08/Oct/2002:12:57:29 -0700] "HEAD /cgi-bin/webdist.cgi HTTP/1.0" 404 0

  10.22.1.80-[08/Oct/2002:12:57:29 -0700] "HEAD /cgi-bin/handler HTTP/1.0" 404 0

  10.22.1.80-[08/Oct/2002:12:57:29 -0700] "HEAD /cgi-bin/wrap HTTP/1.0" 404 0

  10.22.1.80-[08/Oct/2002:12:57:29 -0700] "HEAD /cgi-bin/pfdisplay.cgi HTTP/1.0" 404

  检查这种攻击的关键是看同一IP地址对cgi目录(IIS是scripts,Apache是cgi-bin)文件请求出现多个404状态。这时就要检查相应cgi目录里的程序安全性。

  5.远程攻击

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

  17:48:49 10.22.1.80 GET /msadc/msadcs.dll 200

  17:48:51 10.22.1.80 POST /msadc/msadcs.dll 200

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

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

  17:50:13 10.22.1.81 GET /default.asp+.htr 200

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

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

  6.总结

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

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

用户评论
用户名
评论内容
发表时间
ZDNet网友
2011-03-18 14:57:01
ZDNet网友
2010-05-21 00:49:14
ZDNet网友
2010-05-21 00:48:00
ZDNet网友
微软应该对自己的用户负责,如果用户完全使用xp升级微软win7,为什么要付出这样麻烦的代价?都是微软出品软件,且都是利用该软件获取信息以及处理文字、多媒体功能,微软应该尽可能方便用户!虽然有时候这样的请求也许跟不上时代技术发展的脚步,但是微软不要以此为借口,认为一切都理所应当,就不可以方便用户。还是要尽力,所谓拿人手短吃人嘴软,商业不正是讲求有商道吗!至少做人需诚实守信,尽可能帮助用户顺利、安全转换操作系统、各种必须软件功能尽可能兼容以及信息尽可能的少丢失!虽然这很大程度仅仅取决于微软等计算机专家、工程师的自我自律约束,我们普通用户恐怕很难知道微软究竟仅了多大力量为用户考虑,但是我相信真相会有被发现的一天,无论多久远。 微软从某种意义上来说,就是一个类似“掌握魔方”操作特别出神入化的公司。几乎奠定了电脑主要的“规则”,但是,我却相信不久将来我们会发现,电脑依然是非常有限的一个小系统而已!随着我们新的关键材料认知突破,电脑系统会真正被另一个革命性新电脑系统所取代,不要以为我这样的说法是无稽之谈不可实现,我却认为很有可能,只看这样的情况发生究竟是快还是慢,是早还是迟!变成历史的小玩具之后的电脑系统,微软会留下良好的历史声名吗?我们拭目以待! 网友::我爱佛祖
2010-02-03 13:52:55
- 发表评论 -
匿名
注册用户

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134