nfpp(锐捷) 下载本文

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抗攻击的相关信息

63.3.1.1.1 打开ARP抗攻击功能

您可以在nfpp配置模式或者接口配置模式下打开ARP抗攻击功能,缺省情况下是打开的。

Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#arp-guard enable Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name Ruijie(config-if)#nfpp arp-guard enable Ruijie(config-if)#end Ruijie#show nfpp arp-guard summary 进入全局配置模式。 进入NFPP配置模式。 全局打开ARP抗攻击功能,缺省情况下打开。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 在端口上打开ARP抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。 退回到特权模式。 核对配置参数 保存配置。 作用 Step 10 Ruijie#copy running-config startup-config

? 注意

当关闭ARP抗攻击功能时,系统将自动清除受监控的主机和扫描主机。

63.3.1.1.2 设置对攻击者的隔离时间

对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。

Step 1 Step 2 Step 3

Ruijie(config-nfpp)#arp-guard isolate-period [seconds | permanent] Step 4 Step 5

Ruijie(config-nfpp)#end Ruijie#configure terminal 命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 进入NFPP配置模式 配置对攻击者的全局隔离时间。 取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。 返回特权模式 进入全局配置模式。 作用 Step 6 Step 7

Ruijie(config)#interface interface-name 进入接口配置模式。 在端口上配置对攻击者的隔离时间。 取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。 退回到特权模式。 核对配置参数 保存配置。 Ruijie(config-if)#nfpp arp-guard isolate-period [seconds | permanent] Step 8 Step 9 Step10

Ruijie(config-if)#end Ruijie#show nfpp arp-guard summary 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 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#arp-guard monitor-period seconds Ruijie(config-nfpp)#end Ruijie#show nfpp arp-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 进入NFPP配置模式 配置对攻击者的监控时间。 取值范围为180秒到86400秒(即一天),缺省值为600秒。 退回到特权模式。 核对配置参数 保存配置。 作用 Step 4 Step 5 Step 6

如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no arp-guard monitor-period”。

? 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控

? 注意

时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。

? 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行

软件监控。

63.3.1.1.4 设置受监控主机的最大数目

Step 1 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#arp-guard monitored-host-limit number Ruijie(config-nfpp)#end Ruijie#show nfpp arp-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 作用 进入NFPP配置模式。 配置受监控主机的最大数目。 取值范围为1到4294967295,缺省情况下受监控主机的最大数目为1000个。 退回到特权模式。 核对配置参数 保存配置。 Step 4 Step 5 Step 6

如果要把配置的受监控主机数恢复成缺省值,在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 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 作用 进入NFPP配置模式 全局对每台主机的ARP报文速度进行限制。 取值范围是1到9999,缺省值为4个。 “per-src-ip”是基于源IP/VID/端口识别主机,“per-src-mac”是基于链路层源MAC/VID/端口识别主机。 全局配置攻击阈值。当某台主机的ARP报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。 取值范围是1到9999,缺省值为8个。 “per-src-ip”是基于源IP/VID/端口识别主机,“per-src-mac”是基于链路层源MAC/VID/端口识别主机。 全局配置ARP扫描阈值,取值范围是1到9999,缺省值为15个。单位值是10秒。如果10秒钟收到15个以上ARP报文,链路层源MAC地址固定而源IP地址变化,或者链路层源MAC地址和源IP地址固定而目标IP地址不断变化,就认为有扫描嫌疑。 说明:ARP扫描的特征是链路层源MAC地址固定而源IP地址变化,或者链路层源MAC地址和源IP地址固定而目标IP地址不断变化。 Ruijie(config-nfpp)#arp-guard rate-limit {per-src-ip | per-src-mac} pps Step 4

Ruijie(config-nfpp)#arp-guard attack-threshold {per-src-ip | per-src-mac} pps Step 5

Ruijie(config-nfpp)#arp-guard scan-threshold pkt-cnt Step 6 Step 7 Step 8 Step 9

Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 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 Step 2 Step 3 Step 4

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#arp-guard rate-limit per-port pps Ruijie(config-nfpp)#arp-guard attack-threshold per-port pps Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name Ruijie(config-if)#nfpp arp-guard policy per-port rate-limit-pps attack-threshold-pps 进入全局配置模式。 进入NFPP配置模式 对每个端口的ARP报文速度进行限制。 取值范围是1到9999,缺省值为100个。 配置攻击阈值,当某个端口的ARP报文超过阈值时,记录到日志,发送TRAP。 取值范围是1到9999,缺省值为200个。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 作用 Step 5 Step 6 Step 7 Step 8

配置局部的限速水线和攻击水线,只在该配置所属端口上生效。 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 Step 2

命令 Ruijie#show nfpp arp-guard hosts statistics 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 \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 \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 Step 2

命令 Ruijie#show nfpp arp-guard scan statistic Ruijie#show nfpp arp-guard scan [vlan vid] [interface interface-id] [ip-address] [mac-address] 作用 查看ARP扫描表的记录条数 查看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 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#ip-guard enable Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name Ruijie(config-if)#nfpp ip-guard enable Ruijie(config-if)#end Ruijie#show nfpp ip-guard summary 进入全局配置模式。 进入NFPP配置模式。 全局打开IP防扫描功能,缺省情况下打开。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 在端口上打开IP防扫描功能,缺省情况是端口没有配置局部开关,采用全局开关。 退回到特权模式。 核对配置参数 保存配置。 作用 Step 10 Ruijie#copy running-config startup-config

? 注意

当关闭IP防扫描功能时,系统将自动清除受监控的主机。

63.3.2.1.2 设置对攻击者的隔离时间

对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。

Step 1 Step 2 Step 3

Ruijie(config-nfpp)#ip-guard isolate-period [seconds | permanent] Step 4 Step 5

Ruijie(config-nfpp)#end Ruijie#configure terminal 命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 进入NFPP配置模式 配置对攻击者的全局隔离时间。 取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。 返回特权模式 进入全局配置模式。 作用 Step 6 Step 7

Ruijie(config)#interface interface-name 进入接口配置模式。 在端口上配置对攻击者的隔离时间。 取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。 退回到特权模式。 核对配置参数 保存配置。 Ruijie(config-if)#nfpp ip-guard isolate-period [seconds | permanent] Step 8 Step 9 Step10

Ruijie(config-if)#end Ruijie#show nfpp ip-guard summary 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 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#ip-guard monitor-period seconds Ruijie(config-nfpp)#end Ruijie#show nfpp ip-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 进入NFPP配置模式 配置对攻击者的监控时间。 取值范围为180秒到86400秒(即一天),缺省值为600秒。 退回到特权模式。 核对配置参数 保存配置。 作用 Step 4 Step 5 Step 6

如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no ip-guard monitor-period”。

? 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控

? 注意

时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。

? 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行

软件监控。

63.3.2.1.4 设置受监控主机的最大数目

Step 1 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#ip-guard monitored-host-limit number Ruijie(config-nfpp)#end Ruijie#show nfpp ip-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 作用 进入NFPP配置模式。 配置受监控主机的最大数目。 取值范围为1到4294967295,缺省情况下受监控主机的最大数目为1000个。 退回到特权模式。 核对配置参数 保存配置。 Step 4 Step 5 Step 6

如果要把配置的受监控主机数恢复成缺省值,在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_M

EMORY: Failed to alloc memory..”提醒管理员。

管理员可以在nfpp配置模式和接口配置模式下进行配置。

Step 1 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#ip-guard rate-limit per-src-ip pps 进入全局配置模式。 进入NFPP配置模式 作用 全局对每台主机的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/端口识别主机。 全局配置IP扫描阈值,取值范围是1到9999,缺省值为100个,时间单位是10秒。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 Step 5 Step 6 Step 7 Step 8

Ruijie(config-nfpp)#ip-guard scan-threshold pkt-cnt Ruijie(config-nfpp)#end Ruijie#configure terminal 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/端口识别主机。 配置局部的IP扫描阈值,取值范围是1到9999。 缺省情况是端口没有自己的扫描阈值,采用全局的扫描阈值。 退回到特权模式。 核对配置参数 保存配置。 Step 10

Ruijie(config-if)#nfpp ip-guard scan-threshold pkt-cnt 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 Step 2 Step 3 Step 4

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#ip-guard rate-limit per-port pps Ruijie(config-nfpp)#ip-guard attack-threshold per-port pps Ruijie(config-nfpp)#end Ruijie#configure terminal 进入全局配置模式。 进入NFPP配置模式 作用 全局对每个端口的IP报文速度进行限制。 取值范围是1到9999,缺省值为1000个。 配置攻击阈值,当某个端口的IP报文超过阈值时,记录到日志,发送TRAP。 取值范围是1到9999,缺省值为1500个。 退回到特权模式。 进入全局配置模式。 Step 5 Step 6

Step 7 Step 8

Ruijie(config)#interface interface-name 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 Step 2 Step 3 Step 4 Step 5 Step 6

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#ip-guard trusted-host ip mask Ruijie(config-nfpp)#end Ruijie#show nfpp ip-guard trusted-host Ruijie#copy running-config startup-config 进入全局配置模式。 进入NFPP配置模式 作用 配置不进行监控的IP地址范围。 最多能够配置500条。 退回到特权模式。 查看配置的可信主机 保存配置。 在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 Step 2

命令 Ruijie#show nfpp ip-guard hosts statistics 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 \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 \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 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9

Ruijie(config)#nfpp Ruijie(config-nfpp)#icmp-guard enable Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name Ruijie(config-if)#nfpp icmp-guard enable Ruijie(config-if)#end Ruijie#show nfpp icmp-guard summary 进入NFPP配置模式。 打开ICMP抗攻击功能,缺省情况下启动。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 在端口上打开ICMP抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。 退回到特权模式。 核对配置参数 保存配置。 Step 10 Ruijie#copy running-config startup-config

? 注意

当关闭ICMP抗攻击功能时,系统将自动清除已经被监控的主机。

63.3.3.1.2 设置对攻击者的隔离时间

对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。

Step 1 Step 2 Step 3

Ruijie(config-nfpp)#icmp-guard isolate-period [seconds | permanent] Step 4 Step 5 Step 6 Step 7

Ruijie(config-if)#nfpp icmp-guard isolate-period[seconds | permanent] Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name 命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 进入NFPP配置模式 配置对攻击者的全局隔离时间。 取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 在端口上配置对攻击者的隔离时间。 取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。 退回到特权模式。 作用 Step 8

Ruijie(config-if)#end Step 9 Step10

Ruijie#show nfpp icmp-guard summary 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 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#icmp-guard monitor-period seconds Ruijie(config-nfpp)#end Ruijie#show nfpp icmp-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 进入NFPP配置模式 配置对攻击者的监控时间。 取值范围为180秒到86400秒(即一天),缺省值为600秒。 退回到特权模式。 核对配置参数 保存配置。 作用 Step 4 Step 5 Step 6

如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no icmp-guard monitor-period”。

? 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控

? 注意

时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。

? 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行

软件监控。

63.3.3.1.4 设置受监控主机的最大数目

Step 1 Step 2

命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 作用 进入NFPP配置模式。 Step 3

Ruijie(config-nfpp)#icmp-guard monitored-host-limit number Ruijie(config-nfpp)#end Ruijie#show nfpp icmp-guard summary Ruijie#copy running-config startup-config 配置受监控主机的最大数目。 取值范围为1到4294967295个,缺省情况下受监控主机的最大数目为1000个。 退回到特权模式。 核对配置参数 保存配置。 Step 4 Step 5 Step 6

如果要把配置的最大受监控主机数恢复成缺省值,在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 Step 2 Step 3

Ruijie(config-nfpp)#icmp-guard rate-limit per-src-ip pps Step 4

Ruijie(config-nfpp)#icmp-guard attack-threshold per-src-ip pps 命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 进入NFPP配置模式。 全局对每台主机的ICMP报文速度进行限制。 取值范围是1到9999,缺省值是基于端口的全局限速水线(将在下一节说明)的一半。 “per-src-ip”是基于源IP/VID/端口识别主机。 配置攻击阈值。当某台主机的ICMP报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。 取值范围是1到9999,缺省值和基于源IP地址的缺省限速水线相同。 “per-src-ip”是基于源IP/VID/端口识别主机。 Step 5 Step 6 Step 7 Step 8

Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 作用 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 Step 2 Step 3 Step 4

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#icmp-guard rate-limit per-port pps Ruijie(config-nfpp)#icmp-guard attack-threshold per-port pps 进入全局配置模式。 进入NFPP配置模式。 对每个端口的ICMP报文速度进行限制。 取值范围是1到9999,S3760E缺省值是250。 配置攻击阈值,当某个端口的ICMP报文超过阈值时,记录到日志,发送TRAP。 取值范围是1到9999,缺省值和基于端口的缺省限速水线相同。 Step 5 Step 6 Step 7 Step 8

Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name 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 Step 2 Step 3 Step 4 Step 5 Step 6

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#icmp-guard trusted-host ip mask Ruijie(config-nfpp)#end Ruijie#show nfpp icmp-guard trusted-host Ruijie#copy running-config startup-config 进入全局配置模式。 进入NFPP配置模式。 配置不进行监控的IP地址范围。 最多能够配置500条。 退回到特权模式。 查看不监控的可信主机。 保存配置。 作用 在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 Step 2

命令 Ruijie#show nfpp icmp-guard hosts statistics 作用 查看受监控主机表的统计信息,包括主机总数、隔离成功的主机数量和隔离失败的主机数量。 查看已被检测到攻击的主机。 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 \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 \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抗攻击的配置命令包括:

? 63.3.4.1.1 打开DHCP抗攻击功能 ? 63.3.4.1.2 设置对攻击者的隔离时间 ? 63.3.4.1.3 设置对攻击者的监控时间 ? 63.3.4.1.4 设置受监控主机的最大数目 ? 63.3.4.1.5 基于主机限速和识别攻击

? 63.3.4.1.6 基于端口限速和识别攻击 ? 63.3.4.1.7 清除

? 63.3.4.1.8 查看DHCP抗攻击的相关信息

63.3.4.1.1 打开DHCP抗攻击功能

管理员可以在nfpp配置模式或者接口配置模式下打开DHCP抗攻击功能,缺省情况下就是打开的。

Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#dhcp-guard enable Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name Ruijie(config-if)#nfpp dhcp-guard enable Ruijie(config-if)#end Ruijie#show nfpp dhcp-guard summary 进入全局配置模式。 进入NFPP配置模式。 打开DHCP抗攻击功能,缺省情况下就是打开的。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 在端口上打开DHCP抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。 退回到特权模式。 核对配置参数 保存配置。 作用 Step 10 Ruijie#copy running-config startup-config

? 注意

当关闭DHCP抗攻击功能时,系统将自动清除已经被监控的主机。

63.3.4.1.2 设置对攻击者的隔离时间

对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。

Step 1 Step 2

命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 进入NFPP配置模块 作用 Step 3

Ruijie(config-nfpp)#dhcp-guard isolate-period [seconds | permanent] Step 4 Step 5 Step 6 Step 7

Ruijie(config-if)#nfpp dhcp-guard isolate-period [seconds | permanent] Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name 配置对攻击者的全局隔离时间。 取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 在端口上配置对攻击者的隔离时间。 取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。 退回到特权模式。 核对配置参数 保存配置。 Step 8 Step 9 Step10

Ruijie(config-if)#end Ruijie#show nfpp dhcp-guard summary 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 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#dhcp-guard monitor-period seconds Ruijie(config-nfpp)#end Ruijie#show nfpp dhcp-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 进入NFPP配置模式 配置对攻击者的监控时间。 取值范围为180秒到86400秒(即一天),缺省值为600秒。 退回到特权模式。 核对配置参数 保存配置。 作用 Step 4 Step 5 Step 6

如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no dhcp-guard monitor-period”。

? 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控

? 注意

时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。

? 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行

软件监控。

63.3.4.1.4 设置受监控主机的最大数目

Step 1 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#dhcp-guard monitored-host-limit number Ruijie(config-nfpp)#end Ruijie#show nfpp dhcp-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 作用 进入NFPP配置模式。 配置受监控主机的最大数目。 取值范围为1到4294967295,缺省情况下受监控主机的最大数目为1000个。 退回到特权模式。 核对配置参数 保存配置。 Step 4 Step 5 Step 6

如果要把配置的最大受监控主机数恢复成缺省值,在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 Step 2 Step 3

Ruijie(config-nfpp)#dhcp-guard rate-limit per-src-mac pps Step 4

Ruijie(config-nfpp)#dhcp-guard attack-threshold per-src-mac pps 命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 进入NFPP配置模式。 全局对每台主机的DHCP报文速度进行限制。 取值范围是1到9999,缺省值为5个。 “per-src-mac”是基于链路层源MAC/VID/端口识别主机。 配置攻击阈值。当某台主机的DHCP报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。 取值范围是1到9999,缺省值为10个。 “per-src-mac”是基于链路层源MAC/VID/端口识别主机。 Step 5 Step 6

Ruijie(config-nfpp)#end Ruijie#configure terminal 退回到特权模式。 进入全局配置模式。 作用 Step 7 Step 8

Ruijie(config)#interface interface-name 进入接口配置模式。 配置局部的限速水线和攻击水线,只在该配置所属端口上生效。 rate-limit-pps是限速水线,取值范围是1到9999。 attack-threshold-pps是攻击水线,取值范围是Ruijie(config-if)#nfpp dhcp-guard policy per-src-mac rate-limit-pps 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 Step 2 Step 3 Step 4

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#dhcp-guard rate-limit per-port pps Ruijie(config-nfpp)#dhcp-guard attack-threshold per-port pps Ruijie(config-nfpp)#end Ruijie#configure terminal 进入全局配置模式。 进入NFPP配置模式。 对每个端口的DHCP报文速度进行限制。 取值范围是1到9999,缺省值为150个。 配置攻击阈值,当某个端口的DHCP报文超过阈值时,记录到日志,发送TRAP。 取值范围是1到9999,缺省值为300个。 退回到特权模式。 进入全局配置模式。 作用 Step 5 Step 6

Step 7 Step 8

Ruijie(config)#interface interface-name 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 Step 2

命令 Ruijie#show nfpp dhcp-guard hosts statistics 作用 查看受监控主机表的统计信息,包括主机总数、隔离成功的主机数量和隔离失败的主机数量。 查看已被检测到攻击的主机。 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 \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 \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 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9

Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#dhcpv6-guard enable Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name Ruijie(config-if)#nfpp dhcpv6-guard enable Ruijie(config-if)#end Ruijie#show nfpp dhcpv6-guard summary 进入全局配置模式。 进入NFPP配置模式。 打开DHCPv6抗攻击功能,缺省情况下就是打开的。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 在端口上打开DHCPv6抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。 退回到特权模式。 核对配置参数 保存配置。 Step 10 Ruijie#copy running-config startup-config

? 注意

当关闭DHCPv6抗攻击功能时,系统将自动清除已经被监控的主机。

63.3.5.1.2 设置对攻击者的隔离时间

对攻击者的隔离时间分为全局隔离时间和基于端口的隔离时间(即局部隔离时间)。对于某个端口,如果没有配置基于端口的隔离时间,那么采用全局隔离时间;否则,采用基于端口的隔离时间。

Step 1 Step 2 Step 3

Ruijie(config-nfpp)#dhcpv6-guard isolate-period [seconds | permanent] Step 4 Step 5 Step 6

Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name 命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 进入NFPP配置模块 配置对攻击者的全局隔离时间。 取值范围为0秒,30秒到86400秒(即一天),缺省值为0秒,表示不隔离;permanent表示永久隔离。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 作用 Step 7

Ruijie(config-if)#nfpp dhcpv6-guard isolate-period [seconds | permanent] 在端口上配置对攻击者的隔离时间。 取值范围为0秒,180秒到86400秒(即一天),缺省情况是没有配置局部隔离时间,采用全局隔离时间。0秒表示不隔离;permanent表示永久隔离。 退回到特权模式。 核对配置参数 保存配置。 Step 8 Step 9 Step10

Ruijie(config-if)#end Ruijie#show nfpp dhcpv6-guard summary 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 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#dhcpv6-guard monitor-period seconds Ruijie(config-nfpp)#end Ruijie#show nfpp dhcpv6-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 进入NFPP配置模式 配置对攻击者的监控时间。 取值范围为180秒到86400秒(即一天),缺省值为600秒。 退回到特权模式。 核对配置参数 保存配置。 作用 Step 4 Step 5 Step 6

如果要把监控时间恢复成缺省值,在nfpp配置模式执行命令“no dhcpv6-guard monitor-period”。

? 检测出攻击者的时候,如果隔离时间为0,将对攻击者进行软件监控,超时为监控

? 注意

时间。在软件监控过程中,当隔离时间被配置为非零值时,将自动对软件监控的攻击者采取硬件隔离,并且把超时设置为隔离时间。监控时间在隔离时间为0的情况下才有意义。

? 如果把隔离时间从非零值改成零,将直接把相关端口的攻击者删除,而不是进行

软件监控。

63.3.5.1.4 设置受监控主机的最大数目

Step 1 Step 2 Step 3

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#dhcpv6-guard monitored-host-limit number Ruijie(config-nfpp)#end Ruijie#show nfpp dhcpv6-guard summary Ruijie#copy running-config startup-config 进入全局配置模式。 作用 进入NFPP配置模式。 配置受监控主机的最大数目。 取值范围为1到4294967295,缺省情况下受监控主机的最大数目为1000个。 退回到特权模式。 核对配置参数 保存配置。 Step 4 Step 5 Step 6

如果要把配置的最大受监控主机数恢复成缺省值,在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-N O_MEMORY: Failed to alloc memory.”提醒管理员。

管理员可以在nfpp配置模式和接口配置模式下进行配置。

Step 1 Step 2 Step 3

Ruijie(config-nfpp)#dhcpv6-guard rate-limit per-src-mac pps Step 4

Ruijie(config-nfpp)#dhcpv6-guard attack-threshold per-src-mac pps 命令 Ruijie#configure terminal Ruijie(config)#nfpp 进入全局配置模式。 进入NFPP配置模式。 全局对每台主机的DHCPv6报文速度进行限制。 取值范围是1到9999,缺省值为5个。 “per-src-mac”是基于链路层源MAC/VID/端口识别主机。 配置攻击阈值。当某台主机的DHCPv6报文超过攻击阈值时,就认为是在进行攻击,立即对这台主机采取隔离措施,记录到日志,发送TRAP。 取值范围是1到9999,缺省值为10个。 “per-src-mac”是基于链路层源MAC/VID/端口识别主机。 Step 5 Step 6 Step 7

Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 作用 Step 8

配置局部的限速水线和攻击水线,只在该配置所属端口上生效。 rate-limit-pps是限速水线,取值范围是1到9999。 attack-threshold-pps是攻击水线,取值范围是Ruijie(config-if)#nfpp dhcpv6-guard policy per-src-mac rate-limit-pps 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 Step 2 Step 3 Step 4

命令 Ruijie#configure terminal Ruijie(config)#nfpp Ruijie(config-nfpp)#dhcpv6-guard rate-limit per-port pps Ruijie(config-nfpp)#dhcpv6-guard attack-threshold per-port pps Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name 进入全局配置模式。 进入NFPP配置模式。 对每个端口的DHCPv6报文速度进行限制。 取值范围是1到9999,缺省值为150个。 配置攻击阈值,当某个端口的DHCPv6报文超过攻击阈值时,记录到日志,发送TRAP。 取值范围是1到9999,缺省值为300个。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 作用 Step 5 Step 6 Step 7

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 Step 2

命令 Ruijie#show nfpp dhcpv6-guard hosts statistics 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 \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 \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 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9

Ruijie(config)#nfpp Ruijie(config-nfpp)#nd-guard enable Ruijie(config-nfpp)#end Ruijie#configure terminal Ruijie(config)#interface interface-name Ruijie(config-if)#nfpp nd-guard enable Ruijie(config-if)#end Ruijie#show nfpp nd-guard summary 进入NFPP配置模式。 打开ND抗攻击功能,缺省情况下就是打开的。 退回到特权模式。 进入全局配置模式。 进入接口配置模式。 在端口上打开ND抗攻击功能,缺省情况是端口没有配置局部开关,采用全局开关。 退回到特权模式。 核对配置参数 保存配置。 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.

当端口遭受路由器请求拒绝服务攻击时,打印的警告信息格式如下: