应用场景:
NFPP作为保护交换机自身CPU不受攻击,不能替代防范ARP欺骗相关的安全功能,设备缺省支持并打开NFPP,建议保留开启并适当调整。
调整原则:
1、在接入设备上,通常无需调整,因为非网关设备,没有配置网关IP地址也不会运行一些复杂路由,管理协议等,无需额外消耗CPU,所以很少会遭受攻击。
2、在汇聚设备上,默认的基于端口的限速100PPS/攻击200 PPS阈值偏小,当端口下用户较多,ARP攻击较多时,可能导致用户正常的ARP报文丢弃,导致用户端丢包,需要放大。经验值调整为每端口限速500PPS/攻击800PPS较为合理,其他基于IP/MAC的限速攻击检测无需调整。
3、隔离功能通常不建议开启,在汇聚设备上如果用户攻击非常频繁,导致设备CPU80%-90%以上,此时可以考虑进行硬件隔离,并放大当前攻击的检测阈值,防止误判。因为一旦隔离将会导致这些攻击性质的用户无法上网。

功能简介:
NFPP:网络基础保护策略 (Network Foundation Protection Policy),简称NFPP。在网络环境中经常发现一些恶意的攻击,这些攻击会给交换机带来过重的负担,引起交换机CPU利用率过高,导致交换机无法正常运行。这些攻击具体表现在:
拒绝服务攻击可能导致大量消耗交换机内存、表项或者其它资源,使系统无法继续服务。大量的报文流砸向CPU,占用了整个送CPU的报文的带宽,导致正常的协议流和管理流无法被CPU处理,带来协议震荡或者无法管理,从而导致数据面的转发受影响,并引起整个网络无法正常运行。大量的报文砸向CPU会消耗大量的CPU资源,使CPU一直处于高负载状态,从而影响管理员对设备进行管理或者设备自身无法运行。NFPP可以有效地防止系统受这些攻击的影响。在受攻击情况下,保护系统各种服务的正常运行,以及保持较低的CPU负载,从而保障了整个网络的稳定运行。

NFPP重点子功能介绍:(日常应用中,可能需要调整的功能为ARP-Guard和IP-Guard,其他未在本文中列出的功能,例如ND Guard、DHCP Guard保持默认设置即可)
ARP-GUARD
汇聚交换机作为网关,需要正常处理用户端的ARP报文,ARP-Guard功能主要目标为保护设备CPU,防止大量攻击ARP报文送CPU导致CPU利用率升高,所以ARP-Guard实现了对送CPU ARP报文的限速和攻击检测。ARP攻击识别分为基于主机和基于物理端口两个类别,基于主机又细分为基于源IP地址/VLAN ID/物理端口和基于链路层源MAC地址/ VLAN ID /物理端口,每种攻击识别都有限速水线例如(4PPS)和攻击告警水线(8PPS)。当ARP报文速率超过限速水线时,超限报文将被丢弃。当ARP报文速率超过告警水线时,将打印警告信息,发送TRAP,基于主机的攻击识别还可以对攻击源头采取硬件隔离措施。
ARP抗攻击还能检测出ARP扫描。ARP扫描是指链路层源MAC地址固定而源IP地址变化,或者链路层源MAC地址和源IP地址固定而目标IP地址不断变化。由于存在误判的可能,对检测出有ARP扫描嫌疑的主机不进行隔离,只是提供给管理员参考
IP-GUARD
当主机发出的报文目的地址为交换机直连网段不存在或未上线用户的IP地址时,交换机会发出ARP进行请求,如果存在这样的连续不断的攻击,会导致设备CPU高。IP-Guard可以识别此类攻击,并进行限速。攻击识别分为基于主机和基于物理端口两个类别。基于主机是采用源IP地址/VLAN ID/物理端口三者结合识别的。每种攻击识别都有限速水线和告警水线。当IP报文速率超过限速水线时,超限报文将被丢弃。当IP报文速率超过告警水线时,将打印警告信息,发送TRAP,基于主机的攻击识别还会对攻击源头采取隔离措施

一、组网需求
核心设备下挂3000个用户,需要开启NFPP实现防攻击

二、组网拓扑

三、配置要点
全局默认开启nfpp功能。

四、配置步骤
1.进入配置界面,默认开启nfpp协议
点击“安全”       ----->勾选nfpp功能(nfpp功能默认开启)



附加说明:如果用CLI命令配置,以上功能也可以通过如下命令实现:
Ruijie>en
Ruijie#conf
Ruijie(config)#nfpp        ----->全局开启nfpp功能
Ruijie(config)#end         ----->退出 

Ruijie#write         ----->保存配置

五、功能验证
1.方式一:web
通过以下界面验证功能是否开启

通过以下方式验查看防攻击列表

2.方式二:命令行
通过命令行的方式查看nfpp功能是否有开启

通过命令行的方式查看防攻击列表


3.也可通过
锐捷闪电兔快速查询获取相关功能配置信息。
方式一:电脑端登录锐捷闪电兔:
进入锐捷官网http://www.ruijie.com.cn/)--在线咨询--售后咨询版块或直接通过地址进入:http://www.sobot.com/chat/pc/index.html?sysNum=6a532efa9b3e4d2282e0dab4956d0f01&robotFlag=1

方式二:手机端公众号登录锐捷闪电兔:
添加“锐捷网络客户中心”公众号--微服务--智能机器人
查询方法:

步骤一:选择交换产品。

步骤二:在对话框中输入“产品具体型号+NFPP”并回车。

步骤三:在搜索结果中点击“NFPP”可进入查看具体配置案例。


六、NFPP常见日志分析
1)*Dec 26 13:37:10:%NFPP_ARP_GUARD-4-SCAN: Host<IP=1.1.1.1,MAC=0000.0000.0004,port=Gi4/1,VLAN=1> was detected.(2012-12-26 13:00:04)
a、日志内容最后面括号中的时间是检测到扫描的时间,事件产生的时间,但是日志打印的时间是条目最前面的时间戳;
b、该日志表示的是per-src-mac/per-src-ip检测条件的扫描水线(arp-guard rate-limit )超过阀值,告警,里面包含了MAC地址信息,端口,vlan等;
c、该日志只是一个提醒功能,不会做隔离,在网关设备带机数比较大的情况下,可能会经常报这样的类似log,如果当前运行正常,可不关注;如果影响使用,或者信息比较异常(比如报的ip根本不存在),那么需要考虑可能存在的攻击,欺骗情况
d、show nfpp arp-guard scan/hosts命令来查看具体的超告警水线,超攻击水线的用户记录。

2)*Dec 26 13:46:10:%NFPP_ARP_GUARD-4-SCAN_TABLE_FULL: ARP scan table is full.
a、ARP 扫描表只保存最新的256 条记录。当ARP 扫描表满的时候,会打印日志提醒管理员,针对该日志不需要做任何处理。
b、扫描表只是存储nfpp log的地方,如果表满了那么新的日志就会覆盖旧的日志,仅此而已,该事件对用户使用不会产生任何影响。
c、可以通过clear nfpp log命令来清空专属缓冲区的log,不影响其他日志的存储。

3)*Dec 26 13:55:10:%NFPP_ARP_GUARD-4-DOS_DETECTED: Host<IP=N/A,MAC=0000.0000.0004,port=Gi4/1,VLAN=1> was detected.(2012-12-26 13:43:04)
a、设备检测到有arp攻击的事件的日志记录,基于per-src-mac的攻击水线达到告警值,设备记录了该用户的MAC,端口,vlan信息。
b、这个信息也只是作为提醒,不会做硬件隔离,但是超过扫描阀值的部分报文会被设备丢弃,已保护cpu。
c、如果检测的信息包含的都是合法的用户,并且经过管理员确认后确认不存在攻击可能性的话,那么需要考虑是否是大用户数的情况,或者是否流量比较大,此时可能需要考虑调整arp-guard里面的各项参数到合理的值。
d、show nfpp arp-guard scan/hosts命令来查看具体的超告警水线,超攻击水线的用户记录。

4)*Dec 26 14:19:10:%NFPP_ARP_GUARD-4-ISOLATED:Host <IP=N/A,MAC=0000.0000.0004,port=Gi4/1,VLAN=1> was isolated.(2012-12-26 14:19:0)
a、管理员配置了硬件隔离功能,该用户将被隔离isolate-period时间,这段时间用户发起的任何报文都直接被硬件丢弃,不送cpu。
b、show nfpp arp-guard hosts命令可以查看被隔离的用户信息,不打*标记的用户表示已经被硬件隔离成功。

5)*Dec 26 14:23:10:%NFPP_ARP_GUARD-4-ISOLATE_FAILED: Failed to isolate host <IP=N/A,MAC=0000.0000.0004,port=Gi4/1,VLAN=1>.(2012-12-26 14:22:50)
a、当硬件隔离失败(原因通常是内存不足或者硬件资源不足)时,打印的日志信息
b、硬件隔离功能开启会消耗slice资源,每个用户占用一条ACE,整机硬件隔离的总数254个,不可调整

6)终端弹出很多nfpp的告警日志,关闭对应的arp-guard,ip-guard功能还是持续报log,交换机的console口一直弹出NFPP模块的告警日志,例如
*Dec 26 13:55:10:%NFPP_ARP_GUARD-4-DOS_DETECTED: Host<IP=N/A,MAC=0000.0000.0004,port=Gi4/1,VLAN=1> was detected.(2012-12-26 13:43:04)

通过关闭对应的arp-guard,ip-guard等功能,发现还是持续打印这个log
Ruijie(config)#nfpp
Ruijie(config-nfpp)#no arp-guard enable
Ruijie(config-nfpp)#no ip-guard enable

分析:
a、NFPP的日志缓存区的大小默认是256条,每个事件产生的log都会先存在这个缓存区,然后由打印线程每隔interval的时间从里面取number个日志消息打印出来,如果某个时间nfpp的事件集中发生,产生很多日志,那么打印调度比较缓慢(或者是管理员配置的策略导致),来不及打的日志都暂存在buffer里,这样就会造成打印的时间比nfpp事件的时间滞后。
b、注意观察就会发现每条NFPP日志最前头有一个时间戳(*Dec 26 13:55:10:),是log打印的时间,日志信息最后括号里面还有一个时间就是该nfpp事件发生的时间(2012-12-26 13:43:04)两者的时间有时候不一致,就是a中分析的情况。
c、当把nfpp功能关闭的时候,交换机不会产生新的检测事件了,但是留在nfpp log buffer里面的信息还没打印完,系统会继续打印,所以就会给管理员造成关闭nfpp功能不生效的错觉,实际配置没有问题。
d、可以通过clear nfpp log命令将缓冲区清空,就不会再打印此类log了。