计算机网络安全资讯站点
文字横幅以及760*60黄金广告位置招租,欢迎恰谈! 广告业务联系QQ:8019399 声明:在本站所投放广告内容均与本站立场无关!

您现在的位置: 中国安全在线 >> 攻防技术 >> 安全防御 >> 文章正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
局域网中解决盗用MAC地址上网问题
使用Magic Winmail 来提升权限
利用Mysql入侵服务器的经历
phparticle 2.0注入漏洞测试分析
用Snort巧妙检测SQL注入和跨站脚本
用MRTG在IIS 6.0上实现入侵检测功能
作者:佚名 来源:安全在线 更新时间:2005-8-20 【字体:
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论

阅读提示:       MRTG(Multi Router Traffic Grapher)是一个跨平台的监控网络链路流量负载的工具软件,目前它可以运行在大多数Unix系统和Windows NT之上。它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。

      或许你还不知道,MRTG还是一个有效的入侵检测工具。大家都知道,入侵者扫描与破坏后都能生成一些异常的网络流量,而人们在一般情况下是意识不到的。但是MRTG却能通过图形化的形式给管理员提供入侵的信息。并可以查出数周之前的入侵信息,以备管理员参考。 


    一,攻击行为对服务器造成的信息

    1,攻击者使用CGI漏洞扫描器对潜在的CGI漏洞脚本进行扫描时,HTTP 404 Not Found errors的记录会增长。

    2,攻击者尝试暴力破解服务器上的帐户,HTTP 401 Authorization Required errors 的记录会增长。

    3,一种新的蠕虫出现,某一个特定的协议的流量会增长。

    4,蠕虫通过傀儡主机,攻击其他的服务器,出外的流量增加,并增大CPU的负荷。

    5,入侵者尝试SQL injection攻击,HTTP 500 Server Errors记录会增长。

    6,垃圾邮件发送者在网络上寻找中继SMTP服务器来发送垃圾邮件,会造成SMTP的和DNS lookups流量大增,同时造成CPU负荷增大。

    7,攻击者进行DDOS攻击,会造成ICMP流量,TCP连接,虚假的IP,多播广播流量大增。造成浪费大量的带宽。


     看完上面的,我们可以总结出,攻击者要入侵必须会影响到服务器的这些资源:: CPU, RAM,磁盘空间,网络连接和带宽。入侵者还有可能对服务器建立进程后门,开放端口,他们还对他们的入侵行为进行伪装掩盖,避免遭到入侵检测系统的监视。 

     二,攻击者使用以下的方法避免被检测到:

  1,探测扫描很长时间后,才进行真正的入侵进攻。

  2,从多个主机进行攻击,避免单一的主机记录。
  
  3,尽量避免入侵造成的CPU, RAM和驱动器的负荷。

  4,利用管理员无人职守时入侵,在周末或者节假日发起攻击。

    三,对于IIS 6,我们需要监视的是

   1,网络流量,包括带宽,数据包,连接的数量等。

   2,网络协议的异常错误。
  
   3,网站的内外流量,包括用户的权限设置,外部请求的错误流量等。

   4,线程和进程。

     四,在Windows 2003下安装MRTG

      在使用MRTG之前,你需要在你的服务器里安装SNMP 服务。具体步骤如下:从控制面板中选择添加/删除程序,点击添加和删除windows组件。管理和监视工具中的详细资料里就可以找到简单网络管理协议,即可安装。

      安装成功后,你需要立刻安全配置一下,我们大家都知道,SNMP在网络上决不是一个安全的协议,你可以通过http://support.microsoft.com/?kbid=324261这个连接来具体了解。但是我们只是在本地使用SNMP,但是还是建议你通过防火墙屏蔽SNMP的161与162端口和使用IPSec。并且要配置为obscure community string。在管理工具中,在服务中选择安全,设为只读访问。尽管community string安全问题不多,但是你还是要避免使用community string为只读访问。


      MRTG是一个用Perl编译的C程序。你还要安装ActivePerl来解决支持脚本的问题。下载最新的MRTG。可以到http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/下载,
注意要选择.zip的文件下载。这篇文章所使用的版本请到http://securityfocus.com/microsoft/images/burnett_MRTG_files.zip下载。
把MRTG解压到C:\Program Files\MRTG目录下。
安装Perl的过程其实很简单。首先打开PERL的安装文件 ,点下一步,然后同意软件使用权的协议,下一个画面会让您确认是否使用[PPM3发送个人信息至ASPN],还是省着点儿,不要选它,直接按下一步。然后就是下一步直通车,直至Perl安装成功。

由于MRTG是一个Perl写的程序,不需要安装,稍后有些安装过程需要在DOS里面完成,所以建议解压的路径为C:\MRTG。

下面给出详细的安装步骤:

1.   运行cmd,进入DOS窗口;

   c:\>cd\MRTG\bin 进入刚才解压的MRTG目录,准备执行命令;

    使用perl MRTG 命令测试MRTG是否正确;

   执行命令行perl cfgmaker caacnetwork@10.3.0.20 --global "WorkDir: C:\Inetpub\wwwroot\MRTG" --output caacnetwork.cfg

caacnetwork.cfg是输出配置文件,位置在MRTG\bin。   workdir内是MRTG生成的网页文件。本例指定在IIS默认目录。

caacnetwokr@10.3.0.20 注释: caacnetwork是团体名, 10.3.0.20是IP地址。

当有多个设备要监控时,用下面的命令:
perl cfgmaker caacnetwork@ip1 caacnetwork@IP2  community@ip3 --global "WorkDir: C:\Inetpub\wwwroot\MRTG" --output caacnetwork.cfg

2.为了让MRTG每个五分钟监视一次,在DOS下MRTG\bin目录用下面的命令:

(1)echo RunAsDaemon:yes>>caacnetwork.cfg
(2)echo Interval:5>>caacnetwork.cfg

3.使用indexmaker生成报表首页:
perl indexmaker caacnetwork.cfg>c:\Inetpub\wwwroot\MRTG\index.htm

4.运行MRTG:
perl MRTG --logging=caacnetwork.log caacnetwork.cfg

访问c:\Inetpub\wwwroot\MRTG\index.htm检查MRTG是否可以正常工作,生成统计图形。

5.将MRTG 配置为系统服务

使用windows 2003 resource kit中的Instsrv.exe和srvany.exe。首先安装win2003 rerouse kit
将srvany.exe拷贝到c:\MRTG\bin 目录

1.添加srvany.exe为服务
instsrv MRTG "c:\MRTG\bin\srvany.exe"
2. 配置srvany:
在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG中,添加一个parameters子键。在该子键中添加以下项目:
Application的字串值,内容为c:\perl\bin\perl.exe ---该值为perl程序目录。
AppDirectory的字串值,内容为c:\MRTG\BIN\ ----该值为MRTG程序目录。
AppParameters的字串值,内容为MRTG --logging=caacnetwork.log caacnetwork.cfg。

3.管理工具---服务中,找到MRTG服务,启用服务。

MRTG就可以全天监视制定主机的网络信息了。

        
      五,具体配置SNMP计数器
 
      尽管微软提供了SNMP的计数器,但是我发现它对一些应用程序支持有些问题,然而,MRTG却能从很多的应用程序中得到消息。但是我们通过Windows Management Instrumentation (WMI) 也能得到包括所有的计数器的性能信息。同SNMP不同的是,微软在WMI下了很大的时间和金钱。比如:我想得到关于线程和进程的信息,我可以使用以下的脚本轻易实现:

Set oWService=GetObject("winmgmts:\\localhost\root\cimv2")
Set colItems=oWService.ExecQuery("SELECT * FROM Win32_PerfFormattedData_PerfOS_System",,48)

For Each Item in colItems
    Param1=Param1 + Item.Processes
    Param2=Param2 + Item.Threads
    Uptime=Item.SystemUptime
Next

WScript.Echo Param1
WScript.Echo Param2
WScript.Echo Uptime & " seconds"
WScript.Echo "LocalHost"

Another problem I had was getting detailed or custom web statistics through either SNMP or WMI. To solve that, I used Microsoft's LogParser tool to run custom queries from a simple batch file:

@for /f "tokens=1,2,3,4* delims=/ " %%i in ('date /t') do @set year=%%l&& @set month=%%j&& @set day=%%k
@set logfile=c:\windows\system32\LogFiles\%1\ex%YEAR:~2,2%%month%%day%.log
@If Exist %logfile% (
     @logparser "SELECT COUNT(*) FROM %logfile% WHERE (sc-status>= 400AND sc-status<500)
     AND TO_TIMESTAMP(date, time) > SUB(SYSTEM_TIMESTAMP(), TO_TIMESTAMP('5','m'))" -q
     @logparser "SELECT COUNT(*) FROM %logfile% WHERE (sc-status>= 500AND sc-status<600)
     AND TO_TIMESTAMP(date, time) > SUB(SYSTEM_TIMESTAMP(), TO_TIMESTAMP('5','m'))" -q
) ELSE (
     @Echo %logfile%
     @Echo 0
)
@Echo Unknown
@Echo %1

     因为微软的日志记录工具也非常强大,和MRTG的计数器配合使用,在加上免费的入侵检测系统Snort,效果会更好。
          
     六,最后

     在你自定义的完你的计数器完成之后,通过图行化的状况就可以轻易的找出入侵者。可以在网站http://snmpboy.msft.net看到在Windows 2003 server中的snmp更多的信息。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力

文章录入:ls1238    责任编辑:ls1238 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系方式 | 友 情链接 | 关于我们 | 网站留言 |
    Copyright ?2003-2007 www.cnsafer.com All Rights Reserved.
    如有意见请与我们联系 Email:admin#mail.cnsafer.com 联系QQ:8589101
    友情提示:建议使用IE6.0版本, 分辩率1024*768进行浏览
    中国安全在线 敢想 敢做 挑战自我 努力做最好
    中网科技有限公司 技术支持 鄂ICP备05006475号