NFPP配置
63.1 概述
网络基础保护策略 (Network Foundation Protection Policy),简称NFPP。
⏹ NFPP的作用
⏹ NFPP的原理
63.1.1 NFPP的作用
在网络环境中经常发现一些恶意的攻击,这些攻击会给交换机带来过重的负担,引起交换机CPU利用率过高,导致交换机无法正常运行。这些攻击具体
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
现在:
⏹ 拒绝服务攻击可能导致到大量消耗交换机内存、表项或者其它资源,使系统无法继续服务。
⏹ 大量的报文流砸向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 三种分类原则
三种属性分类
CPU Protect Policy中定义服务类型
(服务类型具体含义参见CPU Protect Policy配置指南)
Protocol
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
Route
unknown-ipmc,unknown-ipmcv6,ttl1,ttl0, udp-helper,ip4-packet-other,ip6-packet-other,non-ip-packet-other,arp
Manage
ip4-packet-local,ip6-packet-local
经过以上的分类限速后,再将所有的分类流集中一个队列中,这样当某一类服务处理效率较低时,队列上就会堆积该服务对应的报文,并可能最终耗尽该队列资源,NFPP允许管理员配置该队列中三类所占百分比,当某一类占用的队列长度超过总队列长度和该类所占百分比的乘积时,报文就会被丢弃。这样就有效地解决了某一类独占队列资源的问题。
63.2 配置NFPP
我们将从以下几个方面描述如何配置NFPP:
⏹ NFPP的默认值
⏹ 配置每类报文允许的最大带宽
⏹ 配置每类报文占用队列的最大百分比
⏹ 各种协议抗攻击
63.2.1 NFPP的默认值
管理类(Manage)的缺省流量带宽3000PPS,占用缓冲区百分比为30;
转发类(Route) 的缺省流量带宽3000PPS,占用缓冲区百分比为25;
协议类(Protocol) 的缺省流量带宽3000PPS,占用缓冲区百分比为45。
63.2.2 配置每类报文允许的最大带宽
在配置模式下,按如下步骤设置每类报文的流量带宽:
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#cpu-protect sub-interface { manage | protocol|route} pps pps_vaule
设置报文对应的队列的限速水线,pps为整数。有效值范围是1-8192
Step 3
Ruijie(config)#end
退回到特权模式。
Step 4
Ruijie#show running-config
查看全局配置
Step 5
Ruijie#copy running-config startup-config
保存配置。
63.2.3 配置每类报文占用队列的最大百分比
在配置模式下,按如下步骤设置每种类型报文占用队列的百分比:
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#cpu-protect sub-interface { manage | protocol | route} percent percent_vaule
设置报文对应的类型所占的队列的百分比,percent _vaule为整数。有效值范围是1-100
Step 3
Ruijie(config)#end
退回到特权模式。
Step 4
Ruijie#show running-config
查看全局配置
Step 5
Ruijie#copy running-config startup-config
保存配置。
注意
配置某类型所占百分比的有效值区间,必须小于等于百分之百减去其它两种类型百分比之和的差值。
63.3 各种协议抗攻击
⏹ ARP抗攻击
⏹ IP防扫描
⏹ ICMP抗攻击
⏹ DHCP抗攻击
⏹ DHCPv6抗攻击
⏹ ND抗攻击
⏹ 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抗攻击的配置命令包括:
⏹ 打开ARP抗攻击功能
⏹ 设置对攻击者的隔离时间
⏹ 设置对攻击者的监控时间
⏹ 设置受监控主机的最大数目
⏹ 基于主机限速和识别攻击
⏹ 基于端口限速和识别攻击
⏹ 清除受监控
⏹ 清除ARP扫描表
⏹ 查看ARP抗攻击的相关信息
63.3.1.1.1 打开ARP抗攻击功能
您可以在nfpp配置模式或者接口配置模式下打开ARP抗攻击功能,缺省情况下是打开的。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#arp-guard enable
全局打开ARP抗攻击功能,缺省情况下打开。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp arp-guard enable
在端口上打开ARP抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp arp-guard summary
核对配置参数
Step 10
Ruijie#copy running-config startup-config
保存配置。
注意
当关闭ARP抗攻击功能时,系统将自动清除受监控的主机和扫描主机。
63.3.1.1.2 设置对攻击者的隔离时间
对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#arp-guard isolate-period [seconds | permanent]
配置对攻击者的全局隔离时间。
取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。
Step 4
Ruijie(config-nfpp)#end
返回特权模式
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp arp-guard isolate-period [seconds | permanent]
在端口上配置对攻击者的隔离时间。
取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp arp-guard summary
核对配置参数
Step10
Ruijie#copy running-config startup-config
保存配置。
如果要把全局隔离时间恢复成缺省值,在nfpp配置模式执行命令“no arp-guard isolate-period”。如果一个端口原来配置了局部隔离时间,现在想采用全局隔离时间,那么在端口配置模式下执行命令“no nfpp arp-guard isolate-period”把局部隔离时间配置删除。
63.3.1.1.3 设置对攻击者的监控时间
如果隔离时间为0(即不隔离),防攻击模块将自动根据配置的监控时间对攻击者进行软件监控,提供当前系统中存在哪些攻击者的信息。当把隔离时间配置成非零值后,防攻击模块将自动对软件监控的主机采取硬件隔离。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#arp-guard monitor-period seconds
配置对攻击者的监控时间。
取值范围为180秒到86400秒(即一天),缺省值为600秒。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp arp-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no arp-guard monitor-period”。
注意
⏹ 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。
⏹ 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行软件监控。
63.3.1.1.4 设置受监控主机的最大数目
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#arp-guard monitored-host-limit number
配置受监控主机的最大数目。
取值范围为1到4294967295,缺省情况下受监控主机的最大数目为1000个。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp arp-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把配置的受监控主机数恢复成缺省值,在nfpp配置模式执行命令“no arp-guard monitored-host-limit”。
如果受监控主机数已经达到默认的1000个,此时管理员把受监控主机的最大数目设置成小于1000,不会删除已有的受监控主机,而是打印信息“%ERROR: The value that you configured is smaller than current monitored hosts 1000(配置的受监控主机数) ,please clear a part of monitored hosts.”来提醒管理员配置没有生效,需要删除部分已经被监控的主机。
注意
当受监控主机表满时,打印日志“% NFPP_ARP_GUARD-4-SESSION_LIMIT: Attempt to exceed limit of 1000(配置的受监控主机数) monitored hosts.”提醒管理员。
63.3.1.1.5 基于主机限速和识别攻击
识别主机有源IP/VLAN ID/端口和链路层源MAC/VLAN ID/端口两种识别方法。每台主机都有限速水线和攻击阈值(也称为告警水线),限速水线必须低于攻击阈值。当单台主机的ARP报文速度超过限速水线时,将丢弃这些超出限速水线的报文;如果单台主机的ARP报文速度超过攻击阈值,将采取隔离措施,记录到日志中,发送TRAP。
支持识别ARP扫描,单位时间是10秒,缺省值是15,如果10秒钟收到15个及以上ARP报文,链路层源MAC地址固定而源IP地址变化,或者链路层源MAC地址和源IP地址固定而目标IP地址不断变化,就认为有扫描嫌疑,将记录到日志中,发送TRAP。
当检测到攻击行为时,打印的日志信息格式如下:
%NFPP_ARP_GUARD-4-DOS_DETECTED: Host
was detected.(2009-07-01 13:00:00)
日志
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
最后面括号中的时间是检测到攻击的时间。
发送的TRAP报文的数据中包含如下描述信息:
ARP DoS attack from host was detected.
如果管理员把隔离时间配置成非零值,当硬件隔离成功时,打印的日志信息格式如下所示:
%NFPP_ARP_GUARD-4-ISOLATED:Host was isolated. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Host was isolated.
当硬件隔离失败(原因通常是内存不足或者硬件资源不足)时,打印的日志信息格式如下所示:
%NFPP_ARP_GUARD-4-ISOLATE_FAILED: Failed to isolate host . (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Failed to isolate host.
当检测到ARP扫描时,打印的日志信息格式如下所示:
%NFPP_ARP_GUARD-4-SCAN: Host was detected. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
ARP scan from host< IP=1.1.1.1,MAC=0000.0000.0004,port=Gi4/1,VLAN=1> was detected.
ARP扫描表只保存最新的256条记录。当ARP扫描表满的时候,会打印日志提醒管理员:
%NFPP_ARP_GUARD-4-SCAN_TABLE_FULL: ARP scan table is full.
当管理员配置的限速水线大于攻击阈值时,打印命令提示信息“%ERROR:rate limit is higher than attack threshold 500pps(配置的攻击阈值).”提醒管理员。
当管理员配置的攻击阈值小于限速水线时,打印命令提示信息“%ERROR:attack threshold is smaller than rate limit 300pps(配置的限速水线).”提醒管理员。
注意
⏹ 对攻击者进行隔离,会设置一条策略到硬件中,但是硬件资源有限,当硬件资源耗尽的时候,会打印日志提醒管理员。
⏹ 当无法为检测到的攻击者分配内存时,打印日志“%NFPP_ARP_GUARD-4-NO_MEMORY: Failed to alloc memory..”提醒管理员。
⏹ ARP扫描表只记录最新的256条记录。当ARP扫描表满了以后,最新记录将覆盖最旧记录。
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#arp-guard rate-limit {per-src-ip | per-src-mac} pps
全局对每台主机的ARP报文速度进行限制。
取值范围是1到9999,缺省值为4个。
“per-src-ip”是基于源IP/VID/端口识别主机,“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 4
Ruijie(config-nfpp)#arp-guard attack-threshold {per-src-ip | per-src-mac} pps
全局配置攻击阈值。当某台主机的ARP报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为8个。
“per-src-ip”是基于源IP/VID/端口识别主机,“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 5
Ruijie(config-nfpp)#arp-guard scan-threshold pkt-cnt
全局配置ARP扫描阈值,取值范围是1到9999,缺省值为15个。单位值是10秒。如果10秒钟收到15个以上ARP报文,链路层源MAC地址固定而源IP地址变化,或者链路层源MAC地址和源IP地址固定而目标IP地址不断变化,就认为有扫描嫌疑。
说明:ARP扫描的特征是链路层源MAC地址固定而源IP地址变化,或者链路层源MAC地址和源IP地址固定而目标IP地址不断变化。
Step 6
Ruijie(config-nfpp)#end
退回到特权模式。
Step 7
Ruijie#configure terminal
进入全局配置模式。
Step 8
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 9
Ruijie(config-if)#nfpp arp-guard policy {per-src-ip | per-src-mac} rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999,缺省是没配置基于端口的速率,采用全局的速率。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和限速水线。
“per-src-ip”是基于源IP/VID/端口识别主机,“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 10
Ruijie(config-if)#nfpp arp-guard scan-threshold pkt-cnt
在每个端口上配置ARP扫描阈值,取值范围是1到9999,缺省是没配置基于端口的ARP扫描阈值,采用全局ARP扫描阈值。单位值是10秒。
Step 11
Ruijie(config-if)#end
退回到特权模式。
Step 12
Ruijie#show nfpp arp-guard summary
核对配置参数
Step 13
Ruijie#copy running-config startup-config
保存配置。
63.3.1.1.6 基于端口限速和识别攻击
每个端口都有限速水线和攻击阈值,限速水线必须低于攻击阈值。当某个端口的ARP报文速度超过限速水线时,就丢弃ARP报文。如果某个端口的ARP报文速度超过攻击阈值,将记录到日志中,发送TRAP。
当端口遭受ARP拒绝服务攻击时,打印的警告信息格式如下:
%NFPP_ARP_GUARD-4-PORT_ATTACKED: ARP DoS attack was detected on port Gi4/1. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
ARP DoS attack was detected on port Gi4/1.
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#arp-guard rate-limit per-port pps
对每个端口的ARP报文速度进行限制。
取值范围是1到9999,缺省值为100个。
Step 4
Ruijie(config-nfpp)#arp-guard attack-threshold per-port pps
配置攻击阈值,当某个端口的ARP报文超过阈值时,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为200个。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp arp-guard policy per-port rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp arp-guard summary
核对配置参数
Step 11
Ruijie#copy running-config startup-config
保存配置。
注意
⏹ 基于MAC地址限速的优先级高于基于IP地址限速,而基于IP地址限速又高于基于端口限速。
⏹ 为了使ARP抗攻击得到最佳的防攻击效果,建议管理员配置基于主机的限速水线和告警水线时遵循以下原则:
基于IP地址的限速水线 < 基于IP地址的告警水线 < 基于源MAC地址的限速水线 < 基于源MAC地址的告警水线。
⏹ 配置端口限速水线时,可以参考这个端口上的主机数量,比如某个端口上有500台主机,那么可以把端口的限速水线设置成500。
63.3.1.1.7 清除受监控主机
已被隔离的主机在一段时间后自动恢复,如果管理员要手动清除该主机,可以在特权模式下用以下命令清除。
命令
作用
Step 1
Ruijie#clear nfpp arp-guard hosts [vlan vid] [interface interface-id] [ip-address | mac-address]
不带参数表示清除所有已被检测到攻击的主机,带参数表示清除符合条件的主机。
63.3.1.1.8 清除ARP扫描表
如果管理员要手动清除ARP扫描表,可以在特权模式下用以下命令清除。
命令
作用
Step 1
Ruijie#clear nfpp arp-guard scan
清空ARP扫描表
63.3.1.1.9 查看ARP抗攻击的相关信息
⏹ 查看ARP抗攻击的配置参数
⏹ 查看受监控主机的信息
⏹ 查看ARP扫描表
查看ARP抗攻击的配置参数
使用show nfpp arp-guard summary查看ARP抗攻击的配置参数:
命令
作用
Step 1
Ruijie#show nfpp arp-guard summary
查看ARP抗攻击配置参数
下面是一个例子:
Ruijie# show nfpp arp-guard summary
(Format of column Rate-limit and Attack-threshold is per-src-ip/per-src-mac/per-port.)
Interface Status Isolate-period Rate-limit Attack-threshold Scan-threshold
Global Enable 300 4/5/60 8/10/100 15
G 0/1 Enable 180 5/-/- 8/-/- -
G 0/2 Disable 200 4/5/60 8/10/100 20
Maximum count of monitored hosts: 1000
Monitor period:300s
说明
⏹ 字段Interface为Global表示全局配置。
⏹ 字段Status表示是否打开抗攻击功能。
⏹ 字段Rate-limit的格式为(对源IP地址的限速水线/对源MAC地址的限速水线/端口的限速水线值),字段Attack-threshold的显示格式类似。“-”表示没有配置。举例说明:
⏹ “4/5/60”表示对源IP地址的限速水线是4,对源MAC地址的限速水线是5,对每个端口的限速水线是60。
⏹ G 0/1这一行的字段Rate-limit为“5/-/-”,表示端口G 0/1对源IP地址的限速水线是5,没有配置对源MAC地址的限速水线和端口的限速水线。
查看受监控主机的信息
命令
作用
Step 1
Ruijie#show nfpp arp-guard hosts statistics
查看受监控主机表的统计信息,包括主机总数、隔离成功的主机数量和隔离失败的主机数量。
Step 2
Ruijie#show nfpp arp-guard hosts [vlan vid] [interface interface-id] [ip-address |
mac-address]
查看已被检测到攻击的主机。
不带参数表示显示所有已被检测到攻击的主机,带参数则只显示符合条件的主机。
Ruijie#show nfpp arp-guard hosts statistics
success fail total
------- ---- -----
100 20 120
意思是:“总共有120台主机被隔离,其中100台主机隔离成功,20台主机隔离失败”。
Ruijie# show nfpp arp-guard hosts
If column 1 shows '*', it means "hardware do not isolate user" .
VLAN interface IP address MAC address remain-time(s)
---- -------- --------- ----------- -------------
1 Gi0/1 1.1.1.1 - 110
2 Gi0/2 1.1.2.1 - 61
*3 Gi0/3 - 0000.0000.1111 110
4 Gi0/4 - 0000.0000.2222 61
Total:4 hosts
Ruijie# show nfpp arp-guard hosts vlan 1 interface G 0/1 1.1.1.1
If column 1 shows '*', it means "hardware do not isolate user".
VLAN interface IP address MAC address remain-time(s)
---- -------- --------- ----------- -------------
1 Gi0/1 1.1.1.1 - 110
Total:1 host
说明
上述几个字段分别表示VLAN号、端口、IP地址、MAC地址,以及隔离剩余时间。
如果某一行的第一列显示“*”, 表示这台主机目前只是软件监控或者硬件因为资源不足而隔离失败。
如果“MAC address”栏显示“-”,表示这台主机是以源IP地址标识的;如果“IP address”栏显示“-”,表示这台主机是以源MAC地址标识的。
查看ARP扫描表
命令
作用
Step 1
Ruijie#show nfpp arp-guard scan statistic
查看ARP扫描表的记录条数
Step 2
Ruijie#show nfpp arp-guard scan [vlan vid] [interface interface-id] [ip-address] [mac-address]
查看ARP扫描表的记录
不带参数表示查看整张ARP扫描表,带参数表示只查看符合条件的表项。
Ruijie# show nfpp arp-guard scan statistics
ARP scan table has 4 record(s).
意思是:“ARP扫描表总共有4条记录”。
Ruijie# show nfpp arp-guard scan
VLAN interface IP address MAC address timestamp
---- -------- ---------- ----------- ----------
1 Gi0/1 N/A 0000.0000.0001 2008-01-23 16:23:10
2 Gi0/2 1.1.1.1 0000.0000.0002 2008-01-23 16:24:10
3 Gi0/3 N/A 0000.0000.0003 2008-01-23 16:25:10
4 Gi0/4 N/A 0000.0000.0004 2008-01-23 16:26:10
Total:4 record(s)
“timestamp”记录的是检测出ARP扫描的时间,如“2008-01-23 16:23:10”表示在2008年1月23日16点23分10秒检测出ARP扫描。
Ruijie# show nfpp arp-guard scan vlan 1 interface G 0/1 0000.0000.0001
VLAN interface IP address MAC address timestamp
---- -------- ---------- ----------- ----------
1 Gi0/1 N/A 0000.0000.0001 2008-01-23 16:23:10
Total:1 record(s)
63.3.2 IP防扫描
63.3.2.1IP防扫描简介
众所周知,许多黑客攻击、网络病毒入侵都是从扫描网络内活动的主机开始的。因此大量的扫描报文急剧占用了网络带宽,导致网络通讯无法正常进行。
为此,锐捷三层设备提供了防IP攻击的功能,用以防止黑客扫描和类似“冲击波”病毒的攻击,还能减少三层设备的CPU负担。
目前发现的IP攻击主要有两种:
(1) 目的IP地址变化的扫描。这种扫描是最危害网络的,不但消耗网络带宽,增加设备的负担,而且更是大部分黑客攻击手段的前奏。
(2) 向不存在目的IP地址高速发送IP报文。这种攻击主要是针对设备CPU的负担来设计。对三层设备来说,如果目的IP地址存在,则报文会被交换芯片直接转发,不会占用设备CPU的资源,而如果目的IP地址不存在,IP报文会送到CPU,由CPU发送ARP请求询问目的IP地址对应的MAC地址,如果送到CPU的报文太多,会消耗CPU资源。当然,这种攻击的危害比第一种小得多了。
对于“向不存在的目的IP地址高速发IP报文”这种IP攻击,防范措施是一方面对IP报文限速,另一方面检测出攻击源,对攻击源头采取隔离措施。
IP攻击识别分为基于主机和基于物理端口两个类别。基于主机是采用源IP地址/VLAN ID/物理端口三者结合识别的。每种攻击识别都有限速水线和告警水线。当IP报文速率超过限速水线时,超限报文将被丢弃。当IP报文速率超过告警水线时,将打印警告信息,发送TRAP,基于主机的攻击识别还会对攻击源头采取隔离措施。
注意
需要特别说明的是,IP防扫描针对的是目的IP地址不是本机IP地址的IP报文攻击。对于目的IP地址是本机IP地址的IP报文,则由CPP(CPU Protect Policy)限速。
二层交换机不支持IP防扫描,仅三层交换机支持IP防扫描。
对检测出有IP扫描嫌疑的主机,如果在端口上打开IP防扫描功能,并且配置的隔离时间是非零值,将采取隔离措施。,
IP抗攻击的配置命令包括:
⏹ 打开IP防扫描功能
⏹ 设置对攻击者的隔离时间
⏹ 设置对攻击者的监控时间
⏹ 设置受监控主机的最大数目
⏹ 基于主机限速和识别攻击
⏹ 基于端口限速和识别攻击
⏹ 设置不监控的可信主机
⏹ 清除受监控主机
⏹ 查看IP防扫描的相关信息
63.3.2.1.1 打开IP防扫描功能
您可以在nfpp配置模式或者接口配置模式下打开IP防扫描功能,缺省情况下是打开的。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#ip-guard enable
全局打开IP防扫描功能,缺省情况下打开。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp ip-guard enable
在端口上打开IP防扫描功能,缺省情况是端口没有配置局部开关,采用全局开关。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp ip-guard summary
核对配置参数
Step 10
Ruijie#copy running-config startup-config
保存配置。
注意
当关闭IP防扫描功能时,系统将自动清除受监控的主机。
63.3.2.1.2 设置对攻击者的隔离时间
对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#ip-guard isolate-period [seconds | permanent]
配置对攻击者的全局隔离时间。
取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。
Step 4
Ruijie(config-nfpp)#end
返回特权模式
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp ip-guard isolate-period [seconds | permanent]
在端口上配置对攻击者的隔离时间。
取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp ip-guard summary
核对配置参数
Step10
Ruijie#copy running-config startup-config
保存配置。
如果要把全局隔离时间恢复成缺省值,在nfpp配置模式执行命令“no ip-guard isolate-period”。如果一个端口原来配置了局部隔离时间,现在想采用全局隔离时间,那么在端口配置模式下执行命令“no nfpp ip-guard isolate-period”把局部隔离时间配置删除。
63.3.2.1.3 设置对攻击者的监控时间
如果隔离时间为0(即不隔离),防攻击模块将自动根据配置的监控时间对攻击者进行软件监控,提供当前系统中存在哪些攻击者的信息。当把隔离时间配置成非零值后,防攻击模块将自动对软件监控的主机采取硬件隔离。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#ip-guard monitor-period seconds
配置对攻击者的监控时间。
取值范围为180秒到86400秒(即一天),缺省值为600秒。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp ip-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no ip-guard monitor-period”。
注意
⏹ 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。
⏹ 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行软件监控。
63.3.2.1.4 设置受监控主机的最大数目
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#ip-guard monitored-host-limit number
配置受监控主机的最大数目。
取值范围为1到4294967295,缺省情况下受监控主机的最大数目为1000个。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp ip-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把配置的受监控主机数恢复成缺省值,在nfpp配置模式执行命令“no ip-guard monitored-host-limit”。
如果受监控主机数已经达到默认的1000个,此时管理员把受监控主机的最大数目设置成小于1000,不会删除已有的受监控主机,而是打印信息“%ERROR: The value that you configured is smaller than current monitored hosts 1000(配置的受监控主机数) ,please clear a part of monitored hosts.”来提醒管理员配置没有生效,需要删除部分已经被监控的主机。
注意
当受监控主机表满时,打印日志“% NFPP_IP_GUARD-4-SESSION_LIMIT: Attempt to exceed limit of 1000(配置的受监控主机数) monitored hosts.”提醒管理员。
63.3.2.1.5 基于主机限速和识别攻击
识别主机的方法为源IP地址/VID/端口。每台主机都有限速水线和攻击阈值(也称为告警水线),限速水线必须低于攻击阈值。当单台主机的IP报文速度超过限速水线时,就丢弃超限的IP报文。如果单台主机的IP报文速度超过攻击阈值,将采取隔离措施,记录到日志中,发送TRAP。
当检测到攻击行为时,打印的日志信息格式如下:
%NFPP_IP_GUARD-4- DOS_DETECTED:Host was detected. (2009-07-01 13:00:00)
发送的TRAP报文的数据中包含如下描述信息:
IP DoS attack from host was detected.
如果管理员把隔离时间配置成非零值,当硬件隔离成功时,打印的日志信息格式如下所示:
%NFPP_IP_GUARD-4-ISOLATED:Host was isolated. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Host was isolated.
当硬件隔离失败(原因通常是内存不足或者硬件资源不足)时,打印的日志信息格式如下所示:
%NFPP_IP_GUARD-4-ISOLATE_FAILED:Failed to isolate host.(2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Failed to isolate host.
当检测到IP扫描时,打印的日志信息格式如下所示:
%NFPP_IP_GUARD-4-SCAN: Host was detected.
发送的TRAP报文的数据包含如下描述信息:
IP scan from host< IP=1.1.1.1,MAC=N/A,port=Gi4/1,VLAN=1> was detected.
注意
⏹ 对攻击者进行隔离,会设置一条策略到硬件中,但是硬件资源有限,当硬件资源耗尽的时候,会打印日志提醒管理员。
⏹ 当无法为检测到的攻击者分配内存时,打印日志“%NFPP_IP_GUARD-4-NO_MEMORY: Failed to alloc memory..”提醒管理员。
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#ip-guard rate-limit per-src-ip pps
全局对每台主机的IP报文速度进行限制。
取值范围是1到9999,缺省值为20个。
“per-src-ip”是基于源IP/VID/端口识别主机。
Step 4
Ruijie(config-nfpp)#ip-guard attack-threshold per-src-ip pps
全局配置攻击阈值。当某台主机的IP报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为20。
“per-src-ip”是基于源IP/VID/端口识别主机。
Step 5
Ruijie(config-nfpp)#ip-guard scan-threshold pkt-cnt
全局配置IP扫描阈值,取值范围是1到9999,缺省值为100个,时间单位是10秒。
Step 6
Ruijie(config-nfpp)#end
退回到特权模式。
Step 7
Ruijie#configure terminal
进入全局配置模式。
Step 8
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 9
Ruijie(config-if)#nfpp ip-guard policy per-src-ip rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999,缺省是没有配置基于端口的速率,采用全局速率。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
“per-src-ip”是基于源IP/VID/端口识别主机。
Step 10
Ruijie(config-if)#nfpp ip-guard scan-threshold pkt-cnt
配置局部的IP扫描阈值,取值范围是1到9999。
缺省情况是端口没有自己的扫描阈值,采用全局的扫描阈值。
Step 11
Ruijie(config-if)#end
退回到特权模式。
Step 12
Ruijie#show nfpp ip-guard summary
核对配置参数
Step 13
Ruijie#copy running-config startup-config
保存配置。
63.3.2.1.6 基于端口限速和识别攻击
每个端口都有限速水线和攻击阈值,限速水线必须低于攻击阈值。当某个端口的IP报文速度超过限速水线时,就丢弃IP报文。如果某个端口的IP报文速度超过攻击阈值,将记录到日志中,发送TRAP。
当端口遭受IP拒绝服务攻击时,打印的警告信息格式如下:
%NFPP_IP_GUARD-4-PORT_ATTACKED: IP DoS attack was detected on port Gi4/1. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
IP DoS attack was detected on port Gi4/1.
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#ip-guard rate-limit per-port pps
全局对每个端口的IP报文速度进行限制。
取值范围是1到9999,缺省值为1000个。
Step 4
Ruijie(config-nfpp)#ip-guard attack-threshold per-port pps
配置攻击阈值,当某个端口的IP报文超过阈值时,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为1500个。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp ip-guard policy per-port rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp ip-guard summary
核对配置参数
Step 11
Ruijie#copy running-config startup-config
保存配置。
注意
基于源IP地址限速优先级高于基于端口限速。
63.3.2.1.7 设置不监控的可信主机
如果管理员希望对某台主机不进行监控,即对该主机表示信任,则可以通过该命令配置。该可信主机发往CPU的IP报文将被允许发往CPU。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#ip-guard trusted-host ip mask
配置不进行监控的IP地址范围。
最多能够配置500条。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp ip-guard trusted-host
查看配置的可信主机
Step 6
Ruijie#copy running-config startup-config
保存配置。
在nfpp配置模式下,可以使用该命令的no选项删除一条可信主机表项。使用命令的no 和all选项可以删除所有可信主机。
例如删除所有可信主机:
Ruijie(config-nfpp)# no ip-guard trusted-host all
或删除单条可信主机表项:
Ruijie(config-nfpp)# no ip-guard trusted-host 1.1.1.1 255.255.255.255
注意
⏹ 当不监控的可信主机表满时,打印提示信息“%ERROR: Attempt to exceed limit of 500 trusted hosts.”提醒管理员。
⏹ 当受监控主机表中存在与可信主机相匹配的表项(IP地址相同)时,系统将自动删除此IP地址对应的表项。
⏹ 当删除可信主机失败时,打印提示信息“%ERROR: Failed to delete trusted host 1.1.1.0 255.255.255.0(配置的可信主机).”提醒管理员。
⏹ 当添加可信主机失败时,打印提示信息“%ERROR: Failed to add trusted host 1.1.1.0 255.255.255.0(配置的可信主机).”提醒管理员。
⏹ 当添加的可信主机已经存在时,打印提示信息“%ERROR: Trusted host 1.1.1.0 255.255.255.0(配置的可信主机)has already been configured.”提醒管理员。
⏹ 当要删除的可信主机不存在时,打印提示信息“%ERROR: Trusted host 1.1.1.0 255.255.255.0(配置的可信主机)is not found.”提醒管理员。
⏹ 当无法为可信主机分配内存时,打印提示信息“%ERROR: Failed to alloc memory.”提醒管理员。
63.3.2.1.8 清除受监控主机
已被隔离的主机在一段时间后自动恢复,如果管理员要手动清除该主机,可以在特权模式下用以下命令清除。
命令
作用
Step 1
Ruijie# clear nfpp ip-guard hosts [vlan vid] [interface interface-id] [ip-address]
不带参数表示清除所有已被检测到攻击的主机,带参数表示清除符合条件的主机。
63.3.2.1.9 查看IP防扫描的相关信息
⏹ 查看IP防扫描的配置参数
⏹ 查看受监控主机的信息
⏹ 查看不监控的可信主机
查看IP防扫描的配置参数
使用show nfpp ip-guard summary查看IP抗攻击的配置参数:
命令
作用
Step 1
Ruijie#show nfpp ip-guard summary
查看IP抗攻击配置参数
下面是一个例子:
Ruijie# show nfpp ip-guard summary
(Format of column Rate-limit and Attack-threshold is per-src-ip/per-src-mac/per-port.)
Interface Status Isolate-period Rate-limit Attack-threshold Scan-threshold
Global Enable 300 4/-/60 8/-/100 15
G 0/1 Enable 180 5/-/- 8/-/- -
G 0/2 Disable 200 4/-/60 8/-/100 20
Maximum count of monitored hosts: 1000
Monitor period:300s
说明
⏹ 字段Interface为Global表示全局配置。
⏹ 字段Status表示是否打开抗攻击功能。
⏹ 字段Rate-limit的格式为(对源IP地址的限速水线/对源MAC地址的限速水线/端口的限速水线值),字段Attack-threshold的显示格式类似。“-”表示没有配置。举例说明:
⏹ “4/-/60”表示对源IP地址的限速水线是4,对每个端口的限速水线是60。
⏹ G 0/1这一行的字段Rate-limit为“5/-/-”,表示端口G 0/1对源IP地址的限速水线是5,没有配置对端口的限速水线。
查看受监控主机的信息
命令
作用
Step 1
Ruijie#show nfpp ip-guard hosts statistics
查看受监控主机表的统计信息,包括主机总数、隔离成功的主机数量和隔离失败的主机数量。
Step 2
Ruijie#show nfpp ip-guard hosts [vlan vid] [interface interface-id] [ip-address |
mac-address]
查看已被检测到攻击的主机。
不带参数表示显示所有已被检测到攻击的主机,带参数则只显示符合条件的主机。
Ruijie#show nfpp ip-guard hosts statistics
success fail total
------- ---- -----
100 20 120
意思是:“总共有120台主机被隔离,其中100台主机隔离成功,20台主机隔离失败”。
Ruijie#show nfpp ip-guard hosts
If column 1 shows '*', it means "hardware do not isolate host" .
VLAN interface IP address Reason remain-time(s)
---- -------- --------- ------- -------------
1 Gi0/1 1.1.1.1 ATTACK 110
2 Gi0/2 1.1.2.1 SCAN 61
Total:2 host(s)
Ruijie#show nfpp ip-guard hosts vlan 1 interface g 0/1 1.1.1.1
If column 1 shows '*', it means "hardware do not isolate host" .
VLAN interface IP address Reason remain-time(s)
---- -------- --------- ------- -------------
1 Gi0/1 1.1.1.1 ATTACK 110
Total:1 host(s)
说明
上述几个字段分别表示VLAN号、端口、IP地址、被监控原因,以及隔离剩余时间。
如果某一行的第一列显示“*”, 表示这台主机目前只是软件监控或者硬件因为资源不足而隔离失败。
第四个字段“Reason”描述主机被监控的原因,“ATTACK”表示主机发送IP报文的速度超过攻击水线,“SCAN”表示主机在扫描某个网段。
查看不监控的可信主机
命令
作用
Step 1
Ruijie# show nfpp ip-guard trusted-host
查看不受监控的可信主机
下面是一个例子:
Ruijie#show nfpp ip-guard trusted-host
IP address mask
--------- ------
1.1.1.0 255.255.255.0
1.1.2.0 255.255.255.0
Total:2 record(s)
63.3.3 ICMP抗攻击
63.3.3.1ICMP抗攻击简介
ICMP协议作为诊断网络故障的常用手段,它的基本原理是主机发出ICMP回音请求报文(ICMP echo request),路由器或者交换机接收到这个请求报文后会回应一个ICMP 回音应答(ICMP echo reply)报文。在上述这个处理过程中需要设备的CPU进行处理,这样就必然需要消耗CPU的一部分资源。如果攻击者向目标设备发送大量的ICMP回音请求,这样势必会导致设备的CPU资源被大量消耗,严重的情况可能导致设备无法正常工作,这种攻击方式也被人们命名为“ICMP洪水”。对于这种攻击,防范措施是一方面对ICMP报文限速,另一方面检测出攻击源,对攻击源头采取隔离措施。
ICMP攻击识别分为基于主机和基于物理端口两个类别。基于主机方式是采用源IP地址/虚拟局域网号/端口三者结合来识别的。每种攻击识别都有限速水线和告警水线。当ICMP报文速率超过限速水线时,将被丢弃。当ICMP报文速率超过告警水线时,将打印警告信息,发送TRAP,基于主机的攻击识别还会对攻击源头采取隔离措施。
63.3.3.1.1 打开ICMP抗攻击功能
管理员可以在nfpp配置模式或者接口配置模式下打开ICMP抗攻击功能,缺省情况下就是打开的。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#icmp-guard enable
打开ICMP抗攻击功能,缺省情况下启动。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp icmp-guard enable
在端口上打开ICMP抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp icmp-guard summary
核对配置参数
Step 10
Ruijie#copy running-config startup-config
保存配置。
注意
当关闭ICMP抗攻击功能时,系统将自动清除已经被监控的主机。
63.3.3.1.2 设置对攻击者的隔离时间
对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#icmp-guard isolate-period [seconds | permanent]
配置对攻击者的全局隔离时间。
取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp icmp-guard isolate-period[seconds | permanent]
在端口上配置对攻击者的隔离时间。
取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp icmp-guard summary
核对配置参数
Step10
Ruijie#copy running-config startup-config
保存配置。
如果要把全局隔离时间恢复成缺省值,在nfpp配置模式执行命令“no icmp-guard isolate-period”。如果一个端口原来配置了局部隔离时间,现在想采用全局隔离时间,那么在接口配置模式下执行命令“no nfpp icmp-guard isolate-period”把局部隔离时间配置删除。
63.3.3.1.3 设置对攻击者的监控时间
如果不配置全局隔离时间和基于端口的隔离时间(包括端口隔离时间配置成0秒),这种情况下,防攻击模块将自动采用监控时间对攻击者进行软件监控,提供当前系统中存在哪些攻击用户的信息。当配置全局隔离时间或者基于端口的隔离时间后,防攻击模块将自动对软件监控的用户采取硬件隔离。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#icmp-guard monitor-period seconds
配置对攻击者的监控时间。
取值范围为180秒到86400秒(即一天),缺省值为600秒。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp icmp-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no icmp-guard monitor-period”。
注意
⏹ 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。
⏹ 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行软件监控。
63.3.3.1.4 设置受监控主机的最大数目
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#icmp-guard monitored-host-limit number
配置受监控主机的最大数目。
取值范围为1到4294967295个,缺省情况下受监控主机的最大数目为1000个。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp icmp-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把配置的最大受监控主机数恢复成缺省值,在nfpp配置模式执行命令“no icmp-guard monitored-host-limit”。
如果受监控主机数已经达到默认的1000个,此时管理员把受监控主机的最大数目设置成小于1000,不会删除已有的受监控主机,而是打印信息“%ERROR: The value that you configured is smaller than current monitored hosts 1000(配置的受监控主机数) ,please clear a part of monitored hosts.”来提醒管理员配置没有生效,需要删除部分已经被监控的主机。
注意
当受监控主机满时,打印日志“% NFPP_ICMP_GUARD-4-SESSION_LIMIT: Attempt to exceed limit of 1000(配置的受监控主机数) monitored hosts.”提醒管理员。
63.3.3.1.5 基于主机限速和识别攻击
识别主机的方法为源IP/VID/端口。每个用户都有限速水线和攻击阈值(也称为告警水线),限速水线必须低于攻击阈值。当单台主机的ICMP报文速度超过限速水线时,就丢弃超限的ICMP报文。如果单台主机的ICMP报文速度超过攻击阈值,将采取隔离措施,记录到日志中,发送TRAP。
如果检测到攻击行为,打印的日志信息格式如下:
%NFPP_ICMP_GUARD-4-DOS_DETECTED: Host was detected. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
ICMP DoS attack from host was detected.
如果管理员把隔离时间配置成非零值,当硬件隔离成功时,打印的日志信息格式如下所示:
%NFPP_ICMP_GUARD-4-ISOLATED:Host was isolated. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Host was isolated.
当硬件隔离失败(原因通常是内存不足或者硬件资源不足)时,打印的日志信息格式如下所示:
%NFPP_ICMP_GUARD-4-ISOLATE_FAILED: Failed to isolate host.(2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Failed to isolate host.
注意
当无法为检测到的攻击者分配内存时,打印日志“%NFPPP_ ICMP_GUARD -4-NO_MEMORY: Failed to alloc memory.”提醒管理员。
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#icmp-guard rate-limit per-src-ip pps
全局对每台主机的ICMP报文速度进行限制。
取值范围是1到9999,缺省值是基于端口的全局限速水线(将在下一节说明)的一半。
“per-src-ip”是基于源IP/VID/端口识别主机。
Step 4
Ruijie(config-nfpp)#icmp-guard attack-threshold per-src-ip pps
配置攻击阈值。当某台主机的ICMP报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。
取值范围是1到9999,缺省值和基于源IP地址的缺省限速水线相同。
“per-src-ip”是基于源IP/VID/端口识别主机。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp icmp-guard policy per-src-ip rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999,缺省是没有配置基于端口的速率,采用全局速率。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
“per-src-ip”是基于源IP/VID/端口识别主机。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp icmp-guard summary
核对配置参数
Step 11
Ruijie#copy running-config startup-config
保存配置。
63.3.3.1.6 基于端口限速和识别攻击
每个端口都有限速水线和攻击阈值,限速水线必须低于攻击阈值。当某个端口的ICMP报文速度超过限速水线时,就丢弃ICMP报文。如果某个端口的ICMP报文速度超过攻击阈值,将记录到日志中,发送TRAP。
当端口遭受ICMP拒绝服务攻击时,打印的警告信息格式如下:
%NFPP_ICMP_GUARD-4-PORT_ATTACKED: ICMP DoS attack was detected on port Gi4/1. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
ICMP DoS attack was detected on port Gi4/1.
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#icmp-guard rate-limit per-port pps
对每个端口的ICMP报文速度进行限制。
取值范围是1到9999,S3760E缺省值是250。
Step 4
Ruijie(config-nfpp)#icmp-guard attack-threshold per-port pps
配置攻击阈值,当某个端口的ICMP报文超过阈值时,记录到日志,发送TRAP。
取值范围是1到9999,缺省值和基于端口的缺省限速水线相同。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp icmp-guard policy per-port rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp icmp-guard configuration
核对配置参数
Step 11
Ruijie#copy running-config tartup-config
保存配置。
注意
基于源IP地址限速优先级高于基于端口限速。
63.3.3.1.7 设置不监控的可信主机
如果管理员希望对某台主机不进行监控,即对该主机表示信任,则可以通过该命令配置。该可信主机发往CPU的ping报文将被允许发往CPU。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#icmp-guard trusted-host ip mask
配置不进行监控的IP地址范围。
最多能够配置500条。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp icmp-guard trusted-host
查看不监控的可信主机。
Step 6
Ruijie#copy running-config startup-config
保存配置。
在nfpp配置模式下,可以使用该命令的no选项删除一条可信主机表项。使用命令的no 和all选项可以删除所有可信主机。
例如删除所有可信主机:
Ruijie(config-nfpp)# no icmp-guard trusted-host all
或删除单条可信主机:
Ruijie(config-nfpp)# no icmp-guard trusted-host 1.1.1.1 255.255.255.255
注意
⏹ 当不监控的可信主机表满时,打印提示信息“%ERROR: Attempt to exceed limit of 500 trusted hosts.”提醒管理员。
⏹ 当受监控主机表中存在与可信主机相匹配的表项(IP地址相同)时,系统将自动删除此IP地址对应的表项。
⏹ 当删除可信主机失败时,打印提示信息“%ERROR: Failed to delete trusted host 1.1.1.0 255.255.255.0(配置的可信主机).”提醒管理员。
⏹ 当添加可信主机失败时,打印提示信息“%ERROR: Failed to add trusted host 1.1.1.0 255.255.255.0(配置的可信主机).”提醒管理员。
⏹ 当添加的可信主机已经存在时,打印提示信息“%ERROR: Trusted host 1.1.1.0 255.255.255.0(配置的可信主机)has already been configured.”提醒管理员。
⏹ 当要删除的可信主机不存在时,打印提示信息“%ERROR: Trusted host 1.1.1.0 255.255.255.0(配置的可信主机)is not found.”提醒管理员。
⏹ 当无法为可信主机分配内存时,打印提示信息“%ERROR: Failed to alloc memory.”提醒管理员。
63.3.3.1.8 清除受监控主机
已被隔离的主机在一段时间后自动恢复,如果管理员要手动清除该主机,可以在特权模式下用以下命令清除。
命令
作用
Step 1
Ruijie#clear nfpp icmp-guard hosts [vlan vid] [interface interface-id] [ip-address]
不带参数表示清除所有已被检测到攻击的主机,带参数表示清除符合条件的主机。
63.3.3.1.9 查看ICMP抗攻击的相关信息
⏹ 查看ICMP抗攻击的配置参数
⏹ 查看受监控主机的信息
⏹ 查看不监控的
查看ICMP抗攻击的配置参数
使用show nfpp icmp-guard summary查看ICMP抗攻击的配置参数:
命令
作用
Step 1
Ruijie#show nfpp icmp-guard summary
查看ICMP抗攻击配置参数
下面是一个例子:
Ruijie# show nfpp icmp-guard summary
(Format of column Rate-limit and Attack-threshold is per-src-ip/per-src-mac/per-port.)
Interface Status Isolate-period Rate-limit Attack-threshold
Global Enable 300 4/-/60 8/-/100
G 0/1 Enable 180 5/-/- 8/-/-
G 0/2 Disable 200 4/-/60 8/-/100
Maximum count of monitored hosts: 1000
Monitor period:300s
说明
⏹ 字段Interface为Global表示全局配置。
⏹ 字段Status表示是否打开抗攻击功能。
⏹ 字段Rate-limit的格式为(对源IP地址的限速水线/对源MAC地址的限速水线/端口的限速水线值),字段Attack-threshold的显示格式类似。“-”表示没有配置。举例说明:
(1) “4/-/60”表示对源IP地址的限速水线是4,对每个端口的限速水线是60。
(2) G 0/1这一行的字段Rate-limit为“5/-/-”,表示端口G 0/1对源IP地址的限速水线是5,没有配置对端口的限速水线。
查看受监控主机的信息
命令
作用
Step 1
Ruijie#show nfpp icmp-guard hosts statistics
查看受监控主机表的统计信息,包括主机总数、隔离成功的主机数量和隔离失败的主机数量。
Step 2
Ruijie#show nfpp icmp-guard hosts [vlan vid] [interface interface-id] [ip-address ]
查看已被检测到攻击的主机。
不带参数表示显示所有已被检测到攻击的主机,带参数则只显示符合条件的主机。
Ruijie#show nfpp icmp-guard hosts statistics
success fail total
------- ---- -----
100 20 120
表示:“总共有120台主机被监控,其中100台主机隔离成功,20台主机隔离失败”。
Ruijie# show nfpp icmp-guard hosts
If column 1 shows '*', it means "hardware failed to isolate host".
VLAN interface IP address remain-time(s)
---- -------- --------- -------------
1 Gi0/1 1.1.1.1 110
2 Gi0/2 1.1.2.1 61
Total:2 host(s)
Ruijie# show nfpp icmp-guard hosts vlan 1 interface g 0/1 1.1.1.1
If column 1 shows '*', it means "hardware failed to isolate host".
VLAN interface IP address remain-time(s)
---- -------- --------- -------------
1 Gi0/1 1.1.1.1 80
Total:1 host(s)
说明
上述几个字段分别表示VLAN号、端口、IP地址、MAC地址,以及隔离剩余时间。
如果某一行的第一列显示“*”, 表示这台主机目前只是软件监控或者硬件因为资源不足而隔离失败。
查看不监控的可信主机
使用show nfpp icmp-guard trusted-host查看不受监控的可信主机:
命令
作用
Step 1
Ruijie#show nfpp icmp-guard trusted-host
查看不受监控的可信主机。
下面是一个例子:
Ruijie# show nfpp icmp-guard trusted-host
IP address mask
--------- ------
1.1.1.0 255.255.255.0
1.1.2.0 255.255.255.0
Total:2 record(s)
63.3.4 DHCP抗攻击
63.3.4.1DHCP抗攻击简介
DHCP协议被广泛地应用在局域网环境里来动态分配IP地址。DHCP协议对网络安全起着非常重要的意义。目前,存在的最广泛的DHCP攻击就是称为“DHCP耗竭”的攻击,这种攻击通过伪造的MAC地址来广播DHCP请求的方式进行。目前网络上存在多种这样的攻击工具都可以很容易地实现上述攻击。如果发出的DHCP请求足够多的话,网络攻击者就可以在一段时间内耗竭DHCP服务器所提供的地址空间,这样当一台合法的主机请求一个DHCP IP地址的时候无法成功,从而无法访问网络。对于这种攻击,防范措施是一方面对DHCP报文限速,另一方面检测出攻击源,对攻击源头采取隔离措施。
DHCP攻击识别分为基于主机和基于物理端口两个类别。基于主机方式是采用链路层源MAC地址/虚拟局域网号/端口三者结合来识别的。每种攻击识别都有限速水线和告警水线。当DHCP报文速率超过限速水线时,超限的DHCP报文将被丢弃。当DHCP报文速率超过告警水线时,将打印警告信息,发送TRAP,基于主机的攻击识别还会对攻击源头采取隔离措施。
DHCP抗攻击的配置命令包括:
⏹ 打开DHCP抗攻击功能
⏹ 设置对攻击者的隔离时间
⏹ 设置对攻击者的监控时间
⏹ 设置受监控主机的最大数目
⏹ 基于主机限速和识别攻击
⏹ 基于端口限速和识别攻击
⏹ 清除
⏹ 查看DHCP抗攻击的相关信息
63.3.4.1.1 打开DHCP抗攻击功能
管理员可以在nfpp配置模式或者接口配置模式下打开DHCP抗攻击功能,缺省情况下就是打开的。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#dhcp-guard enable
打开DHCP抗攻击功能,缺省情况下就是打开的。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp dhcp-guard enable
在端口上打开DHCP抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp dhcp-guard summary
核对配置参数
Step 10
Ruijie#copy running-config startup-config
保存配置。
注意
当关闭DHCP抗攻击功能时,系统将自动清除已经被监控的主机。
63.3.4.1.2 设置对攻击者的隔离时间
对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模块
Step 3
Ruijie(config-nfpp)#dhcp-guard isolate-period [seconds | permanent]
配置对攻击者的全局隔离时间。
取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp dhcp-guard isolate-period [seconds | permanent]
在端口上配置对攻击者的隔离时间。
取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp dhcp-guard summary
核对配置参数
Step10
Ruijie#copy running-config startup-config
保存配置。
如果要把全局隔离时间恢复成缺省值,在nfpp配置模式执行命令“no dhcp-guard isolate-period”。如果一个端口原来配置了局部隔离时间,现在想采用全局隔离时间,那么在接口配置模式下执行命令“no nfpp dhcp-guard isolate-period”把局部隔离时间配置删除。
63.3.4.1.3 设置对攻击者的监控时间
如果隔离时间为0(即不隔离),防攻击模块将自动根据配置的监控时间对攻击者进行软件监控,提供当前系统中存在哪些攻击者的信息。当把隔离时间配置成非零值后,防攻击模块将自动对软件监控的主机采取硬件隔离。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#dhcp-guard monitor-period seconds
配置对攻击者的监控时间。
取值范围为180秒到86400秒(即一天),缺省值为600秒。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp dhcp-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no dhcp-guard monitor-period”。
注意
⏹ 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。
⏹ 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行软件监控。
63.3.4.1.4 设置受监控主机的最大数目
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#dhcp-guard monitored-host-limit number
配置受监控主机的最大数目。
取值范围为1到4294967295,缺省情况下受监控主机的最大数目为1000个。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp dhcp-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把配置的最大受监控主机数恢复成缺省值,在nfpp配置模式执行命令“no dhcp-guard monitored-host-limit”。
如果受监控主机数已经达到默认的1000个,此时管理员把受监控主机的最大数目设置成小于1000,不会删除已有的受监控主机,而是打印信息“%ERROR:The value that you configured is smaller than current monitored hosts 1000(配置的受监控主机数) ,please clear a part of monitored hosts.”来提醒管理员配置没有生效,需要删除部分已经被监控的主机。
注意
当受监控主机表满时,打印日志“% NFPP_DHCP_GUARD-4-SESSION_LIMIT: Attempt to exceed limit of 1000(配置的受监控主机数) monitored hosts.”提醒管理员。
63.3.4.1.5 基于主机限速和识别攻击
识别主机的方法为链路层源MAC/VID/端口。每台主机都有限速水线和攻击阈值(也称为告警水线),限速水线必须低于攻击阈值。当单台主机的DHCP报文速度超过限速水线时,就丢弃超限的DHCP报文。如果单台主机的DHCP报文速度超过攻击阈值,将采取隔离措施,记录到日志中,发送TRAP。
如果检测到攻击行为,打印的日志信息格式如下:
%NFPP_DHCP_GUARD-4-DOS_DETECTED: Host was detected. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
DHCP DoS attack from host was detected.
如果管理员把隔离时间配置成非零值,当硬件隔离成功时,打印的日志信息格式如下所示:
%NFPP_DHCP_GUARD-4-ISOLATED:Host was isolated. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Host was isolated.
当硬件隔离失败(原因通常是内存不足或者硬件资源不足)时,打印的日志信息格式如下所示:
%NFPP_DHCP_GUARD-4-ISOLATE_FAIL:Failed to isolate host.(2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Failed to isolate host.
注意
当无法为检测到的攻击者分配内存时,打印日志“%NFPP_DHCP_GUARD-4-NO_MEMORY: Failed to alloc memory.”提醒管理员。
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#dhcp-guard rate-limit per-src-mac pps
全局对每台主机的DHCP报文速度进行限制。
取值范围是1到9999,缺省值为5个。
“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 4
Ruijie(config-nfpp)#dhcp-guard attack-threshold per-src-mac pps
配置攻击阈值。当某台主机的DHCP报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为10个。
“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp dhcp-guard policy per-src-mac rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp dhcp-guard summary
核对配置参数
Step 11
Ruijie#copy running-config startup-config
保存配置。
63.3.4.1.6 基于端口限速和识别攻击
每个端口都有限速水线和攻击阈值,限速水线必须低于攻击阈值。当某个端口的DHCP报文速度超过限速水线时,就丢弃超限DHCP报文。如果某个端口的DHCP报文速度超过攻击阈值,将记录到日志中,发送TRAP。
当端口遭受DHCP拒绝服务攻击时,打印的警告信息格式如下:
%NFPP_DHCP_GUARD-4-PORT_ATTACKED: DHCP DoS attack was detected on port Gi4/1. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
DHCP DoS attack was detected on port Gi4/1.
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#dhcp-guard rate-limit per-port pps
对每个端口的DHCP报文速度进行限制。
取值范围是1到9999,缺省值为150个。
Step 4
Ruijie(config-nfpp)#dhcp-guard attack-threshold per-port pps
配置攻击阈值,当某个端口的DHCP报文超过阈值时,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为300个。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp dhcp-guard policy per-port rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp dhcp-guard summary
核对配置参数
Step 11
Ruijie#copy running-config startup-config
保存配置。
注意
基于链路层源MAC地址限速优先于基于端口限速处理。
63.3.4.1.7 清除受监控主机
已被隔离的主机在一段时间后自动恢复,如果管理员要手动清除该主机,可以在特权模式下用以下命令清除。
命令
作用
Step 1
Ruijie#clear nfpp dhcp-guard hosts [vlan vid] [interface interface-id] [mac-address]
不带参数表示清除所有已被检测到攻击的主机,带参数表示清除符合条件的主机。
63.3.4.1.8 查看DHCP抗攻击的相关信息
⏹ 查看DHCP抗攻击的配置参数
⏹ 查看受监控主机的信息
查看DHCP抗攻击的配置参数
使用show nfpp dhcp-guard summary查看DHCP抗攻击的配置参数:
命令
作用
Step 1
Ruijie#show nfpp dhcp-guard summary
查看DHCP抗攻击配置参数
下面是一个例子:
Ruijie# show nfpp dhcp-guard summary
(Format of column Rate-limit and Attack-threshold is per-src-ip/per-src-mac/per-port.)
Interface Status Isolate-period Rate-limit Attack-threshold
Global Enable 300 -/5/150 -/10/300
G 0/1 Enable 180 -/6/- -/8/-
G 0/2 Disable 200 -/5/30 -/10/50
Maximum count of monitored hosts: 1000
Monitor period:300s
说明
⏹ 字段Interface为Global表示全局配置。
⏹ 字段Status表示是否打开抗攻击功能。
⏹ 字段Rate-limit的格式为(对源IP地址的限速水线/对源MAC地址的限速水线/端口的限速水线值),字段Attack-threshold的显示格式类似。“-”表示没有配置。举例说明:
(1) “-/5/150”表示对源MAC地址的限速水线是5,对每个端口的限速水线是150。
(2) G 0/1这一行的字段Rate-limit为“-/6/-”,表示端口G 0/1对源MAC地址的限速水线是6,没有配置对端口的限速水线。
查看受监控主机的信息
命令
作用
Step 1
Ruijie#show nfpp dhcp-guard hosts statistics
查看受监控主机表的统计信息,包括主机总数、隔离成功的主机数量和隔离失败的主机数量。
Step 2
Ruijie#show nfpp dhcp-guard hosts [vlan vid] [interface interface-id] [mac-address ]
查看已被检测到攻击的主机。
不带参数表示显示所有已被检测到攻击的主机,带参数则只显示符合条件的主机。
Ruijie# show nfpp dhcp-guard hosts statistics
success fail total
------ ---- -----
100 20 120
表示:“总共有120台主机被监控,其中100台主机隔离成功,20台主机隔离失败”。
Ruijie# show nfpp dhcp-guard hosts
If column 1 shows '*', it means "hardware failed to isolate host".
VLAN interface MAC address remain-time(s)
---- -------- ----------- -------------
*1 Gi0/1 0000.0000.0001 110
2 Gi0/2 0000.0000.2222 61
Total:2 host(s)
Ruijie# show nfpp dhcp-guard hosts vlan 1 interface g 0/1 0000.0000.0001
If column 1 shows '*', it means "hardware failed to isolate host".
VLAN interface MAC address remain-time(s)
---- -------- ----------- -------------
*1 Gi0/1 0000.0000.0001 110
Total:1 host(s)
说明
上述几个字段分别表示VLAN号、端口、IP地址、MAC地址,以及隔离剩余时间。
如果某一行的第一列显示“*”, 表示这台主机目前只是软件监控或者硬件因为资源不足而隔离失败。
63.3.5 DHCPv6抗攻击
63.3.5.1DHCPv6抗攻击简介
DHCPv6协议被广泛地应用在局域网环境里来动态分配IPv6地址。和DHCPv4协议一样,DHCPv6协议存在安全问题,对DHCPv4协议的攻击方法同样适用于DHCPv6协议。网络攻击者可以发出大量DHCPv6请求,在一段时间内耗竭DHCPv6服务器所提供的地址空间,这样当一台合法的主机请求一个IPv6地址的时候无法成功,从而无法访问网络。对于这种攻击,防范措施是一方面对DHCPv6报文限速,另一方面检测出攻击源,对攻击源头采取隔离措施。
DHCPv6攻击识别分为基于主机和基于物理端口两个类别。基于主机方式是采用链路层源MAC地址/虚拟局域网号/端口三者结合来识别的。每种攻击识别都有限速水线和告警水线。当DHCP报文速率超过限速水线时,超限的DHCPv6报文将被丢弃。当DHCPv6报文速率超过告警水线时,将打印警告信息,发送TRAP,基于主机的攻击识别还会对攻击源头采取隔离措施。
DHCPv6抗攻击的配置命令包括:
⏹ 打开DHCPv6抗攻击功能
⏹ 设置对攻击者的隔离时间
⏹ 设置对攻击者的监控时间
⏹ 设置受监控主机的最大数目
⏹ 基于主机限速和识别攻击
⏹ 基于端口限速和识别攻击
⏹ 清除受监控主机
⏹ 查看DHCPv6抗攻击的相关信息
63.3.5.1.1 打开DHCPv6抗攻击功能
管理员可以在nfpp配置模式或者接口配置模式下打开DHCPv6抗攻击功能,缺省情况下就是打开的。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#dhcpv6-guard enable
打开DHCPv6抗攻击功能,缺省情况下就是打开的。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp dhcpv6-guard enable
在端口上打开DHCPv6抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp dhcpv6-guard summary
核对配置参数
Step 10
Ruijie#copy running-config startup-config
保存配置。
注意
当关闭DHCPv6抗攻击功能时,系统将自动清除已经被监控的主机。
63.3.5.1.2 设置对攻击者的隔离时间
对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模块
Step 3
Ruijie(config-nfpp)#dhcpv6-guard isolate-period [seconds | permanent]
配置对攻击者的全局隔离时间。
取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp dhcpv6-guard isolate-period [seconds | permanent]
在端口上配置对攻击者的隔离时间。
取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp dhcpv6-guard summary
核对配置参数
Step10
Ruijie#copy running-config startup-config
保存配置。
如果要把全局隔离时间恢复成缺省值,在nfpp配置模式执行命令“no dhcpv6-guard isolate-period”。如果一个端口原来配置了局部隔离时间,现在想采用全局隔离时间,那么在接口配置模式下执行命令“no nfpp dhcpv6-guard isolate-period”把局部隔离时间配置删除。
63.3.5.1.3 设置对攻击者的监控时间
如果隔离时间为0(即不隔离),防攻击模块将自动根据配置的监控时间对攻击者进行软件监控,提供当前系统中存在哪些攻击者的信息。当把隔离时间配置成非零值后,防攻击模块将自动对软件监控的主机采取硬件隔离。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式
Step 3
Ruijie(config-nfpp)#dhcpv6-guard monitor-period seconds
配置对攻击者的监控时间。
取值范围为180秒到86400秒(即一天),缺省值为600秒。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp dhcpv6-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no dhcpv6-guard monitor-period”。
注意
⏹ 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。
⏹ 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行软件监控。
63.3.5.1.4 设置受监控主机的最大数目
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#dhcpv6-guard monitored-host-limit number
配置受监控主机的最大数目。
取值范围为1到4294967295,缺省情况下受监控主机的最大数目为1000个。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#show nfpp dhcpv6-guard summary
核对配置参数
Step 6
Ruijie#copy running-config startup-config
保存配置。
如果要把配置的最大受监控主机数恢复成缺省值,在nfpp配置模式执行命令“no dhcpv6-guard monitored-host-limit”。
如果受监控主机数已经达到默认的1000个,此时管理员把受监控主机的最大数目设置成小于1000,不会删除已有的受监控主机,而是打印信息“%ERROR:The value that you configured is smaller than current monitored hosts 1000(配置的受监控主机数) ,please clear a part of monitored hosts.”来提醒管理员配置没有生效,需要删除部分已经被监控的主机。
注意
当受监控主机表满时,打印日志“% NFPP_DHCPV6_GUARD-4-SESSION_LIMIT: Attempt to exceed limit of 1000(配置的受监控主机数) monitored hosts.”提醒管理员。
63.3.5.1.5 基于主机限速和识别攻击
识别主机的方法为链路层源MAC/VID/端口。每台主机都有限速水线和攻击阈值(也称为告警水线),限速水线必须低于攻击阈值。当单台主机的DHCPv6报文速度超过限速水线时,就丢弃超限的DHCPv6报文。如果单台主机的DHCPv6报文速度超过攻击阈值,将采取隔离措施,记录到日志中,发送TRAP。
如果检测到攻击行为,打印的日志信息格式如下:
%NFPP_DHCPV6_GUARD-4-DOS_DETECTED: Host was detected. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
DHCPv6 DoS attack from host was detected.
如果管理员把隔离时间配置成非零值,当硬件隔离成功时,打印的日志信息格式如下所示:
%NFPP_DHCPV6_GUARD-4-ISOLATED:Host was isolated. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Host was isolated.
当硬件隔离失败(原因通常是内存不足或者硬件资源不足)时,打印的日志信息格式如下所示:
%NFPP_DHCPV6_GUARD-4-ISOLATE_FAIL:Failed to isolate host.(2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
Failed to isolate host.
注意
当无法为检测到的攻击者分配内存时,打印日志“%NFPP_DHCPV6_GUARD-4-NO_MEMORY: Failed to alloc memory.”提醒管理员。
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#dhcpv6-guard rate-limit per-src-mac pps
全局对每台主机的DHCPv6报文速度进行限制。
取值范围是1到9999,缺省值为5个。
“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 4
Ruijie(config-nfpp)#dhcpv6-guard attack-threshold per-src-mac pps
配置攻击阈值。当某台主机的DHCPv6报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为10个。
“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp dhcpv6-guard policy per-src-mac rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
“per-src-mac”是基于链路层源MAC/VID/端口识别主机。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp dhcpv6-guard summary
核对配置参数
Step 11
Ruijie#copy running-config startup-config
保存配置。
63.3.5.1.6 基于端口限速和识别攻击
每个端口都有限速水线和攻击阈值,限速水线必须低于攻击阈值。当某个端口的DHCPv6报文速度超过限速水线时,就丢弃超限DHCPv6报文。如果某个端口的DHCP报文速度超过攻击阈值,将记录到日志中,发送TRAP。
当端口遭受DHCPv6拒绝服务攻击时,打印的警告信息格式如下:
%NFPP_DHCPV6_GUARD-4-PORT_ATTACKED: DHCPv6 DoS attack was detected on port Gi4/1. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
DHCPv6 DoS attack was detected on port Gi4/1.
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#dhcpv6-guard rate-limit per-port pps
对每个端口的DHCPv6报文速度进行限制。
取值范围是1到9999,缺省值为150个。
Step 4
Ruijie(config-nfpp)#dhcpv6-guard attack-threshold per-port pps
配置攻击阈值,当某个端口的DHCPv6报文超过攻击阈值时,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为300个。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp dhcpv6-guard policy per-port rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999。
attack-threshold-pps是攻击水线,取值范围是1到9999。
缺省情况是端口没有自己的限速水线和攻击水线,采用全局的限速水线和攻击水线。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp dhcpv6-guard summary
核对配置参数
Step 11
Ruijie#copy running-config startup-config
保存配置。
注意
基于链路层源MAC地址限速优先于基于端口限速处理。
63.3.5.1.7 清除受监控主机
已被隔离的主机在一段时间后自动恢复,如果管理员要手动清除该主机,可以在特权模式下用以下命令清除。
命令
作用
Step 1
Ruijie#clear nfpp dhcpv6-guard hosts [vlan vid] [interface interface-id] [mac-address]
不带参数表示清除所有已被检测到攻击的主机,带参数表示清除符合条件的主机。
63.3.5.1.8 查看DHCPv6抗攻击的相关信息
⏹ 查看DHCPv6抗攻击的配置参数
⏹ 查看受监控主机的信息
查看DHCPv6抗攻击的配置参数
使用show nfpp dhcpv6-guard summary查看DHCP抗攻击的配置参数:
命令
作用
Step 1
Ruijie#show nfpp dhcpv6-guard summary
查看DHCP抗攻击配置参数
下面是一个例子:
Ruijie# show nfpp dhcpv6-guard summary
(Format of column Rate-limit and Attack-threshold is per-src-ip/per-src-mac/per-port.)
Interface Status Isolate-period Rate-limit Attack-threshold
Global Enable 300 -/5/150 -/10/300
G 0/1 Enable 180 -/6/- -/8/-
G 0/2 Disable 200 -/5/30 -/10/50
Maximum count of monitored hosts: 1000
Monitor period:300s
说明
⏹ 字段Interface为Global表示全局配置。
⏹ 字段Status表示是否打开抗攻击功能。
⏹ 字段Rate-limit的格式为(对源IP地址的限速水线/对源MAC地址的限速水线/端口的限速水线值),字段Attack-threshold的显示格式类似。“-”表示没有配置。举例说明:
(1) “-/5/150”表示对源MAC地址的限速水线是5,对每个端口的限速水线是150。
(2) G 0/1这一行的字段Rate-limit为“-/6/-”,表示端口G 0/1对源MAC地址的限速水线是6,没有配置对端口的限速水线。
查看受监控主机的信息
命令
作用
Step 1
Ruijie#show nfpp dhcpv6-guard hosts statistics
查看受监控主机表的统计信息,包括主机总数、隔离成功的主机数量和隔离失败的主机数量。
Step 2
Ruijie#show nfpp dhcpv6-guard hosts [vlan vid] [interface interface-id] [mac-address ]
查看已被检测到攻击的主机。
不带参数表示显示所有已被检测到攻击的主机,带参数则只显示符合条件的主机。
Ruijie# show nfpp dhcpv6-guard hosts statistics
success fail total
------ ---- -----
100 20 120
表示:“总共有120台主机被监控,其中100台主机隔离成功,20台主机隔离失败”。
Ruijie# show nfpp dhcpv6-guard hosts
If column 1 shows '*', it means "hardware failed to isolate host".
VLAN interface MAC address remain-time(s)
---- -------- ----------- -------------
*1 Gi0/1 0000.0000.0001 110
2 Gi0/2 0000.0000.2222 61
Total:2 host(s)
Ruijie# show nfpp dhcpv6-guard hosts vlan 1 interface g 0/1 0000.0000.0001
If column 1 shows '*', it means "hardware failed to isolate host".
VLAN interface MAC address remain-time(s)
---- -------- ----------- -------------
*1 Gi0/1 0000.0000.0001 110
Total:1 host(s)
说明
上述几个字段分别表示VLAN号、端口、IP地址、MAC地址,以及隔离剩余时间。
如果某一行的第一列显示“*”, 表示这台主机目前只是软件监控或者硬件因为资源不足而隔离失败。
63.3.6 ND抗攻击
63.3.6.1ND抗攻击简介
ND的全称是Neighbor Discovery,翻译成汉语是“邻居发现”,在IPv6网络中主要负责地址解析、路由器发现、前缀发现和重定向。邻居发现使用5类报文:邻居请求、邻居公告、路由器请求、路由器公告和重定向报文,英语名称分别为Neighbor Solicitation、Neighbor Advertisement、Router Solicitation、Router Advertisement和Redirect,前四类报文的英语缩写分别为NS、NA、RS和RA。下文把邻居发现使用的5类报文统称为ND报文。
ND snooping通过监听网络中的ND报文,过滤非法的ND报文,监听网络中的IPv6用户,并将监听到的IPv6用户绑定到端口,防止IPv6地址盗用。ND snooping要求把ND报文送CPU,如果ND报文的速率很高,会造成对CPU的攻击,所以需要实现ND guard,对ND报文进行限速。
ND guard按用途把ND报文分成3类:邻居请求和邻居公告为第一类,路由器请求为第二类,路由器公告和重定向报文为第三类。第一类报文用于地址解析;第二类报文用于主机发现网关;路由器公告用于通告网关和前缀,重定向报文用于通告更优的下一跳,都和路由有关系。所以划分到第三类。
目前仅实现基于物理端口识别ND报文攻击。可以对三类报文分别配置限速水线和告警水线。当ND报文速率超过限速水线时,超限的ND报文将被丢弃。当ND报文速率超过告警水线时,将打印警告信息,发送TRAP。
ND抗攻击的配置命令包括:
⏹ 打开ND抗攻击功能
⏹ 基于端口限速和识别攻击
⏹ 查看ND抗攻击的相关信息
63.3.6.1.1 打开ND抗攻击功能
管理员可以在nfpp配置模式或者接口配置模式下打开ND抗攻击功能,缺省情况下就是打开的。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#nd-guard enable
打开ND抗攻击功能,缺省情况下就是打开的。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie#configure terminal
进入全局配置模式。
Step 6
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 7
Ruijie(config-if)#nfpp nd-guard enable
在端口上打开ND抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。
Step 8
Ruijie(config-if)#end
退回到特权模式。
Step 9
Ruijie#show nfpp nd-guard summary
核对配置参数
Step 10
Ruijie#copy running-config startup-config
保存配置。
63.3.6.1.2 基于端口限速和识别攻击
每个端口都有限速水线和攻击阈值,限速水线必须低于攻击阈值。当某个端口的ND报文速度超过限速水线时,就丢弃超限ND报文。如果某个端口的ND报文速度超过攻击阈值,将记录到日志中,发送TRAP。
ND snooping把端口划分为非信任端口和信任端口,非信任端口连接主机,信任端口连接网关。由于通常信任端口的流量大于非信任端口的流量,所以信任端口的限速水线应该高于非信任端口的限速水线,开启ND snooping功能时,对于信任端口,ND snooping将通告ND guard把端口的三类报文限速水线都设置成每秒800个,把攻击水线都设置成每秒900个。
ND guard同等对待ND snooping设置的限速水线和管理员配置的限速水线,后配置的值覆盖先配置的值。具体的说,就是:“如果管理员在该端口上先配置限速水线,然后ND snooping设置限速水线,那么ND snooping设置限速水线覆盖管理员配置的限速水线;如果ND snooping先设置限速水线,然后管理员在该端口上配置限速水线,那么管理员配置的限速水线覆盖ND snooping设置的限速水线。”
在管理员保存配置的时候,将把ND snooping设置的限速水线保存到配置文件中。
ND snooping设置的攻击水线和管理员配置的攻击水线的关系类似。
当端口遭受邻居请求/公告拒绝服务攻击时,打印的警告信息格式如下:
%NFPP_ND_GUARD-4-PORT_ATTACKED: NS-NA DoS attack was detected on port Gi4/1. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
NS-NA DoS attack was detected on port Gi4/1.
当端口遭受路由器请求拒绝服务攻击时,打印的警告信息格式如下:
%NFPP_ND_GUARD-4-PORT_ATTACKED: RS DoS attack was detected on port Gi4/1. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
RS DoS attack was detected on port Gi4/1.
当端口遭受路由器公告/重定向报文拒绝服务攻击时,打印的警告信息格式如下:
%NFPP_ND_GUARD-4-PORT_ATTACKED: RA-REDIRECT DoS attack was detected on port Gi4/1. (2009-07-01 13:00:00)
发送的TRAP报文的数据包含如下描述信息:
RA-REDIRECT DoS attack was detected on port Gi4/1.
管理员可以在nfpp配置模式和接口配置模式下进行配置。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)#nd-guard rate-limit per-port [ns-na | rs | ra-redirect] pps
对每个端口的ND报文速度进行限制。
取值范围是1到9999,缺省值为15个。
Step 4
Ruijie(config-nfpp)#nd-guard attack-threshold per-port [ns-na | rs | ra-redirect] pps
配置攻击阈值,当某个端口的ND报文超过攻击阈值时,记录到日志,发送TRAP。
取值范围是1到9999,缺省值为30个。
Step 5
Ruijie(config-nfpp)#end
退回到特权模式。
Step 6
Ruijie#configure terminal
进入全局配置模式。
Step 7
Ruijie(config)#interface interface-name
进入接口配置模式。
Step 8
Ruijie(config-if)#nfpp nd-guard policy per-port [ns-na | rs | ra-redirect] rate-limit-pps attack-threshold-pps
配置局部的限速水线和攻击水线,只在该配置所属端口上生效。
rate-limit-pps是限速水线,取值范围是1到9999。
attack-threshold-pps是攻击水线,取值范围是1到9999。
Step 9
Ruijie(config-if)#end
退回到特权模式。
Step 10
Ruijie#show nfpp nd-guard summary
核对配置参数
Step 11
Ruijie#copy running-config startup-config
保存配置。
63.3.6.1.3 查看ND抗攻击的相关信息
⏹ 查看DHCPv6抗攻击的配置参数
查看ND抗攻击的配置参数
使用show nfpp nd-guard summary查看ND抗攻击的配置参数:
命令
作用
Step 1
Ruijie#show nfpp nd-guard summary
查看ND抗攻击配置参数
下面是一个例子:
Ruijie# show nfpp nd-guard summary
(Format of column Rate-limit and Attack-threshold is NS-NA/RS/RA-REDIRECT.)
Interface Status Rate-limit Attack-threshold
Global Enable 20/5/10 40/10/20
G 0/1 Enable 15/15/15 30/30/30
G 0/2 Disable -/5/30 -/10/50
说明
⏹ 字段Interface为Global表示全局配置。
⏹ 字段Status表示是否打开抗攻击功能。
⏹ 字段Rate-limit的格式为(对邻居请求/公告的限速水线/对路由器请求的限速水线/对路由器公告/重定向报文的限速水线),字段Attack-threshold的显示格式类似。“-”表示没有配置。
举例说明:“-/5/30”表示在端口G 0/2上没有配置邻居请求/公告的限速水线,对路由器请求的限速水线是5,对路由器公告/重定向报文的限速水线是30。
63.3.7 NFPP日志信息
63.3.7.1NFPP日志信息简介
当NFPP检测到攻击后,在专用日志缓冲区生成一条日志。NFPP以一定速率从专用缓冲区取出日志,生成系统消息,并且从专用日志缓冲区清除这条日志。
抗攻击日志信息的配置命令包括:
⏹ 配置日志缓冲区容量
⏹ 配置生成系统消息的速率
⏹ 配置日志过滤
⏹ 清除日志
⏹ 显示日志
63.3.7.1.1 配置日志缓冲区容量
管理员可以在nfpp配置模式下配置日志缓冲区的容量。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)# log-buffer entries number
配置NFPP日志缓冲区大小(范围0-1024),单位是日志条数,缺省值为256。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie# show nfpp log summary
核对配置参数。
63.3.7.1.2 配置生成系统消息的速率
管理员可以在nfpp配置模式下配置生成系统消息的速率。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)# log-buffer logs number_of_message interval length_in_seconds
配置从专用日志缓冲区取日志生成系统消息的速率。生成系统消息的速率为number_of_message /length_in_seconds,生成系统消息的同时还会删除专用缓冲区中的对应信息
number_of_message,缺省值为1,范围为0-1024,0表示日志全部记录在专用缓冲区,不生成系统消息。
length_in_seconds,缺省值为30,范围为0-86400s(1天),0表示日志立即生成系统消息。
number_of_message和length_in_seconds都为0表示日志立即生成系统消息。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie# show nfpp log summary
核对配置参数。
63.3.7.1.3 配置日志过滤
管理员可以对日志进行过滤,只记录指定VLAN或指定端口的日志信息。
命令
作用
Step 1
Ruijie#configure terminal
进入全局配置模式。
Step 2
Ruijie(config)#nfpp
进入NFPP配置模式。
Step 3
Ruijie(config-nfpp)# logging vlan vlan-range
Ruijie(config-nfpp)# logging interface interface-id
指定需要记录哪些VLAN的日志。
指定需要记录哪个端口的日志。
缺省情况是所有日志都记录。
Step 4
Ruijie(config-nfpp)#end
退回到特权模式。
Step 5
Ruijie# show nfpp log summary
核对配置参数。
63.3.7.1.4 清除日志
命令
作用
Step 1
Ruijie# clear nfpp log
清空日志缓冲区。
63.3.7.1.5 显示日志
命令
作用
Step 1
Ruijie# show nfpp log summary
查看NFPP日志信息配置。
Step 2
Ruijie# show nfpp log buffer [statistics]
显示NFPP的日志缓冲区。
带参数statistics表示显示日志缓冲区中的日志条数。
查看NFPP日志信息配置。
Ruijie#show nfpp log summary
Total log buffer size : 10
Syslog rate : 1 entry per 2 seconds
Logging:
VLAN 1-3, 5
interface Gi 0/1
interface Gi 0/2
查看NFPP日志缓冲区中日志条数。
Ruijie#show nfpp log buffer statistics
There are 6 logs in buffer.
查看NFPP的日志缓冲区。
Ruijie#show nfpp log buffer
Protocol VLAN Interface IP address MAC address Reason Timestamp
------- ---- -------- --------- ----------- ------ ---------
ARP 1 Gi0/1 1.1.1.1 - DoS 2009-05-30 16:23:10
ARP 1 Gi0/1 1.1.1.1 - ISOLATED 2009-05-30 16:23:10
ARP 1 Gi0/1 1.1.1.2 - DoS 2009-05-30 16:23:15
ARP 1 Gi0/1 1.1.1.2 - ISOLATE_FAILED 2009-05-30 16:23:15
ARP 1 Gi0/1 - 0000.0000.0001 SCAN 2009-05-30 16:30:10
ARP - Gi0/2 - - PORT_ATTACKED 2009-05-30 16:30:10
Protocol有以下取值:
⏹ ARP(对应ARP抗攻击)
⏹ IP(对应IP防扫描)
⏹ ICMP(对应ICMP抗攻击)
⏹ DHCP(对应DHCP抗攻击)
⏹ DHCPv6(对应DHCPv6抗攻击)
⏹ NS-NA(对应ND抗攻击中的邻居请求和邻居公告)
⏹ RS(对应ND抗攻击中的路由器请求)
⏹ RA-REDIRECT(对应ND抗攻击中的路由器公告和重定向报文)
Reason表示原因,有5种取值:
⏹ DoS表示检测到拒绝服务攻击
⏹ ISOLATED表示攻击者被硬件成功地隔离
⏹ ISOLATE_FAILED表示隔离攻击者失败
⏹ SCAN表示检测到扫描
⏹ PORT_ATTACKED表示端口被攻击
注意
⏹ 当日志缓冲区溢出时,后续的日志将被丢弃,同时在日志缓冲区中显示一条所有属性都为”-”的表项。管理员需要增加日志缓冲区容量或者提高生成系统消息的速率。
⏹ 从日志缓冲区取日志生成的系统消息带有事件发生的时间戳,如下所示:
%NFPP_ARP_GUARD-4-DOS_DETECTED: Host was detected.(2009-07-01 13:00:00)