首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>网络安全>文章内容
用MRTG在IIS 6.0上实现入侵检测功能
来源:xfocus.net 作者:yangshulei 发布时间:2004-09-11  

用MRTG在IIS 6.0上实现入侵检测功能

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目录下。

在你的Inetpub目录下为MRTG建立一个子目录。为了安全,不要建立在wwwroot目录下。然后,使用IIS建立一个MRTG的新站点。如果可能的话,最好能为MRTG站点配置一个主机头和一个独立的IP。也可以在一个已存在的目录下为MRTG站点建立一个合法的虚拟目录,也能达到同样的目的。

注意,在新建立的MRTG站点不要运行可执行的脚本,只提供只读访问。在NTFS下,要注意对用户的权限的设置。如果可能的话,最好对指定MRTG站点的IP来选择特定的主机。

现在,就可以把配置文件放到C:\Program Files\MRTG\Bin下了,并把index.html 文件拷贝到你的\Inetpub\MRTG 目录下。

下面,我们来测试一下,在命令提示符下输入:

C:\ProgramFiles\MRTG>perl mrtg mrtg.cfg

如果一些正常的话,就会在在你的MRTG站点就有了一些配置文件。如果安装失败,你可以回顾一下你安装的步骤,是否有错误,并参考MRTG 的参考手册。

五,具体配置SNMP计数器

图1为我所配置的MRTG的以及所获得流量的截图:

尽管微软提供了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更多的信息。


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·一句话木马
·samcrypt.lib简介
·教你轻松查看QQ空间加密后的好友
·web sniffer 在线嗅探/online ht
·SPIKE与Peach Fuzzer相关知识
·asp,php,aspx一句话集合
·Cisco PIX525 配置备忘
·用Iptables+Fedora做ADSL 路由器
·检查 Web 应用安全的几款开源免
·Md5(base64)加密与解密实战
·NT下动态切换进程分析笔记
·风险评估中的渗透测试
  相关文章
·改mdb为asp所带来的灾难
·企业客户端补丁管理框架
·使用Honeypots 同Internet 蠕虫
·打造Linux下超级安全的LAMP服务
·无线入侵检测系统
·凯撒密文的破解编程实现
·浅谈MYSQL跨库查询
·UNIX入侵检测方法
·Loadable Kernel Modules 注射
·补丁管理最佳安全实践之资产评估
·使用 OpenSSL API 进行安全编程
·小议脚本变形
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved