详解网络流量监控
网络的行为特征可以通过其承载的流量的动态特性来反映,所以有针对性地监测网络中流量的各种参数(如接收和发送数据报大小、丢包率、数据报延迟等信息),能从这些参数中分析网络的运行状态。通过分析和研究网络上所运载的流量特性,有可能提供一条有效的探索网络内部运行机制的途径。
另外,网络流量反映了网络的运行状态,是判别网络运行是否正常的关键。如果网络所接收的流量超过其实际运载能力,就会引起网络性能下降。通过流量测量不仅能反映网络设备(如路由器、交换机等)工作是否正常,而且能反映出整个网络运行的资源瓶颈。所以,企业网中网络流量的健康程度,就如同人体中的血液一样重要。
一、网络监听关键技术
1.网络监听
网络监听是一种监视网络状态、数据流程,以及网络上信息传输的管理工具,其监听的工作流程是:监听者通过单一探针或分布式的探针,收集目标网络段数据流,通过预定的隧道汇总到远程/本地数据中心,并利用网络流量/协议分析系统完成对海量数据的初步分析和预处理,最后根据任务需求,对其中的关键数据完成识别、地理位置的定位和评估,为进一步的行动提供依据。网络监听包括两种核心技术,即数据流采集技术和网络流量/协议分析技术。数据流采集,指通过在特定位置部署网络监听探针,从监听的对象(包括单机或内网网段)处采集数据流;协议分析,通常指采用计算机人工智能与情报分析专家协同处理的方式,从海量数据中发现任务所需的关键信息,并力图在工作效率和准确性方面取得最佳平衡。
网络流量/协议分析技术能帮助网络运行维护人员充分了解和掌握网络的流量占用、应用分布、通信连接、数据包原始内容等所有网络行为,以及整个网络的运行情况,使其能在网络出现问题时,快速准确地分析问题原因、定位关键点、故障点和威胁点并进行相应处理,确保网络按预期目标运行。它能帮助我们弄清楚“网络内部的运作细节”
2. SNMP协议的不足
SNMP是RMON模型的前身。目前,SNMP是基于TCP/IP并在Internet中应用比较广泛的网管协议,网络管理员可以使用它来监视和分析网络运行情况,但是SNMP也有一些明显的不足之处。SNMP使用轮询采集数据,而在大型网络中轮询会产生巨大的网络管理报文,从而导致网络拥塞。SNMP仅提供一般的验证,不能提供可靠的安全保证。此外,SNMP也不支持分布式管理,而采用集中式管理。由于只有网管工作站负责采集数据和分析数据,所以网管工作站的处理能力可能成为瓶颈。为了提高传送管理报文的有效性,减少网管工作站的负载,满足网络管理员监控网段性能的需求,IETF开发了RMON用以解决SNMP在日益扩大的分布式互联中所面临的局限性。
3.监听关键技术
网络监听系统中包括两个方面的核心技术:数据流采集技术和网络流量/协议分析技术。与此同时,业界也存在另一种划分方法,将网络监听的关键技术概括为以下三个方面的内容:
数据流采集技术解决“如何从网络的不同位置获取我们所需要的络数据流”这一问题。从数据采集的位置看,可以分为基于网络、基于主机及混合采集三种:
(1)流量监测技术。
流量监测技术主要包括基于SNMP的流量监测和基于Netflow的流量监测。基于SNMP的流量信息采集。通过提取网络设备代理提供的MIB收集一些具体设备及与流量信息有关的变量。基于SNMP收集的网络流量信息包括输字节数、广播包数、丢包数和输出队长列长度等。
(2)基于Netflow流量信息采集。
基于网络设备提供的Netflow机制实现的网络流量采集,在此基础上实现的流量信息采集效率和效果均能够满足网络流量异常监测的需求。基于以上的流量检测技术,目前有很多流量监控管理软件,此类软件是判断异常流量流向的有效工具,通过流量大小变化的监控,可以帮助网管人员发现异常流量,特别是大流量异常流量的流向,从而进一步查找异常流量的源地址和目的地址。
(3)协议分析技术。
协议分析技术用于解决了解掌握用户具体使用了什么协议和应用,主要包括协议和应用识别、数据包解码分析等。
目前基于流量的解决方案主要分为sFlow和NetFlow两种。sFlow是由惠普和Foundry Networks联合开发它采用随机数据流采集技术,可以适应超大网络流量例如在万兆流量的环境中,进行实施分析网络传输,但是支持sFlow的硬件设备并不多,目前有惠普和FoundryNetworks以及Extreme Networks厂家的设备支持。NetFlow是思科的技术目前广泛的在各种中高端设备都支持,但目前对万兆流量支持的并不理想,它采用了定时抽样采集数据。Ntop工具的插件中就提供了sFlow和Netflow流量采集的支持。
5.协议和应用识别
根据采集的数据报报头的内容,采用基于协议自动机的流量识别技术,综合分析包括IP地址、端口号、关键字、报文格式、传输层协议等在内的多种特征,对流量进行分类并完成对各种应用层协议的准确识别,如数据库协议、使用动态端口分配的P2P、加密型或非加密型即时通信、虚拟隧道应用等都将无所遁形。
基于数据包解码的分析。首先将采集到的数据报按照报文格式定义解码为可读的数据段,然后对海量的数据段进行智能化状态模式匹配。这种技术的原理是以与会话中的客户端或者服务器端相同的方式解码,各个协议组件在识别通信数据的各个部分类型之后根据RFC定义的规则搜寻信息模式,在某些情况下可以通过在某个特定的协议域中进行模式匹配来进行,而有些则需要采用一些更加先进的技术或引入人工干预,如根据一些特定的变量(如某个域的长度或者自变量的数量)进行检测等。
6.网络数据流采集技术
掌控网络通信情况的最佳办法是对网络数据流进行全面采集。目前主要有两种类即硬件探针和软件代理。网络探针(Sensor)通常借助Hub/交换机/TAP等设备,如常见的交换机端口分析器(SPAN)功能,本书中涉及的监控部分都是利用此功能;还可采取在网段中串接TAP设备的方式;使用集线器(Hub)作为网络中心交换设备的网络为共享式网络,集线器以共享带宽的方式工作,所有接在集线器上的设备均处在一个冲突域中,因此,如果用户网络的中心交换设备是集线器,只需将监听设备与集线器相连,即可捕获整个子网中所有的数据通信。
交换机端口分析器(俗称SPAN)是平时比较常见的,且作用在交换机上的网络数据流采集端口。网络管理员配置交换机上的一个端口作为SPAN端口,然后交换机就将其指定端口/VLAN的流量复制并发送到SPAN端口,用于监听网络流量。当然是用SPAN方式也有它的不足,它工作时逼近要以牺牲交换机性能为代价(正常情况下启用SPAN后交换机CPU的使用率在10%以下,如果过半那么就不能使用SPAN方案),为了解决这个问题,在千兆速率以上的网络中要试试流量收集分析,就要用到硬件加速技术,目前比较好的是Endace公司开发的GAG系列检测卡,有兴趣的读者可以在网上深入查询。
在《开源安全运维平台-OSSIM最佳实践》一书中全部案例都用到了SPAN技术,但应该指出的是思科、华为等厂商在SPAN方面有着一些限制:
SPAN会话中目的端口只能有一个;
不同的SPAN会话目的端口只能有一个;
一般中档的思科设备通常只支持一个会话;
在安全级别和要求比较高的场合(例如多个IDS系统+多个流量分析系统并行使用的情况),会要求使用它2个以上的安全设备或者流量分析设备,这时由于交换机SPAN端口数量上的限制,无法满足要求,所以用户通常会考虑采用专用流量分析接入设备—TAP(Test Access Point)方式,而传统的SPAN可以作为补充。基于TAP的流量复制/汇聚器,它是个硬件设备,作用是支持多端口的流量汇聚,而且能做到真正的全线速,也就是能够完整的复制到多个监听端口上供多套分析系统使用。为什么它能这么强悍,因为TAP设备内部采用了硬件ASIC方式复制交换引擎,所以可以保证千兆全线速复制监听。通常部署方式是将TAP设备串联在防火墙和核心交换机之间,然后将IDS/IPS等多套安全设备接到TAP的指定端口就能实现多个安全设备同时工作的目的。下面通过表1,让读者对三者优缺有个清晰的认识
表1 HUB/SPAN/TAP 监听方法比较
在一些网络应用非常发达的大型企业中,架设用户后台使用IBM WebSphere应用,当出现问题是,运维人员会在多个交换机上创建SPAN端口,我们知道Cisco6500系列交换机只能设置2个SPAN端口,这时如果有多套监控系统就无法同时使用。而且当负载大时也无法使用SPAN,这时使用矩阵交换机就可以保证监控工具正常运行。并且能够将更多的网络嗅探工具接到上面进行分析。矩阵交换机比起TAP更多的是使用内置的过滤功能,他可以让运维人员选择特定的数据流通过指定的工具。试想一下在一个不能过滤的TAP接口中,一下子会被来自万兆通道的数据冲垮。使用了矩阵交换机的过滤功能就不会使嗅探器工具过载。
二、用Netflow分析网络异常流量
随着各种网络应用迅速增加,由此带来网络流量的激增。在这些流量中网络用户的上网行为如何?各种类型的流量如何分布?在这种情况下,可以使用NetFlow这一有效工具以满足对网络流量管理的需求,这个工具就是NetFlow。最初NetFlow是由Cisco开发,由于使用广泛,目前很多厂家都可以实现类似NetFlow的功能,如:Juniper、Extreme、Foundry、H3C。对于Cisco来说,NetFlow有多种版本,如:V5、V7、V8、V9。目前NetFlow V5是主流。因此本文主要针对NetFlowV5,这一版本数据包中的基本元素包含哪些内容呢,首先从Flow讲起。详情请参阅《开源安全运维平台-OSSIM最佳实践》。在书中不仅介绍如何部署Netflow系统,如何使用它来分析异常流量,还详细利用另一款开源工具来分析应用层的流量,最后在奉上如何预防嗅探技术的方法,全面满足你的胃口。