NFPP配置
63.1 概述
网络基础保护策略 (Network Foundation Protection Policy),简称NFPP。
? 63.1.1 NFPP? 63.1.2 NFPP
的作用 的原理
63.1.1 NFPP的作用
在网络环境中经常发现一些恶意的攻击,这些攻击会给交换机带来过重的负担,引起交换机CPU利用率过高,导致交换机无法正常运行。这些攻击具体表现在:
? 拒绝服务攻击可能导致到大量消耗交换机内存、表项或者其它资源,使系统无法继续
服务。
? 大量的报文流砸向CPU,占用了整个送CPU的报文的带宽,导致正常的协议流和
管理流无法被CPU处理,带来协议震荡或者无法管理,从而导致数据面的转发受影响,并引起整个网络无法正常运行。
? 大量的报文砸向CPU会消耗大量的CPU资源,使CPU一直处于高负载状态,从
而影响管理员对设备进行管理或者设备自身无法运行。
NFPP可以有效地防止系统受这些攻击的影响。在受攻击情况下,保护系统各种服务的正常运行,以及保持较低的CPU负载,从而保障了整个网络的稳定运行。
63.1.2 NFPP的原理
如图1所描述的,NFPP系统处理数据流时,需要经过硬件过滤、CPU Protect Policy(简称CPP)、报文攻击检测/限速、Protocol/Manage/route流分类和集中限速等几个流程,并最终交给各个应用模块处理。 首先,需要进行CPP的分类和限速,这样CPU处理的数据流不仅根据CPP的服务分类原则进行了分类,而且这些服务报文还经过了硬件和软件的限速,从而避免了不同的服务报文之间相互抢占带宽,有效地解决了某一种服务报文的大流量攻击情况下,其他服务报文无法及时得到处理的问题。例如设备中同时存在OSPF服务报文和BPDU服务报文时,当其中某一个服务报文需要消耗大量CPU带宽的情况下,可以保证另一个服务报文的接收不受影响。
? 注意 为了最大限度地利用NFPP中抗攻击功能,请根据具体的应用环境修改CPU Protect Policy中各种服务的限速值,也可以使用系统提供的推荐配置,这些推荐值可以通过
命令show cpu-protect summary查看。
图 1. NFPP系统的数据流向图
然后,针对报文所属的服务类型,对具体的报文服务类型实施不同的监控方式和策略,NFPP提供各种服务监控水线和策略的配置,管理员可以根据具体的网络环境灵活配置某一个服务报文的告警水线和限速水线,这些水线的设置可以基于端口,也可以基于网络中的主机,这里的告警水线是指当端口或者某台主机的某种服务报文接收速率达到需要向管理员发出警告或者进行隔离的阈值;限速水线是指当端口或者某台主机的某种服务报文接收速率达到需要进行限速的阈值。告警或者隔离动作是在检测到攻击后交由抗攻击策略执行的。如果是隔离,抗攻击策略会利用硬件的过滤器实现,这样保证该攻击报文不会再被送到CPU处理,从而保证了设备正常运行。
? NFPP在检测到某种服务的某个具体报文的攻击后,可以向管理员发出告警信息,
? 注意
但是为了防止告警信息频繁出现,如果攻击流持续存在,NFPP在发出告警后的连续60秒时间内不再重复告警。
? 防止频繁打印日志消耗CPU资源,NFPP把攻击检测的日志信息写到缓冲区,然
后以指定速率从缓冲区取出来打印。NFPP对TRAP没有限速。
监控后的服务报文再经过Protocol/Manage/Route流分类,这里的分类是指将CPP中定义的各种服务按照管理类(Manage) 、转发类(Route)和协议类(Protocol)的原则进行的分类(具体分类如表1所列),每一类都拥有独立的带宽,不同类别之间的带宽不能共享,超过带宽阈值的流将被丢弃。这样将不同的服务区分类别后,可以保证属于某类的各种服务报文在设备上得到优先处理。NFPP允许管理员根据实际的网络环境灵活分配三类报文的带宽,从而保障protocol类和manage类能得到优先处理,protocol类的优先处理保证了协议的正确运行,而manage类的优先处理保证了管理员能够实施正常管理,从而保障了设备的各种重要功能的正常运行,提高设备的抗攻击能力。
表 3 三种分类原则
Protocol
三种属性分类 CPU Protect Policy中定义服务类型 (服务类型具体含义参见CPU Protect Policy配置指南) tp-guard,dot1x,rldp,rerp,slow-packet,bpdu,isis dhcps,gvrp,ripng,dvmrp,igmp,mpls,ospf, pim,pimv6,rip,vrrp,ospf3,dhcp-relay-s,dhcp-relay-c,option82,tunnel-bpdu,tunnel-gvrp unknown-ipmc,unknown-ipmcv6,ttl1,ttl0, udp-helper,ip4-packet-other,ip6-packet-other,non-ip-packet-other,arp ip4-packet-local,ip6-packet-local Route Manage 经过以上的分类限速后,再将所有的分类流集中一个队列中,这样当某一类服务处理效率较低时,队列上就会堆积该服务对应的报文,并可能最终耗尽该队列资源,NFPP允许管理员配置该队列中三类所占百分比,当某一类占用的队列长度超过总队列长度和该类所占百分比的乘积时,报文就会被丢弃。这样就有效地解决了某一类独占队列资源的问题。
63.2 配置NFPP
我们将从以下几个方面描述如何配置NFPP:
? 63.2.1 NFPP
的默认值
? 63.2.2 配置每类报文允许的最大带宽 ? 63.2.3 配置每类报文占用队列的最大百分比 ?
63.3 各种协议抗攻击
63.2.1 NFPP的默认值
管理类(Manage)的缺省流量带宽3000PPS,占用缓冲区百分比为30; 转发类(Route) 的缺省流量带宽3000PPS,占用缓冲区百分比为25; 协议类(Protocol) 的缺省流量带宽3000PPS,占用缓冲区百分比为45。
63.2.2 配置每类报文允许的最大带宽
在配置模式下,按如下步骤设置每类报文的流量带宽:
Step 1 Step 2 Step 3 Step 4 Step 5
命令 Ruijie#configure terminal Ruijie(config)#cpu-protect sub-interface { manage | protocol|route} pps pps_vaule Ruijie(config)#end Ruijie#show running-config Ruijie#copy running-config startup-config 进入全局配置模式。 设置报文对应的队列的限速水线,pps为整数。有效值范围是1-8192 退回到特权模式。 查看全局配置 保存配置。 作用 63.2.3 配置每类报文占用队列的最大百分比
在配置模式下,按如下步骤设置每种类型报文占用队列的百分比:
Step 1 Step 2
命令 Ruijie#configure terminal Ruijie(config)#cpu-protect sub-interface { manage | protocol | route} percent percent_vaule Ruijie(config)#end Ruijie#show running-config Ruijie#copy running-config startup-config 进入全局配置模式。 设置报文对应的类型所占的队列的百分比,percent _vaule为整数。有效值范围是1-100 退回到特权模式。 查看全局配置 保存配置。 作用 Step 3 Step 4 Step 5
? 注意 配置某类型所占百分比的有效值区间,必须小于等于百分之百减去其它两种类型百 分比之和的差值。
63.3 各种协议抗攻击
? 63.3.1 ARP
抗攻击
? IP防扫描 ? 63.3.3 ICMP
抗攻击 抗攻击
? 63.3.4 DHCP? DHCPv6抗攻击 ? ND抗攻击 ? 63.3.7 NFPP
日志信息
63.3.1 ARP抗攻击
63.3.1.1ARP抗攻击简介
在局域网中,通过ARP协议把IP地址转换为MAC地址。ARP协议对网络安全具有重要的意义。通过网络向网关发送大量非法的ARP报文,造成网关不能为正常主机提供服务,这就是基于ARP的拒绝服务攻击。对于这种攻击,防范措施是一方面对ARP报文限速,另一方面检测出攻击源,对攻击源头采取隔离措施。 ARP攻击识别分为基于主机和基于物理端口两个类别。基于主机又细分为基于源IP地址/VLAN ID/物理端口和基于链路层源MAC地址/ VLAN ID /物理端口。每种攻击识别都有限速水线和告警水线。当ARP报文速率超过限速水线时,超限报文将被丢弃。当ARP报文速率超过告警水线时,将打印警告信息,发送TRAP,基于主机的攻击识别还会对攻击源头采取隔离措施。 ARP抗攻击还能检测出ARP扫描。ARP扫描是指链路层源MAC地址固定而源IP地址变化,或者链路层源MAC地址和源IP地址固定而目标IP地址不断变化。由于存在误判的可能,对检测出有ARP扫描嫌疑的主机不进行隔离,只是提供给管理员参考。 需要说明的是,ARP抗攻击只是针对攻击交换机本身的ARP拒绝服务服务攻击,而不是针对ARP欺骗或者是解决网络中的ARP攻击问题。 ARP抗攻击的配置命令包括:
? 63.3.1.1.1 打开ARP抗攻击功能 ? 63.3.1.1.2 设置对攻击者的隔离时间 ? 63.3.1.1.3 设置对攻击者的监控时间 ? 63.3.1.1.4 设置受监控主机的最大数目 ? 63.3.1.1.5 基于主机限速和识别攻击 ? 63.3.1.1.6 基于端口限速和识别攻击 ? 63.3.1.1.7 清除受监控 ? 63.3.1.1.8 清除ARP扫描表
? 63.3.1.1.9 查看ARP抗攻击的相关信息