一、面临的问题
入侵检测系统(Intrusion Detection System, IDS)是近两年热起来的安全产品,它在网络安全体系中所发挥的作用是可以检测到入侵行为并报警。这里所说的入侵行为涵盖范围很广,不仅包括黑客攻击,还包括各种网络异常行为,如内部网络机密信息泄漏和非法使用网络资源等等。
为了保障网络的安全,要使用很多安全产品,有防病毒、防火墙、服务器安全加固、加密传输和身份认证等等。和它们相比,IDS具有更多的智能特性,能够判定出网络入侵行为并报警和实时阻断。
但是这两年,厂商、媒体和网站一直是从正面宣传IDS的功能,却回避IDS的缺陷。在众多的缺陷中,交换机的数据镜像、VLAN给网络入侵检测系统(NIDS)的运用带来很大的麻烦。而众多的IDS厂商却避而不谈,这必然会误导用户,使用户无法实现自身安全价值的最大化。
二、问题的分析
由于共享式集线器(HUB)可以进行网络监听,将给网络安全带来极大的威胁,故而现在网络,尤其是高速网络基本上都采用交换机(Switch),从而给网络入侵检测系统的网络监听带来麻烦。
1.问题之一:交换机端口镜像
要了解入侵检测系统在交换机环境中监听的问题,需要了解集线器和交换机在工作原理上的不同。集线器没有连接的概念,而是将每一个数据包发送到集线器的除了该数据包进来的端口外的每一个端口。然而,交换机是基于连接,当交换机上的一个临时连接进来一个数据包时,交换机会将数据包发送给连接的目的端口,接着从目的端口转发出去。所以在集线器环境中,我们能够将网络入侵检测系统的传感器接在任意端口;而对于交换机,必须确信传感器能够“看”到所需的网络流量。
这时就需要在交换机上设置专门监听端口。监听端口是交换机上配置的一个非凡端口,SPAN(Switch Port Analyzer)通常用来察看网络的使用情况,SPAN端口通常也被称为监听(Spy)端口或镜像(Mirror)端口。
交换机会将指定端口的通信数据镜像到该监听端口,这样网络传感器就可以捕捉到指定端口的数据。例如图1所示,我们为了监听交换机和资源主机之间的连接,就需要告诉交换机将资源主机的端口的数据镜像到IDS的端口。这种方法可以对传输的数据、接收的数据和上述两者起作用。某些交换机不支持镜像端口功能,某些交换机不能将100%的数据传输给镜像端口,因此即使IDS配置了针对特定攻击的检测规则,该攻击也会被漏掉。而且,交换机在同一时刻,只能镜像一个端口,所以监控多个机器将会变得很困难和不可能。
此外,在交换环境,端口镜像还有如下缺陷:
●通常连接到交换机时都是全双工的,即在100MB的交换机上双向流量可能达到200MB,但监听端口的流量最多达到100MB,从而导致交换机丢包;
●为了节省交换机端口,很可能配置为一个交换机端口监听多个其它端口,在正常的流量下,监听端口能够全部监听,但在受到攻击的时候,网络流量可能加大,从而使被监听的端口流量总和超过监听端口的上限,引起交换机丢包;
●一般的交换机在负载较大的时候,监听端口的速度赶不上其它端口的速度,从而导致交换机丢包。假如一个监听端口要监听所有交换机端口的数据,那么交换机的丢包现象会更加严重;
●增加监听端口即意味做需要更多的交换机端口,这可能需要购买额外的交换机,甚至修改网络结构(例如原来在一台交换机上的一个VLAN现在需要分布到两台交换机上);
●不同厂商、不同型号的交换机对镜像端口支持功能的强弱是不同的。有的交换机能够将任意端口设置为镜像端口,有的交换机只能将某个端口设置为镜像端口(如端口1);有的交换机在镜像端口上可以监听所有端口的数据,有的交换机在镜像端口上同时只能监听某一个端口;
●支持监听的交换机比不支持的交换机要贵许多,很多网络在设计时并没有考虑到网络监听的需求,购买的交换机并不支持网络监听,或者监听性能不好,从而在预备安装NIDS的时候需要更换交换机。