NFPP
作为保护交换机自身
CPU
不受攻击,不能替代防范
ARP
欺骗相关的安全功能,设备缺省支持并打开 NFPP,建议保留开启并适当调整。
调整原则:
1
、在接入设备上,通常无需调整,因为非网关设备,没有配置网关
IP
地址也不会运行一些复杂路由, 管理协议等,无需额外消耗CPU
,所以很少会遭受攻击。
2
、在汇聚设备上,默认的基于端口的限速
100PPS/
攻击
200 PPS
阈值偏小,当端口下用户较多,
ARP
攻 击较多时,可能导致用户正常的ARP
报文丢弃,导致用户端丢包,需要放大。经验值调整为每端口限速 500PPS/攻击
800PPS
较为合理,其他基于
IP/MAC
的限速攻击检测无需调整。
3
、隔离功能通常不建议开启,在汇聚设备上如果用户攻击非常频繁,导致设备
CPU80%-90%
以上,此 时可以考虑进行硬件隔离,并放大当前攻击的检测阈值,防止误判。因为一旦隔离将会导致这些攻击性 质的用户无法上网。
一、组网需求
核心设备下挂
3000
个用户,其中一个端口最大用户数为
200
个,接入交换机所携带的用户数不超过
200
,接入交换机的每个端口最大用户数
6
个,所有的接入设备都启用
DHCP Snooping+DAI
功能防
ARP
欺骗。为了防止非法攻击,占用交换机的
CPU
资源,需要调整
NFPP
的相关参数实现防攻击
接入交换机配置
1、配置交换机的防ARP欺骗功能
vlan 10 #创建vlan10
int vlan 10 #把vlan10写入数据表,并打开
no shutdown #开启vlan10
exit #退出vlan配置模式
ip arp inspection vlan 10 #把vlan10放入受信任的arp中
ip dhcp snooping #开启dhcp防窥探模式
int gi0/2 #进入接口gi0/2
switchport trunk encapsulation dot1q #封装
switchport mode trunk #打开trunk,允许多个vlan通过
ip dhcp snooping trust
ip arp inspection trust
exit
int range gi0/0-1 #把PC机划入vlan10
switchport access vlan 10
no shutdown
2
、
NFPP
功能配置
1.
全局
NFPP
配置
默认交换机的
NFPP
功能是开启的,二层交换机参数无需调整,只需将上联口
NFPP
关闭,同时由于开启
了
DA
的原因,需要调整放大
CPP
cpu-protect type arp pps 500 #如果没有使用DAI,CPP也无需调整
全局下的
NFPP
调整参数如下
log-buffer entries 1024 #设置NFPP log缓存的容量为1024条(默认是256)
log-buffer logs 1 interval 300 #为避免NFPP产生的log太多,调整每次打印一条相同log信 息的阀值为300秒
exit
2.
接口
NFPP
配置
为了防止大量网关发送的正常的相关报文(特别是网关发送的
ARP
请求或回应报文)被接入交换机误认
为是攻击被丢弃,从而导致下联用户无法获取网关的
ARP
信息而无法上网,需要将上联口的
NFPP
功能关
闭
int gi0/2 #进入gi0/2接口
no nfpp arp-guard enable #关闭接口的ARP-guard功能,接口进入的数据报文不进行NFPP检
测
no nfpp dhcp-guard enable #关闭接口的dhcp-guard功能,接口进入的数据报文不进行NFPP
检测
no nfpp dhcpv6-guard enable #关闭接口的dhcpv6-guard功能,接口进入的数据报文不进行
NFPP检测
no nfpp icmp-guard enable #关闭接口的icmp-guard功能,接口进入的数据报文不进行NFPP
检测
no nfpp ip-guard enable #关闭接口的ip-guard功能,接口进入的数据报文不进行NFPP检测
no nfpp nd-guard enable #关闭接口的nd-guard功能,接口进入的数据报文不进行NFPP检测
exit #退出nfpp配置模式
核心环境
NFPP
配置
nfpp
arp-guard attack-threshold per-port 800 #设置每个端口的攻击阀值为800个,超过此值丢弃
并打印攻击日志
arp-guard rate-limit per-port 500 #每个端口每秒限速500个arp报文,多余的ARP报
文将被丢弃(默认限速阀值是100个偏小)
log-buffer entries 1024 #设置NFPP log缓存的容量为1024条(默认256)
log-buffer logs 1 interval 300 #调整log打印频率为300S打印一次
exit
如果需要开启硬件隔离,为了防止误判,应放大限速及攻击检测的阈值。
注意:
隔离功能通常不建议开启,在汇聚设备上如果用户攻击非常频繁,导致设备
CPU90%
以上,此事可以考
虑进行硬件隔离,并放大当前攻击的检测阈值,防止误判。因为一旦隔离将会导致这些攻击性质的用户
无法上网,接入设备上不要开启
NFPP
硬件隔离。
nfpp #进入NFPP配置模式
arp-guard isolate-period 600 #超过ARP攻击阀值后,对用户进行隔离,设置隔离时
间为600秒
arp-guard attack-threshold per-src-mac 30 #设置每个mac的攻击阀值为30个,如果
交换机检测每个mac发送的ARP报文大于30个,那么交换机会把该用户放入ARP攻击表,可以对这些用户进
行硬件隔离(默认不进行硬件隔离,可以进行配置隔离时间进行隔离,设置隔离时间后会占用硬件表项资
源。默认每MAC的攻击阀值是8个)
arp-guard attack-threshold per-src-ip 30 #设置每个IP的攻击阀值为30个,如果交换
机检测每个IP发送的ARP报文大于30个,那么交换机会把该用户放入ARP攻击表,可以对这些用户进行硬
件隔离(默认不进行硬件隔离,可以进行配置隔离时间进行隔离,设置隔离时间后会占用硬件表项资源。
默认每IP的攻击阀值是8个)
arp-guard rate-limit per-src-mac 20 #每个mac每秒限速20个arp报文,多余的ARP报文
将被丢弃(默认限速阀值是4个)
arp-guard rate-limit per-src-ip 20 #每个IP每秒限29个arp报文,多余的ARP报文将被
丢弃(默认限速阀值是4个)
ip-guard attack-threshold per-src-ip 80 #设置IP攻击阀值为80ip-guard isolate-
period 600 #超过IP攻击阀值后,对用户进行隔离,设置隔离时间为600秒
查看
ARP-guard
的全局配置情况
show nfpp arp-guard summary
查看
ARP-guard
的扫描表
查看
ARP-guard
被隔离的用户
查看放入日志缓冲区的用户
版权声明:本文为apple_58078959原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。