安全实现Linux网络监控(2)
 
 
二、安装配置NTOP监控Linux网络
1 P2P对于网络流量提出挑战
如果说让Linux网络管理员最头疼的问题,恐怕大家都会回答是网络带宽匮乏了,实际情况确实如此,随着网络应用与网络软件的越来越多,占用带宽资源的服务也越来越多。我们究竟应该怎么管理网络成为一个非常严肃的问题。BT,P2P等软件吞噬着网络带宽,蠕虫等网络病毒也使网络应用变得枯竭。从某种意义上讲带宽就是钱,那么我们这些网络管理员如何有效的监视、控制公司的网络流量呢?下面笔者为读者介绍一个不可多得的监控网络流量的工具:NTOP。
1.Linux异构网络中P2P流量情况
P2P(Peer-to-Peer)是一种用于文件交换的新技术,通过Internet允许建立分散的、动态的、匿名的逻辑网络。P2P为对等连接或对等网络,点对点网络技术,可应用于文件共享交换,深度搜索、分布计算等领域。它允许个体的PC通过Internet共享文件。随着P2P文件交换应用的普及,ISP在维持和增加宽带网的收益上也面临着新的挑战和机遇。据有关资料统计,现有的网络中有超过70%的带宽被P2P通信占据着。P2P通信会导致异常的流量峰值,对网络资源造成意外的变形;所带来的网络拥塞、性能下降等问题,已影响到正常的网络应用,如WWW、Email等,缓慢的网页浏览和收发邮件速度更引起普通用户的不满。
若想控制P2P通信,就必须对P2P通信进行有效地识别,然而,许多P2P通信使用了不同的通信技术和协议,使用传统的技术来识别它们非常困难。 比如,许多P2P协议不使用固定的端口,而是动态地使用端口,包括使用一些知名服务的端口。KaZaA就是可以使用端口80(通常是http/web来使用)来通信的,从而穿透传统的基于IP和端口的防火墙和包过滤器。所以,通过简单的基于IP和端口的分类技术(分析IP包头、IP地址、端口号等)很难识别、跟踪或控制这类通信。过去有一段时间,有人使用监测6881~6889端口来识别BT(BitTorrent),但这种做法现在早已失效——BT已不再使用固定的6881~6889端口来通信,而是动态地使用端口。随着P2P应用的不断增长,更多的通信协议被使用;识别和分类P2P的技术必须快速、简单,以适应这种技术的变化。现在,识别P2P通信的方法是在应用层分析数据包,看是否有某个应用协议的特征码,然后确定通信的种类。应用层分析数据包的基本方法是,如果应用层数据包的头部有“220 ftp server ready”的特征串,可以确定是在使用ftp程序;如果有“HTTP/1.1 200 ok”的特征串,可以确定是在使用http传送数据。
2.ntop的功能
MRTG基于SNMP协议获取信息,对于端口的流量,MRTG能提供精确统计,但对于3层以上的信息则无从得知了。而这正是NTOP的强项。NTOP能够更加直观的将网络使用量的情况和每个节点计算机的网络带宽使用详细情况显示出来。ntop是一种网络嗅探器,嗅探器在协助监测网络数据传输、排除网络故障等方面有着不可替代的作用。可以通过分析网络流量来确定网络上存在的各种问题,如瓶颈效应或性能下降;也可以用来判断是否有***正在***网络系统。如果怀疑网络正在遭受***,通过嗅探器截获的数据包可以确定正在***系统的是什么类型的数据包,以及它们的源头,从而可以及时地做出响应,或者对网络进行相应的调整,以保证网络运行的效率和安全。通过ntop网管员还可以很方便地确定出哪些通信量属于某个特定的网络协议、占主要通信量的是那个主机、各次通讯的目标是哪个主机、数据包发送时间、各主机间数据包传递的间隔时间等。这些信息为网管员判断网络问题及优化网络性能,提供了十分宝贵的信息。
ntop提供以下一些功能:

1. 自动从网络中识别有用的信息;

2. 将截获的数据包转换成易于识别的格式;

3. 对网络环境中的通讯失败进行分析;

4. 探测网络环境下的通讯瓶颈;

5. 记录网络通信时间和过程。
6.自动识别客户端正在使用的操作系统.
7.可以在命令行和Web两种方式运行.
3. 主动分析避免异常流量
面对异常流量,我们应当建立一套分析系统,支持异常流量发现和报警,能够通过对一个时间段内历史数据的自动学习,获取包括总体网络流量水平、流量波动、流量跳变等在内的多种网络流量测度,并自动建立当前流量的置信度区间作为流量异常监测的基础。
如果自行建立主动型的网络分析系统一般包括:测量节点、中心服务器、数据库和分析服务器。但对于中小企业来说难度较大。主动分析是借助产品化和集成程度较高的测量工具,有目的对生产网络注入监控点,并根据测量数据流的传送情况来分析网络的性能。虽然这些监控点也会占用带宽,但和P2P下载所占用的可用带宽相比是微不足道的。 排除病毒和封锁P2P之后,一般带宽占用前两名的应用是基于网站页面的在线音频与在线视频。为了节约带宽,我们应该在工作时间段对其进行限制和封锁。
ntop和MRTG相比相比它的安装配置比较简单。目前市场上可网管型的交换机、路由器都支持SNMP协议,Ntop支持简单网络管理协议所以可以进行网络流量监控。ntop几乎可以监测网络上的所有协议: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、Netbios、TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X11、SSH和基于P2P技术的协议eDonkey, Overnet, Bittorrent, Gnutella (Bearshare, Limewire,etc), (Kazaa, Imesh, Grobster)。

4  Ntop的安装
NTOP在 [url]http://www.ntop.org[/url]  可以下载最新的源代码安装使用。NTOP可以安装在所有计算机(Linux/Unix/BSD/Windows)上,这里根据各服务器自身应用的特点,定制规则,并将收集到的信息、告警等传至网管员控制台的NTOP控制中心。运行软件需要libpcap库支持。libpcap 是 unix/linux 平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。Libpcap 提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。Libpcap 可以在绝大多数类 unix 平台下工作,Libpcap 软件包可从 [url]http://www.tcpdump.org/[/url] 下载。Windows客户端安装WinPcap( [url]http://www.winpcap.org/[/url] )它是网络数据包截取驱动程序,能够分析在线播放的流媒体直接下载地址信息类似与libpcap的包,支持Windows平台。可以进行信息包捕获和网络分析,是基于UNIX的libpcap和BPF(Berkeley 分帧过滤器)模型的包。配置NTOP的网络拓朴如图16-2,核心交换机是SmartBits 6000C。其L3+模块的NetStream功能兼容Cisco的NetFlow V5/V8格式,能够提供对业务流量数据的精确统计。使用基于Linux平台的ntop作为收集和分析NetStream数据的工具。另外还要安装以下函数库:glibc, glibc-devel ,gcc ,gdbm, binutils,ncurses,RRDTool。打开交换机SPAN端口:ntop若是架设在集线器时便能监视到网络上所有的封包。但若是架设在交换机环境下时,除非是开放SPAN的功能否则只能监测给自己的封包。所谓SPAN,是The Switched Port Analyzer的缩写,通常被称为端口镜像或端口监听。SPAN功能是基于交换机的,而交换机的原理不同于集线器:交换机在获得了源端口的MAC地址后,会将流经该MAC地址的所有数据直接发往目标端口。
    
1 配置Ntop的网络拓扑
软件安装过程:
rpm ivh  ntop-3.2-1.el4.rf.i386.rpm
然后建立日志文件目录
mkdir /var/log/ntop/
建立账号: #useradd -g ntop -s /bin/true -M ntop 初始化: /usr/sbin/ntop -P /usr/share/ntop/ -u ntop -A
启动ntop
ntop -i eth0
第一次运行系统它会要你输入管理员的密码,预设密码是:admin,第二次执行就不用再输入,如果希望系统启动时自动启动NTOP,可以这样操作:如果没有打开可以运行命令:
ntsysv
    打开终端窗口,在ntop服务选项加上*(用空格键),然后重新启动系统,这样系统会自动启动ntop监控服务。 这时你可以打开浏览器输入:[url]http://IP:3000[/url]即可打开管理界面。Ntop主页面如图2
2 ntop主界面
NTOP 的主界面,一共八个大版面,33个选项。主要包括
About: 基础知识,使用指南。
Summary : 目前网络的整体概况
l         Traffic : 流量
l         Hosts : 所有主机使用概况
l         Network Load : 各时段的网络负载
l         Netflows : 网络流量图。
All Protocols : 查看各主机占用的频宽与各时段网络使用者等的明细
l         Traffic : 流量。
l         Throughput : 频宽使用明细表 (点选主机,可以看到该主机详细的信息及使用状况)
l         Activity : 各时段所有主机使用流量(状况). (点选主机,可以看到该主机详细的信息及使用状况)
IP : 局域网络内各主机使用状况.
l         Routers : 路由器状况。
l         Ports Used : 端口使用情况
l         Active TCP Sessions : 目前正在进行的联机 。
l         Host Fingerprint : 主机快照情况。
l         Host Characterization : 主机描述。
l         Local Matrix : 局域网络内各主机间的流量明细。
           Media :监控其他网络类型。
l         FC : 光纤网络的状况 。
l         SCSI : SCSI 设备状况 。
Utils ntop的备份和日志文件。
Plugins ntop的插件。
Admin : 新增ntop 使用者或重新启动,停止ntop