产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

NFPP技术白皮书V1.0

NFPP技术能够对设备本身实施保护,通过对报文流进行限制、隔离,以保证设备及网络可靠、安全、有效地运行。

  • 发布时间:2009-09-25

  • 点击量:

  • 点赞:

分享至

我想评论

1 前言

 

    由于计算机网络体系结构的复杂性及其开放性等特征,使得网络设备及数据的安全成为影响网络正常运行的重要问题。分析当前网络设备受到的攻击主要表现如下:

 

    拒绝服务攻击可能导致到大量消耗内存等资源,使用系统无法继续服务。

 

    大量的报文流送向CPU,占用了整个送CPU的报文通路的带宽,导致正常的控制流和管理流无法达到CPU,从而带来协议振荡无法管理,进而影响到数据面的转发。如果是核心设备将导致整个网络无法正常运行。由于大量的报文导致控制的处理消耗了大量的CPU资源,从而影响用户通过CLI对设备进行管理。

 

    在发现有攻击现象时,即使能采取一些简单的安全防护措施(如广播风暴控制)减缓设备压力,但无法及时定位发现攻击源,然后由整网设备协作制定安全策略,防止异常攻击数据影响到全网,无法从根本上杜绝网络中存在的安全问题。

 

    目前业界已开发了一些用于防攻击的功能模块(比如:ACL、QOS、URPF、SysGuard 、CPP等等),通过这些功能模块自行建立攻击检测和保护的机制,并提供对外的管理接口。但实现得不够系统,基本是针对一个问题解决一个问题,在体系上没有统一的框架。从现有的数据帧实现的流程来看,缺乏从流的主干上考虑实施防攻击保护。为了在这个日益重视安全性的环境中应对日益复杂的攻击,锐捷网络致力开发出一套完整的网络基础保护体系,称之为基础网络保护策略(Network Foundation Protection Policy),简称NFPP。NFPP技术能够对设备本身实施保护,通过对报文流进行限制、隔离,以保证设备及网络可靠、安全、有效地运行。

 

2 NFPP技术框架

 

2.1 交换机体系结构

 

    交换机的功能在逻辑上可以划分为三个层面:数据面、管理面、控制面。

 

    数据面(Data Plane):负责处理和转发不同端口上各种类型的数据,对交换机的性能表现起决定作用,如IP报文。

 

    控制面(Control Plane):控制面负责控制和管理所有网络协议的运行,它通过网络协议提供给交换机对整个网络环境中网络设备、连接链路和交互状态的准确了解,并在网络状况发生改变时做出及时的调整以维护网络的正常运行。

 

    管理面(Management Plane):管理面是提供给网络管理人员,使其能够以TELNET、WEB、SSH、SNMP、RMON等方式来管理设备,并支持、理解和执行管理人员对于网络设备各种网络协议的设置操作。

 

    针对交换机设备而言,数据的路由和交换过程主要由硬件来完成,而CPU主要对控制流、管理流和部分交换芯片无法处理的数据流进行处理,并同时提供交互界面供用户进行本地管理配置。

 

2.2 NFPP技术

 

    大量的报文流送向CPU,占用了整个送CPU的报文通路的带宽,导致正常的控制流和管理流无法达到CPU,从而带来协议振荡无法管理,进而影响到数据面的转发,如果是核心设备将导致整个网络无法正常运行。

 

    NFPP接受报文的端口或者发送到CPU通过对送往CPU的报文进行攻击检测,的场景进行安全检测,采取相应保护措施,从而达到对管理面、数据面和控制面的保护作用。

 

NFPP整体框架(见下图):

 



 

                                 图2-1

 

    NFPP整个框架可以分为软件平台和硬件平台两大部分,软件平台主要复杂报文流的分类和策略的实施,NFPP工作原理对此由详细讲述。硬件平台主要对非法用户进行硬件隔离,以达到保护cpu资源的目的。这也符合NFPP“早发现,早隔离”的原则。同时结合IPFIX(IP information Flow eXport)流量监控技术基于端口进行流量监测,帮助网络管理者快速锁定异常不安全的数据源,在网络管理平台全网下发NFPP安全策略,及早的隔离非法数据源。

 

2.2.1 攻击检测的技术

 

    对攻击的检测技术主要是通过将具体报文流的数量、内容以及来源根据预设定的条件进行判断,或者根据设备本身进行智能判断。同时可结合锐捷网络的IPFIX(IP information Flow eXport)流量监控技术,基于端口发现网络中存在的异常数据流,并上报事件到全网统一的安全管理平台,网络管理者锁定异常目标后并通过安全管理平台下发NFPP安全策略,隔绝异常数据源,从而达到全网安全防护的效果。

 

2.2.2 实施保护的技术

 

NFPP针对检测到的攻击流主要采取主动保护和被动保护措施:

 

    主动保护的技术主要是对操作对象制定某些操作行为约束,按照该约束就尽可能的避免被攻击。

 

    被动保护的技术主要是对攻击源进行抑制,抑制的方式包括拒绝、限速、隔离。

 

    保护技术还可以分为软件保护和硬件保护两类,硬件保护在前,软件保护在后。他们是一种相辅相成的关系。

 

    硬件保护可以使软件保护在尽量少占用资源的情况下更高效的执行。

 

    软件保护可以弥补硬件保护中的不足,使保护策略更加细化,更加灵活。

 

    结合IPFIX技术,将流量发送到安全事件中心,判断出攻击源后全网设备协作,共同下发NFPP安全防护策略,保证整网设备都不受到异常数据的影响,保证整网稳定。

 

2.2.3 检测、保护的过程

 

    1. 在实施保护前,检测出攻击,然后通过手动和自动(CLI、TRAP)的方式实施保护。检测出攻击后,实施保护的方法:

 

    可以通过设备提供数据信息进行人为判断的方式,在判断为攻击的情况下将实施手动保护配置;

 

    可以通过设备本身进行智能判断,而后自动的实施保护配置。对于智能判断以及自动实施保护配置,能够支持用户预配置以按照用户的意愿在过程中自动的进行。

 

    2. 所有的保护如果通过一个设备来进行,显然并不是最明智的。对于一个网络而言,需要从接入设备、汇聚设备、核心设备共同进行协作来完成保护功能。为了实现跨设备间的协作保护,主要是通过IPFIX流量监控技术传递攻击信息,并上报到安全管理平台。再由安全管理平台下发安全策略,整网协作完成保护功能。

 

    3. 相对于上述的被动保护,主动保护过程相对比较简单。主动保护往往是设备启动服务之前就已经启动了。约束的条件或者方法允许用户在设备启动服务前进行配置。

 

3 NFPP工作原理

 

3.1 NFPP保护策略

 

NFPP对报文流策略的实施可以分为三个主要的步骤:分类?入队?策略

 

3.1.1 分类

 

    流分类是指采用一定的规则识别出符合某类特征的报文。分类规则指管理员根据管理需求配置的过滤规则。

 

    首先报文的作用,将报文分为控制流,管理流和数据流三大类。

 

    然后在此基础上,依据报文的类型,将报文分为ARP, IPv4, IPv6, other四大类。

 

    最后可以继续细分到用户。如在ARP报文中还可以根据源MAC地址、源端口、vlan等相关信息来确定出某用户的ARP报文。一般的分类依据都局限在封装报文的头部信息,如,源mac,源IP,vlan,端口,TTL值,源TCP/UDP端口号、目的TCP/UDP端口号等,这样的细分,也是为了后面更有针对性的实施保护。

 

    鉴于此,NFPP不但可以在总体上对某类流进行策略的实施,还可以在细分流的基础上对某端口或某个用户进行限速甚至隔离。

 

    例如可以根据smac/sport/vlan三个特定字段对ARP类报文细分到用户的程度,这样当检测到此用户发送大量ARP报文时,就可以根据指定的策略对此用户进行限速或者隔离。

 

3.1.2 入队

 

    在整个NFPP实施的过程中,流表起到了举足轻重的作用。每一个经过分类后的报文在流表中都可以找到对应的节点。在节点结构中维护着此类报文流所对应的策略项,如限速水线,告警水线等。

 

    根据数据流的报文类型以及细分的程度,维护节点结构的队列可以分为一级流表和二级流表。他们均采用高效的哈希链进行组织,有效保证了报文收发过程中的高效率。

 

    一级流表是静态创建的,根据ARP,IPv4,IPv6,MAC Extended四个一级分类定义的所有关键字组织的,记录了最完整的流信息,一级流表对于每一个一级分类只能有一个,并且由流平台初始化静态创建。

 

    二级流表是可以由用户动态创建和删除的,是在一级流表的关键字基础上,根据某些分类规则组成的二级关键字再次组织的节点集合,允许在每一个一级分类下多个并列共存。二级流表可以支持对于扫描攻击的检测,允许用户在二级关键字基础上增加扫描字段和扫描间隔的配置。

 

3.1.3 策略

 

    经过分类的流要放入对应的队列,队列节点中不但保存着报文流的特征信息,还维护着此类流所对应的策略信息。如限速水线,告警水线,防扫描信息等。这些策略信息可以有效避免cpu资源过多的浪费在攻击报文上,保证其处理正常的控制管理等报文。

 

策略可以分为软件保护和硬件隔离

 

    软件保护是指NFPP会根据其对应的策略对报文做相应的处理,如计算报文的速度和在规定时间内接受的此类报文数量,并和其设置的策略值相比较。根据比较的结果向具体防攻击模块发出告警等通告,然后由模块判断作出相应的处理。

 

    在软件保护的基础上,硬件隔离室指,当防攻击模块收到NFPP发出的告警通告时,根据攻击的性质会做出相应的处理措施,对特定的报文流进行限制。如可以调用NFPP的底层接口对攻击源进行限速甚至硬件隔离。限速就是规定cpu在单位时间内接受此用户报文流的最大值,超过的部分进行丢弃。如果发现某用户确实是在发送大量的攻击报文,也可以将此用户进行硬件隔离,即在特定时间内不在接受此用户发出的报文。

 

3.2 NFPP的工作流程

 



 

                                   图3-1

 

    报文流被接收后就会根据预先定义好的分类规则进行流分类,这些规则和各种类型流的关键信息都保存在流数据库中。首先报文会按作用类型分发管理类,控制类,数据类三种流,并对每一种流实施攻击检测策略。然后,再按照类型对报文分成ARP,IPv4,IPv6,other四种流。如果用户还注册了更为详细的划分,此分类过程还会继续执行。等分类完成后,就会执行每一种流定义的策略。

 

    分类后的报文流进入分保护策略模块,就会根据该流的类型判断其是否超过速率限制,以决定该流的行为。保护的行为主要为:处理该限速范围的流、丢弃所有流、丢弃超过限速范围的流。配置相应的流类型将同时更新该类型到流分类及流数据库管理模块。 该模块可以进行动态的配置,配置的方法就是按照QOS的方法进行配置。

 

    然后报文流会进入攻击检测模块,这些检测机制也主要基于帧的数目,比如说检测同一目的IP每秒攻击的帧数目等。同时在检测到攻击后,将异步发送攻击消息给外部模块,消息的内容可以在注册接收时同时指定。

 

    当报文流经过各种策略保护后,将被放入报文队列。但在放入队列前要对此类型的报文在队列中所占的比例进行限制。这样可以避免某种类型的流占满队列,导致各层的报文分发器一直处理某种类型的流而使其他类型的流得不到处理。

 

    当进行完上面的操作,如果报文合法,没有被丢弃,就会送到报文队列等待后面的处理。

 

4 锐捷NFPP技术特点

 

防止多种攻击

 

    NFPP能够防止目前网络上常见的多种攻击手段,包括ARP攻击、ICMP攻击、IP扫描攻击及DHCP耗竭攻击等,形成一套完整的保护体系,为用户提供一个安全可靠的网络平台。
配置灵活方便

 

    NFPP的用户界面CLI命令设计简单方便,这样使用户无需对相关专业知识有很深认识的情况下,也能完成配置。NFPP所实现的防攻击技术如ARP防攻击、ICMP防攻击都集中在NFPP配置模式下进行配置,且对各种类型防攻击的配置基本相仿,使得用户只须熟悉其中一种配置就可以了。同时,用户可以根据实际需要选择相应功能,即可以选择打开ARP防攻击功能而关闭ICMP防攻击功能。

 

整网设备联动

 

    结合锐捷网络的IPFIX流量监控技术,可以基于端口进行流量检测,将流量发送到上层网络管理中心。一旦有异常流量,安全管理平台就立即协助网络管理者发现网络中的非法数据源,并由网络设备联动整网下发NFPP安全策略,最终杜绝攻击保证全网安全。

 

支持特权用户

 

    NFPP支持特权用户,即管理者能够设置一些可信任用户为特权用户。设置为特权用户后,就不会对该用户进行监控,即该用户不会被限速,更不会被隔离。需要注意的是,特权用户是针对某种攻击而言,即若该用户为ARP特权用户,仅表示该用户的ARP报文不受监控。

 

5 NFPP应用

 

    基于对NFPP技术原理的理解 ,在此以ARP抗攻击为例对NFPP的应用进行详细剖析,下图为NFPP对ARP攻击的处理过程:

 



 

                                  图5-1

 

5.1 设置策略

 

    由防攻击模块向NFPP框架下发策略,说明需要创建的二级流表的类型。对于一种攻击,可能会同时创建几张二级流表,以识别更多种类的攻击。例如针对ARP攻击创建的二级流表类型表示如下:

 

    per-src-ip:表示由源IP地址、vlan和物理端口组成的三元组来确定一张二级流表。

 

    per-src-mac:表示由源mac地址、vlan和物理端口组成的三元组来确定一张二级流表。

 

    per-port:表示由端口确定一张二级流表。

 

    每张二级流表都包含限速水线和攻击水线值。

 

5.2 识别攻击

 

    假设用户只开启ARP抗攻击功能,那么仅创建ARP报文的三张二级流表,该流表只对ARP报文生效。

 

    如果IP报文到达NFPP框架时,由于找不到对应的二级流表,可以直接通过,不对该报文进行监控。

 

    如果ARP报文到达,则会匹配相应的二级流表。以per-src-ip为例,会根据ARP报文的源IP、vlan和物理端口号进行匹配。

 

    如果匹配到二级流表的一条表项,则把该表项的统计值加1。

 

    如果没有则增加一条表项。然后将这个统计值与限速水线相比较,如果超过就将报文丢弃。但报文统计值依然会增加。

 

    当这个值超过攻击水线时,将打印出攻击日志,并根据配置决定是否将该源IP的用户进行隔离。

 

5.3 隔离用户

 

    当识别出攻击时,NFPP会根据用户的配置决定是否对识别出的攻击源进行隔离。攻击源一旦被隔离,它所发送的相应的报文就会被立即丢弃。

 

    这里应该注意的是:隔离操作只是隔离该攻击源发出的被识别出攻击的类型报文,而不会隔离攻击源发送的其它类型的报文。比如,用户因ARP攻击而被隔离,这时它发出的ARP报文会立即被丢弃,但它发出的IP报文则不会被丢弃。

 

    对于隔离用户有一些可操作的属性:隔离超时和解除隔离。

 

    隔离超时分为全局隔离超时和端口隔离超时,后者优先级比前者高。端口隔离超时用来支持对端口进行特殊设置。比如某个端口连接的用户攻击比较频繁,就可以将这个端口隔离超时设置为较长的时间而不改变其它端口的隔离超时。

 

5.4 实例解析

 

根据以上对ARP抗攻击的处理过程的描述,列举简单配置如下:

 

    先进入NFPP配置模式,打开arp-guard功能,根据用户需要假设设置隔离时间为300秒。对于限速水线和攻击水线都有一个默认值,每个mac地址默认的ARP限速水线为4pps,默认的ARP攻击水线为8pps,这些默认值在大部分的网络环境下是适用的,所以通常情况下,不需要修改这两个值。

 

    通过该配置,当某个用户疯狂地向设备发送ARP报文时,假设速度是每秒10000个。在1秒的时间内,NFPP在收到第一个ARP报文,送给CPU处理;收到第2个报文,发现超过限速水线1,就将它丢弃。收到第3个,丢弃;一直到9个报文时,NFPP判断到每秒收到该用户的ARP报文超过攻击水线8,就将该用户加入到隔离表中。之后的300秒内,凡是收到该用户的ARP报文就直接丢弃,不送给CPU处理,这样就保证了CPU不被非法的ARP报文占用而无法处理合法的ARP报文。

 

6 结束语

 

    目前锐捷网络产品基于NFPP框架实现ARP抗攻击功能、ICMP防攻击、IP扫瞄攻击及DHCP耗竭攻击,将来会扩展支持抵抗更多类型的攻击,使交换机的安全保护能力得到更大的提升。同时结合锐捷网络新一代IPFIX流量监控技术,可以基于端口进行流量检测,协助网络管理者发现网络中的非法数据源,并上报到安全管理中心,由网络设备联动整网下发安全策略,最终杜绝攻击保证全网安全。
 

点赞

更多技术博文

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式