我们介绍了网络监视和异常检测系统软件Ourmon,并且介绍了这种软件如何帮助你理解网络使用和发现被感染的计算机。现在让我们介绍一下这个软件的所有功能是如何工作的。
安装软件
从结构的角度看,Ourmon检测器应该连接到一台可以看到所有出入站数据包的交换机上。以便可以镜像进出外部连接端口的全部数据,并把每一个数据包的副本发给Ourmon检测软件。当然,你也可以把Ourmon安装在一个配置标准连接的工作站上,仅监视这台主机收发的数据包。
Ourmon软件在FreeBSD操作系统上运行得非常好。但是,Ourmon也可以运行在Linux和Solaris平台上。如果你要监视工作量很大(超过每秒100MB)的网络,建议你使用FreeBSD操作系统。要把Ourmon软件安装到FreeBSD操作系统中,你可以使用它的ports系统,简单运行如下命令:
cd/usr/ports/net-mgmt/ourmon&&makeinstall
要安装到Linux系统中,你要从网站下载这个软件的压缩包,并把这个软件解压缩到你选择的目录中,然后运行configure.pl脚本设置和安装这个软件。FreeBSD的ports基本上是做同样的事情,因此,这个软件的安装过程从这里开始后面的过程就完全是一样的了。
当你运行configure.pl脚本的时候,这个脚本将开始问你一些问题。你可以接受默认的选择,但是,你要注意它询问时提供的默认路径,这样你就可以知道网络和记录文件在什么地方。你还可以设置Ourmon软件安装在其它的机器上,把后端处理外包出去。你要阅读一下有关这种设置的安装手册。事实上,阅读安装手册是一个不错的主意。
软件设置
如果你选择把全部软件都安装到同一台机器上的话,Ourmon软件会添加一个“cron jobs”来进行调度管理以便频繁地运行这个程序。安装过程一结束,你要按照提示运行ourmon.sh脚本“ourmon.sh start”以避免出现cron错误。
你将发现,在Ourmon软件安装的etc/目录中有一个ourmon.conf配置文件。使用指南中提供的例子,简单地在ourmon.conf配置文件中创建一个新的BFP过滤器就完成了新的图表的创建工作。下一步,你必须进行Web目录设置和编辑index.html索引文件以便加入新的图表图像。这个过程没有什么困难,ourmon.conf设置文件和INSTALL安装文件准确地说明了如何做这个事情。一定要注意有关使用tcpdump测试BPF的建议。除非你非常熟悉BPF,否则你在一开始的时候很可能会出错。
那么,我们能够做些什么设置呢?安装文件提供了一些例子。这些例子包括增加新的图表等最普通的需求:子网图表。把通信量按每个子网分开统计是很好的。这样,你能够很快跟踪到通信的高峰和其它异常情况。还有一些例子,这些图表将仅仅受你的想象力和tcpdump设置的限制。
理解Ourmon软件的输出
在Ourmon软件开始运行之后,你将注意到这些图表开始出现内容了。在Ourmon软件运行几天之后,你将开始注意到你的网络正常状态下的通信是什么样子,并且可以推测这个网络那时没有受到攻击。在你了解你的基准到底是什么样子之前,没有任何东西是很突出的。然后,有一天你将看到每秒数据包的巨大峰值或者每秒字节的巨大峰值,或者两个都能看到。
通信流量中出现的巨大峰值可能对应着IRC报告图表的巨大峰值。如果发生这种情况,这表明你的网路受到了严重的感染或者是你在运行一个蜜罐服务器。例如,图1是不久前从PSU(包交换设备)获得的图片。
图1
这是一个每秒TCP SYN数据包的统计。从图表上看,显然是出现了什么特殊情况。原来是一台无人管理的Windows计算机被黑客控制了,并且开始运行一个bot服务器。
如果你向下滚动这个页面,你还会在IRC计数图表中看到一个大的峰值。你就知道发生了什么事情。图2是每个星期的IRC计数图表。
图2
IRC采用一个第7层“ping/pong”机制检测客户机什么时候消失。如果你的图表突然看到2000个“pong”,而正常情况下是每段时间为大约10个“pong”,这就意味着你在运行一个拥有数千台客户机的IRC服务器。即使在拥有几台合法的IRC服务器的网络上(平均为几百台客户机),也不会有接近2000个“ping”或者“pong”信息。
下一步是查看“top SYNner”报告,找到引起这个问题的计算机的IP地址,然后,拔掉那台计算机的电源。所有的峰值都降下来了,你的网络就恢复正常了。RRD图表的性质在这方面会有帮助。你可以查看一年来的情况,看看通信数据。
Ourmon图表还可以显示外部的通信。如果有人扫描你的网络中的一些计算机,TCP SYN图表就会显示出来。有些图表有“我们与他们”的概念,但是,并非所有的图标都如此。你可以按照实况演示网页中的表格上“我们”和“他们”的位置在相同的位置设置这个图表。这类图表能够在你调查异常情况时,清楚地让你看到是谁发出的这些通信。
Ourmon软件的功能大致就是这些。总之,Ourmon软件提供了网络工程师目前所没有的许多功能,如网络通信流量图表、根据子网对网络通信流量图表分段、甚至Snort软件也没有的异常检测功能等。即使使用默认的设置,Ourmon软件也是必不可少的。