摘要:为解决万兆校园网出口海量数据的采集、用户上网日志明细的快速查询以及入侵检测的问题,基于NetFlow、Nfdump、Nfsen和Nfsight构建了一套万兆校园网出口流量日志采集分析系统,既实现了对NetFlow单向流的处理,也实现了对双向流的重构,因而相较传统的NetFlow流量分析系统易于识别网络异常行为。此外,联动计费系统与校园网出口流量日志采集分析系统开发了万兆校园网上网日志明细查询系统,该系统能在10s内为校园网用户提供详细的上网明细,也能诊断和监测网络攻击行为,以及配合安全监管部门定位某一上网行为的用户身份。本系统提供了简单直观的Web及图形化查询界面。
随着新技术和新应用的发展,互联网使用模式已经发生了显著变化,目前,网络视频、网盘、P2P及移动App等新应用占据了大量网络带宽。为提高用户上网体验,大学校园网出口已进入到万兆网络时代。万兆网络产生的大流量上网日志数据对网络管理人员提出了诸多新的管理要求,通过构建校园网上网日志查询及入侵检测系统,将出口的流量进行采集、汇总和分析,了解校园网用户的上网行为,包括流量构成、协议分布和用户活动情况,按需为用户提供上网日志明细查询,以及校外用户对校内资源的访问情况(特别是危险的访问),将对规范网络管理、合理分配网络带宽、增强信息安全以及确保校园网络环境的平稳,具有重要意义[1]。
现有校园网出口一般包括计费、流控、防火墙、负载均衡或路由器等设备或系统,有些高校为备查另外部署了上网行为审计系统,但这些系统提供的原始日志信息相互独立、格式不统一、信息不够完整、存储量大、查询缓慢、流量信息与计费流量有较大差距等原因难以直接用之实现以上的目标。为此,本文利用NetFlow+Nfdump+Nfsen+Nfsight搭建了校园网出口流量日志采集分析系统,并融合校园网计费管理系统,自主开发了一套万兆校园网上网日志查询及入侵检测系统,集流量采集、存储、查询、分析于一体,既能快速对校园网用户提供详细的上网明细,又能诊断和监测网络攻击行为或备查安全事件,并提供了简单直观的Web及图形化查询界面。
相关技术
网络流量数据的收集和分析有多种解决方案,而NetFlow技术是高速网络中常用的一种方法,它在提供数据细节以及可扩展性上具有较好的平衡性,且不会成为网络的瓶颈或故障点[2-3]。NetFlow是由Cisco公司研发的一种流量监控技术,数据流为单向流,包含有:源地址和目的地址、源端口和目的端口、协议类型、字节数、包数量和流数量等。本文在中国农业大学校园网出口的两台万兆Juniper SRX3400防火墙内口上配置了NetFlow并将接口的数据流通过UDP方式发往校内的日志服务器。
目前有很多命令行或图形化的日志处理工具可供管理员对日志服务器接收到的NetFlow数据流进行读或过滤查询操作,本文在日志服务器上配置日志处理工具Nfdump及Nfsen(含Nfsight)用于接收和分析NetFlow数据流,并将其存储至文件及数据库中。
Nfdump是一款被使用最多的Netflow命令行工具,具有执行速度快、同时支持IPv4和IPv6、过滤查询功能强大的特点。但命令行显示不够直观明了,本文因而选取并配置了Nfsen工具作为NetFlow的可视化查询工具[4-9],它使用Nfdump工具包收集及处理NetFlow数据流,但较Nfdump多了可视化查询功能,简单且易于扩展。
NetFlow采集数据时会将单个逻辑流分成多个分开的单向流,其并不能保持对客户机(Client)和服务器(Server)间逻辑网络会话的跟踪。无论是命令行的Nfdump,还是图形化的Nfsen,都仅对NetFlow单向流进行处理操作,不易对一些较为隐蔽的攻击进行识别。为解决此问题,本文进一步引入了美国马里兰大学与AT&T实验室共同研发的Nfsight,它作为Nfsen的插件存在,用于将NetFlow的单向数据流构建为双向数据流,并可提供Client/Server识别及入侵检测功能[10]。
Nfsight的工作原理如图1所示,描述如下:服务检测组件(Service Detector)获取NetFlow数据流,通过推理判断网络会话的Client和Server,从而将单向流转化为双向流,并保存至文件中,同时,将Client和Server信息保存至MySql数据库;入侵检测组件检测双向流中可疑或频繁的网络行为,将其和事件通知一并写入MySql数据库;聚合脚本周期性执行用于维护数据库,其提供了每5分钟、每小时和每天三个层次的数据聚合;可视化查询提供过滤查询及图形化显示网络行为的Web用户界面。
服务检测组件在将单向流转化为双向流的过程中,Client和Server的区分是其中的一个难点问题。Nfsight在一个采集周期里(本系统设置5分钟采集一次),通过启发式推理和贝叶斯推理的算法实现了Client和Server的区分。过程如下:
1.Nfsight合并源、目的IP(含端口)相同的数据流。
2.Nfsight进一步合并源IP、目的IP(含端口)相反的数据流。
3.Nfsight通过启发式推理辨识网络事务中的Server和Client端。Server相较Client的判断条件有:时间戳(timestamp)较大、端口较小、端口小于1024、端口在unix或linux的/etc/services中有定义、终端端口或IP为固定值等。
4.在不易区分Server端(例如时间戳相同或端口相同的情况)时,则利用贝叶斯推理将过程3的各类启发式推理的结果进一步进行综合,通过概率计算识别Server端。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。