NetFlow是思科公司作为一项专有技术最先开始研发的。目前最广泛应用的是V5,V7和V9版本,支持NetFlow的厂商包括Cisco、Juniper等。Netflow提供网络流量的会话级视图,记录下每个TCP/IP事务的信息。也许它不能象tcpdump那样提供网络流量的完整记录,但是当汇集起来时,它更加易于管理和易读。
随着互联网技术的迅猛发展,网络规模空前增长,网络上的应用越来越广泛。网络的多样性给互联网用户带来了的丰富的生活体验,与此同时,网络的复杂性却增加了网络运维的管理难度,使运维人员面临诸多困难。
传统的系统升级已经无法检测并预防各类新型攻击。针对这种情况,业界提出了以检测网络数据流的方法来判断网络异常和攻击:借助实时的检测网络数据流信息,通过与历史记录模式匹配(判断是否正常)、或者与异常模式匹配(判断是否被攻击),让网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈,并进行自动处理或告警显示,以保证网络高效、可靠地运转。
Netflow提供网络流量的会话级视图,记录下每个TCP/IP事务的信息。也许它不能象tcpdump那样提供网络流量的完整记录,但是当汇集起来时,它更加易于管理和易读。Netflow由Cisco创造。
一个NetFlow流定义为在一个源IP地址和目的IP地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号。
例如:
1 |
61.*.*.68|61.*.*.195|64917|Others|9|13|4528|135|6|4|192|1 |
这一条netflow中各字段的含义如下:
源地址|目的地址|源自治域|目的自治域|流入接口号|流出接口号|源端口|目的端口|协议类型|包数量|字节数|流数量
NetFlow是思科公司作为一项专有技术最先开始研发的。目前最广泛应用的是V5,V7和V9版本,支持NetFlow的厂商包括Cisco、Juniper等。
在Netflow技术的演进过程中,思科公司一共开发出了5个主要的实用版本,即:
Netflow V1,为Netflow技术的第一个实用版本。支持IOS 11.1,11.2,11.3和12.0,但在如今的实际网络环境中已经不建议使用。
Netflow V5,增加了对数据流BGP AS信息的支持,是当前主要的实际应用版本。支持IOS 11.1CA和12.0及其后续IOS版本。
Netflow V7,思科Catalyst交换机设备支持的一个Netflow版本,需要利用交换机的MLS或CEF处理引擎。
Netflow V8,增加了网络设备对Netflow统计数据进行自动汇聚的功能(共支持11种数据汇聚模式),可以大大降低对数据输出的带宽需求。支持IOS12.0(3)T,12.0(3)S,12.1及其后续IOS版本。
Netflow V9,一种全新的灵活和可扩展的Netflow数据输出格式,采用了基于模板(Template)的统计数据输出。方便添加需要输出的数据域和支持多种Netflow新功能,如Multicase Netflow,MPLS Aware Netflow,BGP Next Hop V9,Netflow for IPv6等。支持IOS12.0(24)S和12.3T及其后续IOS版本。在2003年思科公司的Netflow V9还被IETF组织从5个候选方案中确定为IPFIX(IP Flow Information Export)标准。
——–数据参考:百度百科
一个Netflow系统包括三个主要部分:探测器,采集器,报告系统。探测器是用来监听网络数据的。采集器是用来收集探测器传来的数据的。报告系统是用来从采集器收集到的数据产生易读的报告的。
通过分析网络中flow的不同差别可以发现,他们共同拥有以下几个属性:
Netflow技术就是分析上述7个属性,快速区分网络中的不同数据流量,并且对每个数据流进行单独的跟踪和计算,记录其各方面特性。
为了和netflow技术抢占市场,其他品牌的厂商也开发了相应的流技术标准,如华为,HP,juniper等,其中比较有特点的是sflow。
sFlow最早由英蒙公司开发,从2002年起开始使用。和NetFlow一样,sFlow发送报告给采集器。不同的是,NetFlow是一个基于软件的技术,而sFlow采用了内建硬件的专用芯片。这种方法在一定程度上减轻了路由器或交换机的CPU和记忆体的负荷。
通过下表对比项可发现两种流技术的各自特点和差别:
Netflow技术几乎支持所有类型的网络接口,因此凡是具备netflow功能的网络设备如路由器、防火墙、交换机等都可以作为数据采集和传输的设备。这些传统的必备的网络设备让网络运营商不必再为使用流技术而单独采购其他流专业设备。
NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。NetFlow有两个核心的组件:NetFlow缓存,存储IP流信息;NetFlow的数据导出或传输机制,NetFlow利用此机制将数据发送到网络管理采集器。
参考:https://blog.csdn.net/denglf_09/article/details/52171724?utm_source=copy
以下是在Cisco GSR路由器GigabitEthernet10/0端口上打开NetFlow的配置实例:
1 2 3 4 5 6 7 8 9 |
ip flow-export source Loopback0 ip flow-export destination *.*.*.61 9995 ip flow-sampling-mode packet-interval 100 interface GigabitEthernet10/0 ip route-cache flow sampled |
通过该配置把流入到GigabitEthernet10/0的NetFlow数据送到NetFlow采集器*.*.*.61,该实例中采用sampled模式,采样间隔为100:1。
采样比的意思是:从100个包中抽1个,而不是从100个流中抽一个。
该案例中多个伪造的源IP同时向一个目的IP发起TCP SYN攻击。
1 2 3 4 5 |
117.*.68.45|211.*.*.49|Others|64851|3|2|10000|10000|6|1|40|1 104.*.93.81|211.*.*.49|Others|64851|3|2|5557|5928|6|1|40|1 58.*.255.108|211.*.*.49|Others|64851|3|2|3330|10000|6|1|40|1 |
该案例中多个IP同时向一个IP发起UDP攻击。
1 2 3 4 5 |
61.*.*.67|69.*.*.100|64821|as9|2|9|49064|5230|17|6571|9856500|1 211.*.*.163|69.*.*.100|64751|as9|3|9|18423|22731|17|906|1359000|1 61.*.*.145|69.*.*.100|64731|Others|2|0|52452|22157|17|3|4500|1 |
该案例中一个IP同时向随机生成的多个IP发起445端口的TCP连接请求
1 2 3 4 5 |
61.*.*.*|168.*.*.200|Others|Others|3|0|1186|445|6|1|48|1 61.*.*.*|32.*.*.207|Others|Others|3|0|10000|445|6|1|48|1 61.*.*.*|24.*.*.23|Others|Others|3|0|10000|445|6|1|48|1 |
针对UDP 137端口扫描的NetFlow数据实例
1 2 3 4 5 |
211.*.*.54|167.*.210.95|65211|as3|2|10|1028|137|17|1|78|1 211.*.*.54|167.*.210.100|65211|as3|2|10|1028|137|17|1|78|1 211.*.*.54|167.*.210.103|65211|as3|2|10|1028|137|17|1|78|1 |
1 |
2.*.33.1|1.*.97.22|as12|64811|5|2|0|0|1|146173|218359704|1 |
从NetFlow的采集数据可以看出,此异常流量的典型特征是数据包协议类型为1(ICMP),单个数据流字节数达218M字节。
1 |
211.*.*.146|211.*.*.129|Others|Others|71|8|3227|53|53|1|59|1 |
DNS正常访问请求数据包(协议类型53)如果大量发生,就会产生对DNS服务器的DoS攻击。
1 2 3 4 5 |
211.*.*.237|192.*.148.107|65111|as1|6|72|3684|80|80|3|144|1 211.*.*.237|192.*.141.167|65111|as1|6|36|4245|80|80|3|144|1 211.*.*.237|160.*.84.142|65111|as1|6|72|4030|80|80|3|144|1 |
NetFlow流数据典型特征:目的端口80, 协议类型80,包数量3,字节数144。
1 2 3 4 5 |
61.*.*.196|25.|*.156.106|64621|Others|6|36|1029|137|17|1|78|1 61.*.*.196|25.*.156.107|64621|Others|6|36|1029|137|17|1|78|1 61.*.*.196|25.*.156.108|64621|Others|6|36|1029|137|17|1|78|1 |
NetFlow流数据典型特征:目的端口137,协议类型UDP,字节数78。
1 2 3 4 5 |
61.*.*.124|28.*.17.190|65111|as1|6|34|4444|1434|17|1|404|1 61.*.*.124|28.*.154.90|65111|as1|6|70|4444|1434|17|1|404|1 61.*.*.124|28.*.221.90|65111|as1|6|36|4444|1434|17|1|404|1 |
NetFlow流数据典型特征:目的端口1434,协议类型UDP,字节数404
1 2 3 4 5 |
211.*.*.184|99.*.179.27|Others|Others|161|0|1523|135|6|1|48|1 211.*.*.184|99.*.179.28|Others|Others|161|0|1525|135|6|1|48|1 211.*.*.184|99.*.179.29|Others|Others|161|0|1527|135|6|1|48|1 |
典型特征:目的端口135,协议类型TCP,字节数48
1 2 3 4 5 |
211.*.*.91|211.*.*.77|Others|Others|4|0|0|2048|1|1|92|1 211.*.*.91|211.*.*.78|Others|Others|4|0|0|2048|1|1|92|1 211.*.*.91|211.*.*.79|Others|Others|4|0|0|2048|1|1|92|1 |
NetFlow流数据典型特征:目的端口2048,协议类型ICMP,字节数92。
基于netflow技术的绿盟安全态势感知方案可以提供有效的安全分析模型和管理工具来融合这些数据,可准确、高效地感知整个网络的安全状态以及发展趋势,从而对网络的资源作出合理的安全加固,对外部的攻击与危害行为可以及时的发现并进行应急响应,从而有效的实现防外及安内,保障信息系统安全。
数据采集层:获取与安全紧密关联的海量异构数据,包括网络flow流数据、安全设备的监测日志数据、资产的漏洞信息、配置信息等;此外还可采集恶意样本及威胁情报等相关数据。通过绿盟A接口或flume-ng将数据源的接入、收集及转发。
大数据处理层:包括数据的传输、处理、存储及服务,数据经数据采集传感器进入大数据处理层,在数据存储之前会经过1~2次的数据清洗,用来进行数据增强、格式化、解析,数据存储方式为HDFS的parquet列存储和ELASTICSEARCH的索引库,分别提供给APP用来搜索和分析使用。
应用分析层:利用大数据处理层提供的数据即时访问接口,建立相应的安全分析模型、并利用相关机器学习算法,逻辑实现相关应用分析APP。
呈现层:提取应用分析层输出的相关数据,实现APP统一的可视化呈现。
绿盟安全态势感知平台部署在企业内网,在内网的各核心路由器上部署网络入侵态势感知传感器,镜像全部网络流量,网络入侵态势感知传感器将获取的网络流量转化成Netflow,通过管理口发送给DDOS态势感知传感器做流量检测;通过FTP、POP3、SMTP协议还原,将过滤出的文件发送给APT攻击态势感知传感器做恶意文件检测。各传感器最终将检测得到的数据汇总到态势感知平台进行分析,并通过相应APP进行可视化呈现。
参考:阿里云栖社区https://yq.aliyun.com/articles/158796