• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

12-安全配置指导

21-攻击检测与防范配置

本章节下载  (653.36 KB)

21-攻击检测与防范配置

目  录

1 攻击检测及防范

1.1 攻击检测及防范简介

1.2 攻击检测及防范的类型

1.2.1 单包攻击

1.2.2 扫描攻击

1.2.3 泛洪攻击

1.2.4 TCP分片攻击

1.2.5 Login用户DoS攻击

1.2.6 Login用户字典序攻击

1.2.7 HTTP慢速攻击

1.2.8 新建会话限速

1.3 黑名单功能

1.3.1 IP黑名单

1.3.2 地址对象组黑名单

1.4 地址对象组白名单功能

1.5 客户端验证功能

1.5.1 TCP客户端验证功能(TCP Client verify)

1.5.2 DNS客户端验证(DNS Client verify)

1.5.3 DNS reply验证(DNS reply verify)

1.5.4 HTTP客户端验证(HTTP Client verify)

1.5.5 SIP客户端验证(SIP Client verify)

1.6 攻击检测及防范配置任务简介

1.7 配置并应用攻击防范策略

1.7.1 创建攻击防范策略

1.7.2 配置单包攻击防范策略

1.7.3 配置扫描攻击防范策略

1.7.4 配置泛洪攻击防范策略

1.7.5 配置HTTP慢速攻击防范策略

1.7.6 配置攻击防范例外列表

1.7.7 在接口上应用攻击防范策略

1.7.8 在本机应用攻击防范策略

1.8 配置单包攻击防范日志的非聚合输出功能

1.9 配置TCP分片攻击防范

1.10 配置攻击排名的Top统计功能

1.11 配置TCP客户端验证

1.12 配置DNS客户端验证

1.13 配置DNS reply验证

1.14 配置HTTP客户端验证

1.15 配置SIP客户端验证

1.16 配置IP黑名单

1.17 配置地址对象组黑名单

1.18 配置地址对象组白名单

1.19 配置Login用户攻击防范功能

1.20 配置Login用户延时认证功能

1.21 攻击检测及防范显示和维护

1.22 攻击检测及防范典型配置举例

1.22.1 在接口上配置攻击检测及防范

1.22.2 源IP黑名单配置举例

1.22.3 目的IP黑名单配置举例

1.22.4 地址对象组黑名单配置举例

1.22.5 地址对象组白名单配置举例

1.22.6 接口上的TCP客户端验证配置举例

1.22.7 接口上的DNS客户端验证配置举例

1.22.8 接口上的HTTP客户端验证配置举例

1.22.9 接口上的SIP客户端验证配置举例

 


1 攻击检测及防范

1.1  攻击检测及防范简介

攻击检测及防范是一个重要的网络安全特性,它通过分析经过设备的报文的内容和行为,判断报文是否具有攻击特征,并根据配置对具有攻击特征的报文执行一定的防范措施,例如输出告警日志、丢弃报文、加入黑名单或客户端验证列表。

1.2  攻击检测及防范的类型

设备能够检测单包攻击、扫描攻击和泛洪攻击等多种类型的网络攻击,并能对各类型攻击采取合理的防范措施。

1.2.1  单包攻击

单包攻击也称为畸形报文攻击,主要包括以下三种类型:

·     攻击者通过向目标系统发送带有攻击目的的IP报文,如分片重叠的IP报文、TCP标志位非法的报文,使得目标系统在处理这样的IP报文时出错、崩溃;

·     攻击者可以通过发送正常的报文,如ICMP报文、特殊类型的IP option报文,来干扰正常网络连接或探测网络结构,给目标系统带来损失;

·     攻击者还可通过发送大量无用报文占用网络带宽,造成拒绝服务攻击。

设备可以对表1-1中所列的各单包攻击行为进行有效防范。

表1-1 单包攻击类型及说明列表

单包攻击类型

说明

ICMP redirect

攻击者向用户发送ICMP重定向报文,更改用户主机的路由表,干扰用户主机正常的IP报文转发。

ICMP unreachable

某些系统在收到不可达的ICMP报文后,对于后续发往此目的地的报文判断为不可达并切断对应的网络连接。攻击者通过发送ICMP不可达报文,达到切断目标主机网络连接的目的。

ICMP type

ICMP报文中,type值的表示不同含义的报文,接收者需要根据不同的类型进行响应,攻击者通过构造特定type类型的ICMP报文来达到影响系统正常处理报文等目的。

ICMPv6 type

ICMPv6报文中,type值的表示不同含义的报文,接收者需要根据不同的类型进行响应,攻击者通过构造特定type类型的ICMPv6报文来达到影响系统正常处理报文等目的。

Land

攻击者向目标主机发送大量源IP地址和目的IP地址都是目标主机自身的TCP SYN报文,使得目标主机的半连接资源耗尽,最终不能正常工作。

Large ICMP

某些主机或设备收到超大的报文,会引起内存分配错误而导致协议栈崩溃。攻击者通过发送超大ICMP报文,让目标主机崩溃,达到攻击目的。

Large ICMPv6

某些主机或设备收到超大的报文,会引起内存分配错误而导致协议栈崩溃。攻击者通过发送超大ICMPv6报文,让目标主机崩溃,达到攻击目的。

IP option

攻击者通过构造指定选项类型的IP报文,达到探测网络结构的目的。

IP option abnormal

攻击者利用IP报文中的异常选项的设置,达到探测网络结构的目的,也可由于系统缺乏对错误报文的处理而造成系统崩溃。

Fragment

攻击者通过向目标主机发送分片偏移小于等于5的分片报文,导致主机对分片报文进行重组时发生错误而造成系统崩溃。

Impossible

攻击者通过向目标主机发送源IP地址和目的IP地址相同的报文,造成主机系统处理异常。

Tiny fragment

攻击者构造一种特殊的IP分片来进行微小分片的攻击,这种报文首片很小,未能包含完整的传输层信息,因此能够绕过某些包过滤防火墙的过滤规则,达到攻击目标网络的目的。

Smurf

攻击者向目标网络发送ICMP应答请求,该请求包的目的地址设置为目标网络的广播地址,这样该网络中的所有主机都会对此ICMP应答请求作出答复,导致网络阻塞,从而达到令目标网络中主机拒绝服务的攻击目的。

TCP Flag

不同操作系统对于非常规的TCP标志位有不同的处理。攻击者通过发送带有非常规TCP标志的报文探测目标主机的操作系统类型,若操作系统对这类报文处理不当,攻击者便可达到使目标主机系统崩溃的目的。

Traceroute

攻击者连续发送TTL从1开始递增的目的端口号较大的UDP报文,报文每经过一个路由器,其TTL都会减1,当报文的TTL为0时,路由器会给报文的源IP设备发送一个TTL超时的ICMP报文,攻击者借此来探测网络的拓扑结构。

Winnuke

攻击者向安装(或使用)Windows系统的特定目标的NetBIOS端口(139)发送OOB(Out-Of-Band,带外)数据包,这些攻击报文的指针字段与实际的位置不符,从而引起一个NetBIOS片断重叠,致使已与其他主机建立连接的目标主机在处理这些数据的时候系统崩溃。

UDP Bomb

攻击者发送畸形的UDP报文,其IP首部中的报文总长度大于IP首部长度与UDP首部中标识的UDP报文长度之和,可能造成收到此报文的系统处理数据时越界访问非法内存,导致系统异常。

UDP Snork

攻击者向Windows系统发送目的端口为135(Windows定位服务)源端口为135、7或19(UDP Chargen服务)的报文,使被攻击系统不断应答报文,最终耗尽CPU资源。

UDP Fraggle

攻击者通过向目标网络发送源UDP端口为7且目的UDP端口为19的Chargen报文,令网络产生大量无用的应答报文,占满网络带宽,达到攻击目的。

Teardrop

攻击者通过发送大量分片重叠的报文,致使服务器对这些报文进行重组时造成重叠,因而丢失有效的数据。

Ping of death

攻击者构造标志位为最后一片且长度大于65535的ICMP报文发送给目标主机,可能导致系统处理数据时越界访问非法内存,造成系统错误甚至系统崩溃。

IPv6 ext-header

攻击者可以通过构造包含异常数量IPv6扩展头的报文对目标主机进行攻击,目标主机在解析报文时耗费大量资源,从而影响转发性能。

 

1.2.2  扫描攻击

扫描攻击是指,攻击者运用扫描工具对网络进行主机地址或端口的扫描,通过准确定位潜在目标的位置,探测目标系统的网络拓扑结构和开放的服务端口,为进一步侵入目标系统做准备。

1. IP Sweep攻击

攻击者发送大量目的IP地址变化的探测报文,通过收到的回应报文来确定活跃的目标主机,以便针对这些主机进行下一步的攻击。

2. Port scan攻击

攻击者获取了活动目标主机的IP地址后,向目标主机发送大量目的端口变化的探测报文,通过收到的回应报文来确定目标主机开放的服务端口,然后针对活动目标主机开放的服务端口选择合适的攻击方式或攻击工具进行进一步的攻击。

3. 分布式Port scan攻击

攻击者控制多台主机,分别向特定目标主机发送探测报文,通过收集所有被控制的主机的回应报文,确定目标主机开启的服务端口,以便进一步实施攻击。

1.2.3  泛洪攻击

泛洪攻击是指攻击者在短时间内向目标系统发送大量的虚假请求,导致目标系统疲于应付无用信息,从而无法为合法用户提供正常服务,即发生拒绝服务。

设备支持对以下几种泛洪攻击进行有效防范:

1. SYN flood攻击

根据TCP协议工作原理,服务器收到SYN报文后需要建立半连接并回应SYN ACK报文,然后等待客户端的ACK报文来建立正式连接。由于资源的限制,操作系统的TCP/IP协议栈只能允许有限个TCP连接。攻击者向服务器发送大量伪造源地址的SYN报文后,由于攻击报文是伪造的,服务器不会收到客户端的ACK报文,从而导致服务器上遗留了大量无效的半连接,耗尽其系统资源,使正常的用户无法访问,直到半连接超时。

2. ACK flood攻击

ACK报文为只有ACK标志位置位的TCP报文,服务器收到ACK报文时,需要查找对应的连接。若攻击者发送大量这样的报文,服务器需要进行大量的查询工作,消耗正常处理的系统资源,影响正常的报文处理。

3. SYN-ACK flood攻击

由于SYN ACK报文为SYN报文的后续报文,服务器收到SYN ACK报文时,需要查找对应的SYN报文。若攻击者发送大量这样的报文,服务器需要进行大量的查询工作,消耗正常处理的系统资源,影响正常的报文处理。

4. FIN flood攻击

FIN报文用于关闭TCP连接。若攻击者向服务器发送大量的伪造的FIN报文,可能会使服务器关闭掉正常的连接。同时,服务器收到FIN报文时,需要查找对应的连接,大量的无效查询操作会消耗系统资源,影响正常的报文处理。

5. RST flood攻击

RST报文为TCP连接的复位报文,用于在异常情况下关闭TCP连接。如果攻击者向服务器发送大量伪造的RST报文,可能会使服务器关闭正常的TCP连接。另外,服务器收到RST报文时,需要查找对应的连接,大量的无效查询操作会消耗系统资源,影响正常的报文处理。

6. DNS flood攻击

DNS服务器收到任何DNS Query报文时都会试图进行域名解析并且回复该DNS报文。攻击者通过构造并向DNS服务器发送大量虚假DNS Query报文,占用DNS服务器的带宽或计算资源,使得正常的DNS Query得不到处理。

7. DNS reply flood攻击

DNS客户端收到任何DNS reply报文时都会进行处理。攻击者在一定条件下将大量伪造的DNS reply报文发送给某个DNS客户端,消耗大量DNS客户端的资源,使得正常的DNS reply报文得不到处理。

8. HTTP flood攻击

HTTP服务器收到HTTP GET/POST命令时可能进行一系列复杂的操作,包括字符串搜索、数据库遍历、数据组装、格式化转换等等,这些操作会消耗大量系统资源,因此当HTTP请求的速率超过了服务器的处理能力时,服务器就无法正常提供服务。攻击者通过构造并发送大量虚假HTTP GET/POST请求,使服务器崩溃,无法响应正常的用户请求。

9. SIP flood攻击

SIP服务器收到SIP INVITE报文后,服务器需要分配一定的资源用于跟踪和建立会话。当SIP请求的速率超过了服务器的处理能力时,SIP服务器就无法正常提供服务。攻击者通过构造并发送大量虚假的SIP INVITE请求,大量消耗SIP服务器的系统资源,影响正常的报文处理。

10. ICMP flood攻击

ICMP flood攻击是指,攻击者在短时间内向特定目标发送大量的ICMP请求报文(例如ping报文),使其忙于回复这些请求,致使目标系统负担过重而不能处理正常的业务。

11. ICMPv6 flood攻击

ICMPv6 flood攻击是指,攻击者在短时间内向特定目标发送大量的ICMPv6请求报文(例如ping报文),使其忙于回复这些请求,致使目标系统负担过重而不能处理正常的业务。

12. UDP flood攻击

UDP flood攻击是指,攻击者在短时间内向特定目标发送大量的UDP报文,占用目标主机的带宽,致使目标主机不能处理正常的业务。

1.2.4  TCP分片攻击

设备的包过滤功能一般是通过判断TCP首个分片中的五元组(源IP地址、源端口号、目的IP地址、目的端口号、传输层协议号)信息来决定后续TCP分片是否允许通过。RFC 1858对TCP分片报文进行了规定,认为TCP分片报文中,首片报文中TCP报文长度小于20字节,或后续分片报文中分片偏移量等于8字节的报文为TCP分片攻击报文。这类报文可以成功绕过上述包过滤功能,对设备造成攻击。

为防范这类攻击,可以在设备上配置TCP分片攻击防范功能,对TCP分片攻击报文进行丢弃。

1.2.5  Login用户DoS攻击

DoS(Denial of Service,拒绝服务)攻击的目的是使被攻击对象无法提供正常的网络服务。Login用户DoS攻击是指,攻击者通过伪造登录账户在短时间内向设备连续发起大量登录请求,占用系统认证处理资源,造成设备无法处理正常Login用户的登录请求。

为防范这类攻击,可以在设备上配置Login用户攻击防范功能,对发起恶意认证并多次尝试失败的用户报文进行丢弃。

1.2.6  Login用户字典序攻击

字典序攻击是指攻击者通过收集用户密码可能包含的字符,使用各种密码组合逐一尝试登录设备,以达到猜测合法用户密码的目的。

为防范这类攻击,可以在设备上配置Login用户延时认证功能,在用户认证失败之后,延时期间不接受此用户的登录请求。

1.2.7  HTTP慢速攻击

HTTP慢速攻击是指攻击者利用HTTP自身合法机制与服务器建立HTTP连接后,长时间保持连接不释放,达成消耗HTTP服务器系统资源的目的。常见的HTTP慢速攻击有两种:

·     Slow headers:攻击者通过HTTP GET或者HTTP POST方法与服务器建立连接,但是发送的HTTP报文的头部末尾没有HTTP协议所规定的头部结束符(连续两个CRLF)。之后每隔一段时间,攻击者通过发送HTTP报文头部的其他字段进行连接保活,导致服务器一直处于等待攻击者发送头部结束符的状态,造成连接长时间不释放。

·     Slow POST:

¡     攻击者通过发送HTTP POST请求向服务器提交数据,并将HTTP报文头部Content-Length字段的值设置为一个很大的数值,但是在随后的载荷数据发送中,每次只发送极小规模的数据,导致服务器一直处于等待攻击者发送载荷数据的状态,造成连接长时间不释放。

¡     对于通过chunk编码方式传输的HTTP报文,如果报文末尾没有标明长度为0的chunk结束符,服务器将一直处于等待攻击者发送载荷数据的状态,造成连接长时间不释放。

为防范这类攻击,可以在设备上配置HTTP慢速攻击防范功能,将攻击者的IP地址加入IP黑名单中,屏蔽所有来自该IP地址的报文。

1.2.8  新建会话限速

新建会话限速是针对接口入方向的新建会话速率进行限制的功能,可以防止DDoS攻击造成的大量新建连接消耗设备的处理资源,进而影响设备的正常业务。

1.3  黑名单功能

1.3.1  IP黑名单

IP黑名单功能是根据报文的IP地址进行报文过滤的一种攻击防范特性。根据报文过滤条件的不同,该特性可分为源IP黑名单和目的IP黑名单。源IP黑名单根据报文的源IP地址进行报文过滤,目的IP黑名单根据报文的目的IP地址进行报文过滤。同基于ACL(Access Control List,访问控制列表)的包过滤功能相比,黑名单进行报文匹配的方式更为简单,可以实现报文的高速过滤和有效屏蔽。

1.3.2  地址对象组黑名单

地址对象组黑名单功能是基于地址对象组进行报文过滤的一种攻击防范特性。该特性需要和地址对象组功能配合使用,由后者为其提供地址对象组和IP地址的对应关系。有关地址对象组功能的详细介绍,请参见“安全配置指导”中的“对象组”。同IP黑名单的包过滤功能相比,地址组黑名单可以对网段进行访问控制,提高了易用性。

1.4  地址对象组白名单功能

地址对象组白名单功能需要和地址对象组功能配合使用,由后者为其提供地址对象组和IP地址的对应关系。有关地址组功能的详细介绍,请参见“安全配置指导”中的“对象组”。

配置地址对象组白名单功能后,无论来自该地址对象组的报文是否存在攻击,设备都将其直接转发。

1.5  客户端验证功能

1.5.1  TCP客户端验证功能(TCP Client verify)

TCP客户端验证功能用来防御服务器受到的SYN flood,ACK flood,SYN-ACK flood,FIN flood,RST flood等攻击。启用了TCP客户端验证功能的设备称为TCP proxy,它位于客户端和服务器之间,能够对客户端与服务器之间的TCP连接进行代理。当设备检测到有服务器受到相关泛洪攻击时,TCP proxy即将该服务器IP地址添加为动态受保护的IP地址,并对所有向该受保护服务器发起的TCP连接的协商报文进行处理,通过对客户端发起的TCP连接进行验证,达到保护服务器免受各种TCP泛洪攻击的目的。

TCP客户端验证支持两种验证模式:

·     Safe Reset:是指仅对TCP连接的正向握手报文进行处理,也称为单向代理模式。

·     SYN Cookie:是指对TCP连接的正向和反向所有报文都进行处理,也称为双向代理模式。

用户可以根据实际的组网情况选择不同的代理模式。例如:在如图1-1所示的组网中,从客户端发出的报文经过TCP proxy,而从服务器端发出的报文不经过TCP proxy,此时只能使用Safe Reset方式;在如图1-2所示的组网中,从客户端发出的报文和从服务器端发出的报文都经过TCP proxy,此时两种验证模式都可以使用。

图1-1 Safe Reset组网

 

图1-2 通用组网

 

TCP Client verify处理流程:

1. Safe Reset

Safe Reset代理模式下,TCP Client verify的处理流程如图1-3所示。

图1-3 Safe Reset模式的TCP Client verify处理流程

 

TCP proxy收到某客户端发来的与受保护服务器(匹配某个受保护IP地址表项)建立TCP连接的请求(SYN报文)后,先代替服务器向客户端回应序号错误的SYN ACK报文。如果TCP proxy收到客户端回应的正确RST报文,则认为该TCP连接请求通过TCP代理的验证。此后一定时间内,TCP proxy收到来自该客户端的TCP报文后,直接将其向转发给服务器,允许客户端和服务器之间直接建立TCP连接。

一般而言,应用服务器不会主动对客户端发起恶意连接,因此服务器响应客户端的报文可以不需要经过TCP proxy的检查。TCP Client verify仅需要对客户端发往应用服务器的报文进行实时监控,服务器响应客户端的报文可以根据实际需要选择是否经过TCP proxy,因此Safe Reset模式能够支持更灵活的组网方式。

由于TCP proxy对客户端发起的TCP连接进行了干预,因此Safe Reset模式的实现要求客户端的实现严格遵守TCP协议栈的规定,如果客户端的TCP协议栈实现不完善,即便是合法用户,也可能由于未通过TCP proxy的严格检查而无法访问服务器。而且,该方式依赖于客户端向服务器发送RST报文后再次发起请求的功能,因此启用TCP Client verify后,客户端发起的每个TCP连接的建立时间会有相应增加。

2. SYN Cookie

SYN Cookie模式下,TCP Client verify的处理流程如图1-4所示。

图1-4 SYN Cookie模式的TCP Client verify处理流程

 

TCP proxy收到某客户端发来的与受保护服务器建立TCP连接的请求(SYN报文)后,先代替服务器向客户端回应正常的SYN ACK报文(窗口值为0)。如果收到客户端回应的ACK报文,则认为该TCP连接请求通过TCP代理的验证。然后,TCP Client verify再代替客户端向服务器发送SYN报文,并通过三次握手与服务器建立TCP连接。因此,在客户端和TCP proxy、TCP proxy和服务器之间会建立两个TCP连接,而且两个TCP连接使用的序号不同。

SYN Cookie模式下,TCP proxy作为虚拟的服务器与客户端交互,同时也作为虚拟的客户端与服务器交互,在为服务器过滤掉恶意连接报文的同时保证了常规业务的正常运行。但该方式要求TCP proxy必须部署在所保护的服务器入口和出口的关键路径上,且要保证所有客户端向服务器发送的报文以及服务器向客户端回应的报文都需要经过该设备。

1.5.2  DNS客户端验证(DNS Client verify)

DNS客户端验证功能用来防御服务器受到的DNS flood攻击。启用了DNS客户端验证功能的设备位于客户端和服务器之间,能够对客户端与服务器之间的DNS连接进行代理。当设备检测到有服务器受到DNS flood攻击时,即将该服务器IP地址添加为动态受保护的IP地址,并对所有向该受保护服务器发起的DNS Query进行处理,通过对客户端发起的DNS连接进行验证,达到保护服务器免受DNS flood攻击的目的。

DNS Client verify的处理流程如图1-5所示。

图1-5 DNS Client verify处理流程

 

DNS客户端验证设备收到某客户端发送的UDP类型的DNS Query报文(目的地址匹配受保护IP表项)后,先代替服务器向客户端回应DNS Truncate(TC)报文,要求客户端以TCP方式进行域名请求。如果是合法客户端,则它收到DNS Truncate报文之后会向DNS客户端验证设备发送目的端口为53的TCP SYN报文。DNS客户端验证设备收到此报文后,先代替服务器向客户端回应序号错误的SYN ACK报文,之后,如果能够收到客户端回应的RST报文,则认为该客户端通过了DNS客户端验证。对于通过了DNS验证的客户端,设备直接转发其后续报文,不对报文进行处理。

由于DNS Client verify对客户端发起的DNS请求进行了干预,因此要求客户端的实现严格遵守TCP/IP协议栈以及DNS协议的规定,如果客户端的协议栈实现不完善,即便是合法用户,也可能由于未通过DNS Client verify的严格检查而无法访问服务器。而且,该方式依赖于客户端向服务器发送RST报文后再次发起请求的功能,因此启用DNS Client verify后,正常客户端发起的首个DNS请求的响应时间会有相应增加。

1.5.3  DNS reply验证(DNS reply verify)

DNS reply验证功能用来防御DNS客户端受到的DNS reply flood攻击。启用了DNS reply验证功能的设备位于客户端和服务器之间,能够对客户端与服务器之间的DNS reply报文进行代理。当设备检测到有客户端受到DNS reply flood攻击时,即将该客户端IP地址添加为动态受保护的IP地址,并对所有向该受保护客户端发送的DNS reply报文进行验证,达到保护客户端免受DNS reply flood攻击的目的。

图1-6 DNS reply verify处理流程

 

DNS reply verify的处理流程如图1-6所示,DNS Reply验证设备收到某服务器发送的UDP类型的DNS reply报文(目的地址匹配受保护IP表项),代替DNS客户端向服务器发送DNS query报文,该报文的Query ID和源端口号由验证设备生成。如果是合法的服务器,则它收到含有新的Query ID和源端口号的DNS query报文后,会向验证设备发送含有新的Query ID和目的端口号的DNS reply报文。DNS reply验证设备收到此报文后,提取Query ID和目的端口号,如果与验证设备发送的DNS query报文的Query ID和源端口号一致,则认为服务器通过了DNS reply验证。对于通过了DNS reply验证的服务器,设备直接转发其后续报文,不对报文进行处理。

1.5.4  HTTP客户端验证(HTTP Client verify)

HTTP客户端验证功能用来防御服务器受到HTTP flood攻击。启用了HTTP客户端验证功能的设备位于客户端和服务器之间,能够对客户端与服务器之间的HTTP GET/POST请求进行代理。当设备检测到有服务器受到HTTP flood攻击时,即将该服务器IP地址添加为动态受保护的IP地址,并对所有向该受保护服务器发起的HTTP GET/POST请求报文进行处理,通过对客户端发起的HTTP GET/POST请求进行两次验证的方式,达到保护服务器免受HTTP flood攻击的目的。

HTTP GET Client verify的处理流程如图1-7所示:

图1-7 HTTP GET Client verify处理流程

 

HTTP客户端验证设备收到某客户端发送的TCP连接请求报文(目的地址匹配受保护IP表项)后,首先以TCP Proxy的Syn Cookie方式进行验证(详见“1.5.1  TCP客户端验证功能(TCP Client verify)”)。客户端的TCP连接通过验证之后,设备将对客户端发送的HTTP GET请求报文进行两次重定向验证,具体流程如下所述。

(1)     第一次重定向验证:设备收到客户端的HTTP GET请求之后向其发送HTTP Redirect报文,并在重定向报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会记录该客户端的信息。当前的TCP连接结束之后,客户端与设备进行一轮新的TCP三次握手。

(2)     第二次重定向验证:设备收到客户端向重定向地址发起的HTTP GET请求之后,向其发送HTTP Redirect报文,并在重定向报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会检查客户端是否经过了第一次重定向,以及本次HTTP访问的URI是否是设备重定向的地址。如果检查通过,设备会将该客户端加入到信任IP表项中,该客户端的后续HTTP GET请求报文将被直接进行透传。

2. HTTP Client POST verify的处理流程如图1-8所示:

图1-8 HTTP Client POST verify处理流程

 

HTTP客户端验证设备收到某客户端发送的TCP连接请求报文(目的地址匹配受保护IP表项)后,首先以TCP Proxy的Syn Cookie方式进行验证(详见“1.5.1  TCP客户端验证功能(TCP Client verify)”)。客户端的TCP连接通过验证之后,设备将对客户端发送的HTTP POST请求报文依次进行重定向验证和超时验证,具体流程如下所述。

(2)     重定向验证:设备收到客户端的HTTP POST请求之后向其发送带有Set-Cookie验证字段的HTTP Redirect报文,并在重定向报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会记录该客户端的信息。当前的TCP连接结束之后,客户端与设备进行一轮新的TCP三次握手。

(3)     超时验证:设备收到客户端发起的带有Cookie字段的HTTP POST请求之后,向其发送HTTP 超时报文,并在报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会检查客户端是否经过了第一次重定向,以及本次HTTP报文中是否带有有效的Cookie值。如果检查通过,设备会将该客户端加入到信任IP表项中,该客户端的后续HTTP POST请求报文将被直接进行透传。

1.5.5  SIP客户端验证(SIP Client verify)

SIP客户端验证功能用来防御服务器受到SIP flood攻击。启用了SIP客户端验证功能的设备位于客户端和服务器之间,能够对客户端与服务器之间SIP协议的INVITE请求进行代理。当设备检测到有服务器受到SIP flood攻击时,即将该服务器IP地址添加为动态受保护的IP地址,并对所有向该受保护服务器发起的SIP INVITE请求报文进行处理,通过对客户端发起的SIP INVITE请求进行验证的方式,达到保护服务器免受SIP flood攻击的目的。

SIP Client verify的处理流程如图1-9所示。

图1-9 SIP Client verify处理流程

 

SIP客户端验证设备收到某客户端发送的UDP类型的INVITE报文(目的地址匹配受保护IP表项)后,先代替服务器向客户端回应OPTIONS报文,该报文中携带branch值信息。如果是合法客户端,则它收到OPTIONS报文之后会向SIP客户端验证设备发送OPTIONS ACK报文。SIP客户端验证设备收到此报文后,检查OPTIONS ACK报文中的branch值和发送的OPTIONS报文中的branch值是否相同,若相同,则认为该客户端通过了SIP客户端验证。对于通过了SIP验证的客户端,设备直接转发其后续报文,不对报文进行处理。若branch值不相同,则认为该客户端未通过了SIP客户端验证,直接丢弃报文。

 

1.6  攻击检测及防范配置任务简介

攻击检测与防范配置任务如下:

(1)     配置并应用攻击防范策略

a.     创建攻击防范策略

b.     配置攻击防范策略

各类型的攻击防范功能之间没有先后顺序,可根据实际组网需求,配置其中的一种或多种:

-     配置单包攻击防范策略

-     配置扫描攻击防范策略

-     配置泛洪攻击防范策略

-     配置HTTP慢速攻击防范策略

c.     (可选)配置攻击防范例外列表

d.     应用攻击防范策略

请至少选择其中一项进行配置:

-     在接口上应用攻击防范策略

-     在本机应用攻击防范策略

(2)     (可选)配置单包攻击防范日志的非聚合输出功能

(3)     (可选)配置TCP分片攻击防范(通常单独使用)

(4)     (可选)配置攻击排名的Top统计功能

(5)     (可选)配置客户端验证(可单独使用,也可与泛洪攻击防范配合使用)

¡     配置TCP客户端验证

¡     配置DNS客户端验证

¡     配置HTTP客户端验证

¡     配置SIP客户端验证

(6)     (可选)配置黑名单(可单独使用,也可与扫描攻击防范配合使用)

¡     配置IP黑名单

¡     配置地址对象组黑名单

(7)     (可选)配置地址对象组白名单

(8)     (可选)配置Login用户攻击防范(通常单独使用)

¡     配置Login用户攻击防范功能

¡     配置Login用户延时认证功能

1.7  配置并应用攻击防范策略

1.7.1  创建攻击防范策略

1. 功能简介

攻击防范策略主要包括针对攻击类型指定的检测条件及采取的防范措施。

在配置攻击防范之前,必须首先创建一个攻击防范策略,并进入该攻击防范策略视图。在该视图下,可以定义一个或多个用于检测攻击的特征项,以及对检测到的攻击报文所采取的防范措施。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建一个攻击防范策略,并进入攻击防范策略视图。

attack-defense policy policy-name

1.7.2  配置单包攻击防范策略

1. 功能简介

单包攻击防范主要通过分析经过设备的报文特征来判断报文是否具有攻击性,一般应用在设备连接外部网络的接口上,且仅对应用了攻击防范策略的接口上的入方向报文有效。若设备检测到某报文具有攻击性,则默认会输出告警日志,另外还可以根据配置将检测到的攻击报文做丢弃处理。

2. 配置限制和指导

若指定的单包攻击的处理行为中配置了logging参数,生成的日志信息不会输出到控制台和监视终端。此时如需获取该日志,可通过执行display logbuffer命令进行查看。有关display logbuffer命令的详细介绍,请参见“网络管理和监控命令参考”中的“信息中心”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     开启指定类型单包攻击报文的特征检测,并设置攻击防范的处理行为。请至少选择其中一项进行配置。

¡     开启指定类型的知名单包攻击报文的特征检测,并设置攻击防范的处理行为。

signature detect { fraggle | fragment | impossible | land | large-icmp | large-icmpv6 | smurf | snork | tcp-all-flags | tcp-fin-only | tcp-invalid-flags | tcp-null-flag | tcp-syn-fin | tiny-fragment | traceroute | udp-bomb | winnuke } [ action { { drop | logging } * | none } ]

signature detect { ip-option-abnormal | ping-of-death | teardrop } action { drop | logging } *

¡     开启ICMP类型的单包攻击报文的特征检测,并设置攻击防范的处理行为。

signature detect icmp-type { icmp-type-value | address-mask-reply | address-mask-request | destination-unreachable | echo-reply | echo-request | information-reply | information-request | parameter-problem | redirect | source-quench | time-exceeded | timestamp-reply | timestamp-request } [ action { { drop | logging } * | none } ]

¡     开启ICMPv6类型的单包攻击报文的特征检测,并设置攻击防范的处理行为。

signature detect icmpv6-type { icmpv6-type-value | destination-unreachable | echo-reply | echo-request | group-query | group-reduction | group-report | packet-too-big | parameter-problem | time-exceeded } [ action { { drop | logging } * | none } ]

¡     开启IP选项类型的单包攻击报文的特征检测,并设置攻击防范的处理行为。

signature detect ip-option { option-code | internet-timestamp | loose-source-routing | record-route | route-alert | security | stream-id | strict-source-routing } [ action { { drop | logging } * | none } ]

¡     开启IPv6扩展头类型的单包攻击报文的特征检测,并设置攻击防范的处理行为。

signature detect ipv6-ext-header ext-header-value [ action { { drop | logging } * | none } ]

¡     开启IPv6扩展头异常攻击报文的特征检测,并设置攻击防范的处理行为。

signature detect ipv6-ext-header-abnormal [ action { { drop | logging } * | none } ]

¡     开启IPv6扩展头数目超限攻击报文的特征检测,并设置攻击防范的处理行为。

signature detect ipv6-ext-header-exceed [ limit limit-value ] [ action { { drop | logging } * | none } ]

缺省情况下,所有类型的单包攻击的特征检测均处于关闭状态。

(4)     (可选)配置启动Large ICMP攻击防范的ICMP报文长度的最大值。

signature { large-icmp | large-icmpv6 } max-length length

缺省情况下,ICMP报文和ICMPv6报文长度的最大值均为4000字节。

(5)     (可选)配置对不同级别的单包攻击报文的处理方式。

signature level { high | info | low | medium } action { { drop | logging } * | none }

缺省情况下,对infolow级别的单包攻击的处理行为是发送日志;对mediumhigh级别的单包攻击的处理行为是发送日志并丢包。

(6)     (可选)开启指定级别单包攻击报文的特征检测。

signature level { high | info | low | medium } detect

缺省情况下,未开启任何级别的单包攻击报文的特征检测。

1.7.3  配置扫描攻击防范策略

1. 功能简介

扫描攻击防范主要通过监测网络使用者向目标系统发起连接的速率来检测其探测行为,一般应用在设备连接外部网络的接口上,且仅对应用了攻击防范策略的接口上的入方向报文有效。若设备监测到某IP地址主动发起的连接速率达到或超过了一定阈值,则可以根据配置输出告警日志、丢弃来自该IP地址的后续报文,或者将检测到的攻击者的源IP地址加入IP黑名单。

若配置扫描攻击的处理行为为输出告警日志,且端口扫描和地址扫描同时达到扫描阈值,则仅输出地址扫描的告警日志。

2. 配置限制和指导

若指定的扫描攻击的处理行为中配置了加入IP黑名单,则需要开启全局或接口上的黑名单过滤功能来配合。关于黑名单过滤功能的相关配置请参见“1.16  配置IP黑名单”。

若指定的扫描攻击的处理行为中配置了logging参数,生成的日志信息不会输出到控制台和监视终端。此时如需获取该日志,可通过执行display logbuffer命令进行查看。有关display logbuffer命令的详细介绍,请参见“网络管理和监控命令参考”中的“信息中心”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     开启指定级别的扫描攻击防范。

scan detect level { { high | low | medium } | user-defined { port-scan-threshold threshold-value | ip-sweep-threshold threshold-value } * [ period period-value ] } action { { block-source [ timeout minutes ] | drop } | logging } *

缺省情况下,扫描攻击防范处于关闭状态。

1.7.4  配置泛洪攻击防范策略

1. 功能简介

泛洪攻击防范主要用于保护服务器,通过监测向服务器发起连接请求的速率来检测各类泛洪攻击,可分为基于源IP统计与基于目的IP统计的泛洪攻击防范两种类型。

·     基于源IP统计的泛洪攻击防范:此方式监测源自某IP地址的报文速率,当该速率持续达到或超过了指定的触发阈值时,即认为有服务器受到了攻击,设备随即进入攻击防范状态,并根据配置启动相应的防范措施(输出告警日志或对后续报文进行丢弃处理)。此后,当设备监测到源自该IP地址的报文速率低于恢复阈值(触发阈值的3/4)时,即认为攻击结束,设备由攻击防范状态恢复为攻击检测状态,并停止执行防范措施。

·     基于目的IP统计的泛洪攻击防范:此方式监测向某服务器发送报文的速率,当该速率持续达到或超过了指定的触发阈值时,即认为该服务器受到了攻击,设备随即进入攻击防范状态,并根据配置启动相应的防范措施(输出告警日志、对后续报文进行丢弃处理或者进行客户端验证)。此后,当设备监测到向该服务器发送报文的速率低于恢复阈值(触发阈值的3/4)时,即认为攻击结束,设备由攻击防范状态恢复为攻击检测状态,并停止执行防范措施。

泛洪攻击防范一般应用在设备连接外部网络的接口上,且仅对应用了攻击防范策略的接口上的入方向报文有效。

在泛洪攻击防范策略中,阈值是触发系统执行防范动作的条件,因此,阈值的设置是否合理将直接影响攻击防范的效果。

·     如果防范阈值设置过低则在没有发生攻击时,系统就启动攻击防范功能,影响设备性能或者造成正常流量被丢弃。

·     如果防范阈值设置过高则即使发生了攻击,系统也无法感知,不能及时启动防范功能。

因此在配置攻击防范前,应该先了解正常网络中的流量,然后根据正常网络中的流量来设置各攻击类型对应的阈值。在不了解网络正常流量大小时,可以启用流量阈值学习功能并根据学习结果进行阈值配置。流量阈值学习功能的原理是:系统对正常网络环境下的各种流量按时间进行统计,得出此段时间内各种流量的最高值,从而以此为依据计算出各种攻击类型对应的防范门限值。

阈值学习有单次学习和周期学习两种学习模式:

·     单次学习:只进行一次阈值学习。

·     周期学习:按周期学习间隔进行多次阈值学习。其中,周期学习间隔是指从上次学习的结束时间到下次学习开始时间的间隔时间。

开启阈值学习功能后,会对所有类型的泛洪攻击进行阈值学习。在周期学习模式下,最新一次的学习结果会覆盖上一次学习结果。对于学习到的阈值,系统还支持自动应用功能。您可以启用自动应用功能,也可以选择只学习不启用自动应用功能。

2. 配置限制和指导

当设备上安装了多块业务板时,每种泛洪攻击防范策略中配置的全局触发阈值为每块业务板上的全局触发阈值,因而整机的该类泛洪攻击的全局触发阈值即为每块业务板上的全局触发阈值与业务板数目的乘积。

为保护指定IP地址,攻击防范策略中支持基于IP地址的攻击防范配置,目前仅支持为基于目的IP统计的泛洪攻击防范指定受保护IP地址。对于所有非受保护IP地址,可以统一开启攻击防范检测,并采用全局的参数设置来进行保护。

若指定的泛洪攻击的处理行为中配置了logging参数,生成的日志信息不会输出到控制台和监视终端。此时如需获取该日志,可通过执行display logbuffer命令进行查看。有关display logbuffer命令的详细介绍,请参见“网络管理和监控命令参考”中的“信息中心”。

3. 配置SYN flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启SYN flood攻击防范检测。

syn-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启SYN flood攻击防范检测。

(4)     配置SYN flood攻击防范基于源IP统计的全局触发阈值。

syn-flood source-threshold threshold-value

缺省情况下,SYN flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置SYN flood攻击防范基于目的IP统计的全局触发阈值。

syn-flood threshold threshold-value

缺省情况下,SYN flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置SYN flood攻击防范的全局处理行为。

syn-flood action { client-verify | drop | logging } *

缺省情况下,不对检测到的SYN flood攻击采取任何措施。

(7)     开启对IP地址的SYN flood攻击防范检测,并配置触发阈值和处理行为。

syn-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置SYN flood攻击防范检测。

4. 配置ACK flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启ACK flood攻击防范检测。

ack-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启ACK flood攻击防范检测。

(4)     配置ACK flood攻击防范基于源IP统计的全局触发阈值。

ack-flood source-threshold threshold-value

缺省情况下,ACK flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置ACK flood攻击防范基于目的IP统计的全局触发阈值。

ack-flood threshold threshold-value

缺省情况下,ACK flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置ACK flood攻击防范的全局处理行为。

ack-flood action { client-verify | drop | logging } *

缺省情况下,不对检测到的ACK flood攻击采取任何措施。

(7)     开启对IP地址的ACK flood攻击防范检测,并配置触发阈值和处理行为。

ack-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置ACK flood攻击防范检测。

5. 配置SYN-ACK flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启SYN-ACK flood攻击防范检测。

syn-ack-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启SYN-ACK flood攻击防范检测。

(4)     配置SYN-ACK flood攻击防范基于源IP统计的全局触发阈值。

syn-ack-flood source-threshold threshold-value

缺省情况下,SYN-ACK flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置SYN-ACK flood攻击防范基于目的IP统计的全局触发阈值。

syn-ack-flood threshold threshold-value

缺省情况下,SYN-ACK flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置SYN-ACK flood攻击防范的全局处理行为。

syn-ack-flood action { client-verify | drop | logging }*

缺省情况下,不对检测到的SYN-ACK flood攻击采取任何措施。

(7)     开启对IP地址的SYN-ACK flood攻击防范检测,并配置触发阈值和处理行为。

syn-ack-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置SYN-ACK flood攻击防范检测。

6. 配置FIN flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启FIN flood攻击防范检测。

fin-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启FIN flood攻击防范检测。

(4)     配置FIN flood攻击防范基于源IP统计的全局触发阈值。

fin-flood source-threshold threshold-value

缺省情况下,FIN flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置FIN flood攻击防范基于目的IP统计的全局触发阈值。

fin-flood threshold threshold-value

缺省情况下,FIN flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置FIN flood攻击防范的全局处理行为。

fin-flood action { client-verify | drop | logging } *

缺省情况下,不对检测到的FIN flood攻击采取任何措施。

(7)     开启对IP地址的FIN flood攻击防范检测,并配置触发阈值和处理行为。

fin-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置FIN flood攻击防范检测。

7. 配置RST flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启RST flood攻击防范检测。

rst-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启RST flood攻击防范检测。

(4)     配置RST flood攻击防范基于源IP统计的全局触发阈值。

rst-flood source-threshold threshold-value

缺省情况下,RST flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置RST flood攻击防范基于目的IP统计的全局触发阈值。

rst-flood threshold threshold-value

缺省情况下,RST flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置全局的RST flood攻击防范的全局处理行为。

rst-flood action { client-verify | drop | logging } *

缺省情况下,不对检测到的RST flood攻击采取任何措施。

(7)     开启对IP地址的RST flood攻击防范检测,并配置触发阈值和处理行为。

rst-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置RST flood攻击防范检测。

8. 配置ICMP flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IPv4地址开启ICMP flood攻击防范检测。

icmp-flood detect non-specific

缺省情况下,未对任何非受保护IPv4地址开启ICMP flood攻击防范检测。

(4)     配置ICMP flood攻击防范基于源IP统计的全局触发阈值。

icmp-flood source-threshold threshold-value

缺省情况下,ICMP flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置ICMP flood攻击防范基于目的IP统计的全局触发阈值。

icmp-flood threshold threshold-value

缺省情况下,ICMP flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置ICMP flood攻击防范的全局处理动作。

icmp-flood action { drop | logging } *

缺省情况下,不对检测到的ICMP flood攻击采取任何措施。

(7)     开启对IPv4地址的ICMP flood攻击防范检测,并配置触发阈值和处理行为。

icmp-flood detect ip ip-address [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]

缺省情况下,未对任何指定IPv4地址配置ICMP flood 攻击防范触发阈值。

9. 配置ICMPv6 flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IPv6地址开启ICMPv6 flood攻击防范检测。

icmpv6-flood detect non-specific

缺省情况下,未对任何非受保护IPv6地址开启ICMPv6 flood攻击防范检测。

(4)     配置ICMPv6 flood攻击防范基于源IP统计的全局触发阈值。

icmpv6-flood source-threshold threshold-value

缺省情况下,ICMPv6 flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置ICMPv6 flood攻击防范基于目的IP统计的全局触发阈值。

icmpv6-flood threshold threshold-value

缺省情况下,ICMPv6 flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置ICMPv6 flood攻击防范的全局处理行为。

icmpv6-flood action { drop | logging } *

缺省情况下,不对检测到的ICMPv6 flood攻击采取任何防范措施。

(7)     开启对IPv6地址的ICMPv6 flood攻击防范检测,并配置触发阈值和处理行为。

icmpv6-flood detect ipv6 ipv6-address [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]

缺省情况下,未对任何指定IPv6地址配置ICMPv6 flood攻击防范检测。

10. 配置UDP flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启UDP flood攻击防范检测。

udp-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启UDP flood攻击防范检测。

(4)     配置UDP flood攻击防范基于源IP统计的全局触发阈值。

udp-flood source-threshold threshold-value

缺省情况下,UDP flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置UDP flood攻击防范基于目的IP统计的全局触发阈值。

udp-flood threshold threshold-value

缺省情况下,UDP flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置UDP flood攻击防范检测的全局处理行为。

udp-flood action { drop | logging } *

缺省情况下,不对检测到的UDP flood攻击进行任何处理。

(7)     开启对IP地址的UDP flood攻击防范检测,并配置触发阈值和处理行为。

udp-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置UDP flood攻击防范检测。

11. 配置DNS flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启DNS flood攻击防范检测。

dns-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启DNS flood攻击防范检测。

(4)     配置DNS flood攻击防范基于源IP统计的全局触发阈值。

dns-flood source-threshold threshold-value

缺省情况下,DNS flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置DNS flood攻击防范基于目的IP统计的全局触发阈值。

dns-flood threshold threshold-value

缺省情况下,DNS flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     (可选)配置DNS flood攻击防范的全局检测端口号。

dns-flood port port-list

缺省情况下,DNS flood攻击防范的全局检测端口号为53。

(7)     配置对DNS flood攻击防范的全局处理行为。

dns-flood action { client-verify | drop | logging } *

缺省情况下,不对检测到的DNS flood攻击采取任何措施。

(8)     开启对IP地址的DNS flood攻击防范检测,并配置触发阈值和处理行为。

dns-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置DNS flood攻击防范检测。

12. 配置DNS reply flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启DNS reply flood攻击防范检测。

dns-reply-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启DNS reply flood攻击防范检测。

(4)     配置DNS reply flood攻击防范基于源IP统计的全局触发阈值。

dns-reply-flood source-threshold threshold-value

缺省情况下,DNS reply flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置DNS reply flood攻击防范基于目的IP统计的全局触发阈值。

dns-reply-flood threshold threshold-value

缺省情况下,DNS reply flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     配置DNS reply flood攻击防范的全局检测端口号。

dns-reply-flood port port-list

缺省情况下,DNS reply flood攻击防范的全局检测端口号为53。

(7)     配置对DNS reply flood攻击防范的全局处理行为。

dns-reply-flood action { client-verify | drop | logging } *

缺省情况下,不对检测到的DNS reply flood攻击采取任何措施。

(8)     开启对IP地址的DNS reply flood攻击防范检测,并配置触发阈值和处理行为。

dns-reply-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置DNS reply flood攻击防范检测。

13. 配置HTTP flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启HTTP flood攻击防范检测。

http-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启HTTP flood攻击防范检测。

(4)     配置HTTP flood攻击防范基于源IP统计的全局触发阈值。

http-flood source-threshold threshold-value

缺省情况下,HTTP flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置HTTP flood攻击防范基于目的IP统计的全局触发阈值。

http-flood threshold threshold-value

缺省情况下,HTTP flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     (可选)配置HTTP flood攻击防范的全局检测端口号。

http-flood port port-list

缺省情况下,HTTP flood攻击防范的全局检测端口号为80。

(7)     配置对HTTP flood攻击防范的全局处理行为。

http-flood action { client-verify | drop | logging } *

缺省情况下,不对检测到的HTTP flood攻击采取任何措施。

(8)     开启对IP地址的HTTP flood攻击防范检测,并配置触发阈值和处理行为。

http-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置HTTP flood攻击防范检测。

14. 配置SIP flood攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启SIP flood攻击防范检测。

sip-flood detect non-specific

缺省情况下,未对任何非受保护IP地址开启SIP  flood攻击防范检测。

(4)     配置SIP flood攻击防范基于源IP统计的全局触发阈值。

sip-flood source-threshold threshold-value

缺省情况下,SIP flood攻击防范基于源IP统计的全局触发阈值为1000。

(5)     配置SIP flood攻击防范基于目的IP统计的全局触发阈值。

sip-flood threshold threshold-value

缺省情况下,SIP flood攻击防范基于目的IP统计的全局触发阈值为1000。

(6)     (可选)配置SIP flood攻击防范的全局检测端口号。

sip-flood port port-list

缺省情况下,SIP flood攻击防范的全局检测端口号为5060。

(7)     配置对SIP flood攻击防范的全局处理行为。

sip-flood action { client-verify | drop | logging } *

缺省情况下,不对检测到的SIP flood攻击采取任何措施。

(8)     开启对IP地址的SIP flood攻击防范检测,并配置触发阈值和处理行为。

sip-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]

缺省情况下,未对任何指定IP地址配置SIP flood攻击防范检测。

15. 配置阈值学习功能

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     开启泛洪攻击阈值学习功能。

threshold-learn enable

缺省情况下,未开启阈值学习功能。

(4)     (可选)配置阈值学习模式。

¡     单次学习模式

threshold-learn mode once

¡     周期学习模式

threshold-learn mode periodic

缺省情况下,学习模式为单次学习模式。

(5)     (可选)配置学习时长。

threshold-learn duration duration

缺省情况下,阈值学习时长为1440分钟。

(6)     (可选)配置学习间隔。

threshold-learn interval interval

缺省情况下,阈值学习间隔为1440分钟。

单次学习模式请跳过本步骤。

(7)     (可选)配置学习容忍度。

threshold-learn tolerance-value tolerance-value

缺省情况下,阈值学习容忍度为50%。

未开启自动应用功能时请跳过本步骤。

(8)     (可选)开启阈值学习结果自动应用功能。

threshold-learn auto-apply enable

缺省情况下,阈值学习结果自动应用功能处于关闭状态。

(9)     应用最近一次的阈值学习结果。

threshold-learn apply

在阈值学习结果自动应用功能开启时,此命令不生效。

1.7.5  配置HTTP慢速攻击防范策略

1. 功能简介

HTTP慢速攻击防范策略能够有效检测和防范HTTP慢速攻击。具体而言,当设备的HTTP并发连接数达到HTTP慢速攻击检测的触发阈值时,触发HTTP慢速攻击检测功能。防范策略将符合HTTP慢速攻击的报文视作异常报文,当设备在一个检测周期内检测到某源IP到达一个目的IP的异常报文数目超过所配置的异常报文防范阈值,则执行相应的HTTP慢速攻击防范处理动作。

HTTP慢速攻击防范处理动作包括上报日志和将攻击者的IP地址加入IP黑名单。

2. 配置限制和指导

若慢速攻击的处理动作包含将攻击者的IP地址加入IP黑名单,则需要开启黑名单过滤功能来配合。

一般情况下,建议尽量使用缺省端口号80作为慢速攻击防范的全局检测端口号。如果需要通过http-slow-attack port命令指定非缺省端口作为慢速攻击防范的全局检测端口号,需确保配置的端口号为HTTP协议的通信端口号。否则会给设备带来大量无效的HTTP慢速攻击检测,严重耗费系统资源。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     对所有非受保护IP地址开启HTTP慢速攻击防范。

http-slow-attack detect non-specific

缺省情况下,未对任何非受保护IP地址开启HTTP慢速攻击防范。

(4)     配置慢速攻击防范的全局触发阈值,包括HTTP并发连接数阈值、Content-Length阈值、报文实际载荷阈值和异常报文防范阈值。

http-slow-attack threshold [ alert-number alert-number | content-length content-length | payload-length payload-length | packet-number packet-number ]*

缺省情况下,HTTP并发连接数阈值为5000,Content-Length阈值为10000,报文实际载荷阈值为50,异常报文防范阈值为10。

(5)     配置HTTP慢速攻击防范的全局检测周期。

http-slow-attack period period

缺省情况下,HTTP慢速攻击检测周期为60秒。

(6)     (可选)配置HTTP flood攻击防范的全局检测端口号。

http-slow-attack port port-list

缺省情况下,HTTP慢速攻击防范的全局检测端口号为80。

(7)     配置对HTTP慢速攻击防范的全局处理行为。

http-slow-attack action logging

缺省情况下,不对检测到的HTTP慢速攻击采取任何措施。

(8)     对指定IP地址开启HTTP慢速攻击防范,并配置HTTP慢速攻击防范的检测端口号、触发阈值、检测周期和处理行为。

http-slow-attack detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold { alert-number alert-number | content-length content-length | payload-length payload-length | packet-number packet-number }* ] [ period period ] [ action { block-source [ timeout minutes ] | logging }* ]

缺省情况下,未对任何指定IP地址配置HTTP慢速攻击防范。

1.7.6  配置攻击防范例外列表

1. 功能简介

攻击防范例外列表用于过滤不需要进行攻击防范检测的主机报文,与指定的ACL permit规则匹配的报文将不会受到任何类型的攻击防范检测。该配置用于过滤某些被信任的安全主机发送的报文,可以有效的减小误报率,并提高服务器处理效率。例如:攻击防范功能可能将源IP地址相同,目的地址不同的组播报文(如OSPF、PIM等协议报文)检测为扫描攻击,此时可以通过配置例外列表放行组播报文来消除误报。

2. 配置限制和指导

例外列表引用的ACL的permit规则中仅源地址、目的地址、源端口、目的端口、协议号、L3VPN和非首片分片标记参数用于匹配报文。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入攻击防范策略视图。

attack-defense policy policy-name

(3)     配置攻击防范例外列表。

exempt acl [ ipv6 ] { acl-number | name acl-name }

缺省情况下,未配置攻击防范例外列表。

1.7.7  在接口上应用攻击防范策略

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     配置在接口上应用攻击防范策略。

attack-defense apply policy policy-name

缺省情况下,接口上未应用任何攻击防范策略。

(4)     指定处理当前接口流量的业务处理板

(独立运行模式)

service slot slot-number

(IRF模式)

service chassis chassis-number slot slot-number

缺省情况下,未指定处理当前接口流量的业务处理板,流量处理在接收报文的业务处理板上进行。

当在全局接口(例如冗余接口、聚合接口等)上应用攻击防范策略时,为保证扫描攻击防范策略与泛洪攻击防范策略能够正确检测并防御攻击,需要配置在指定slot上处理当前接口的流量

1.7.8  在本机应用攻击防范策略

1. 功能简介

通过在本机应用攻击防范策略,使已配置的攻击防范策略对目的地址为本机的报文生效。

此功能可以提高对目的地址为本机的攻击报文的处理效率。

当接口和本机均应用了攻击防范策略时,先进行接口上攻击防范策略的检测,若报文未被丢弃,则还会进行本机上攻击防范策略的检测。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置在本机应用攻击防范策略。

attack-defense local apply policy policy-name

缺省情况下,本机未应用任何攻击防范策略。

1.8  配置单包攻击防范日志的非聚合输出功能

1. 功能简介

对日志进行聚合输出是指,在一定时间内,对在本机或同一个同一个接口上检测到的相同攻击类型、相同攻击防范动作、相同的源/目的地址以及属于相同VPN的单包攻击的所有日志聚合成一条日志输出。

2. 配置限制和指导

通常不建议开启单包攻击防范的日志非聚合输出功能,因为在单包攻击较为频繁的情况下,它会导致大量日志信息输出,占用控制台的显示资源。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启对单包攻击防范日志的非聚合输出功能。

attack-defense signature log non-aggregate

缺省情况下,单包攻击防范的日志信息经系统聚合后再输出。

1.9  配置TCP分片攻击防范

1. 功能简介

设备上开启TCP分片攻击防范功能后,能够对收到的TCP分片报文的长度以及分片偏移量进行合法性检测,并丢弃非法的TCP分片报文。

2. 配置限制和指导

如果设备上开启了TCP分片攻击防范功能,并应用了单包攻击防范策略,则TCP分片攻击防范功能会先于单包攻击防范策略检测并处理入方向的TCP报文。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启TCP分片攻击防范功能。

attack-defense tcp fragment enable

缺省情况下,TCP分片攻击防范功能处于开启状态。

1.10  配置攻击排名的Top统计功能

1. 功能简介

开启了攻击排名的Top统计功能后,设备将基于攻击者、被攻击者和攻击类型对丢包数量进行统计。用户可以通过display attack-defense top-attack-statistics命令查看攻击排名的Top统计信息,以便采取有效的攻击防范措施。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启攻击排名的Top统计功能。

attack-defense top-attack-statistics enable

缺省情况下,攻击排名的Top统计功能处于关闭状态。

1.11  配置TCP客户端验证

1. 功能简介

通过在设备连接外部网络的接口上开启TCP客户端验证功能,可以保护内部网络中的应用服务器免受SYN flood、SYN-ACK flood、RST flood、FIN flood或ACK flood攻击。TCP客户端验证功能有两种工作方式:

·     手工添加受保护IP地址:当设备检测到来自某客户端的首个目的地址为配置的受保护IP地址的SYN报文后,将对该客户端的新建TCP连接的协商报文进行合法性检查。

·     自动添加受保护IP地址:当设备检测到某服务器受到了SYN flood、SYN-ACK flood、RST flood、FIN flood、ACK flood攻击时,会根据配置启动相应的防范措施。若防范措施配置为对攻击报文进行TCP客户端验证,则设备会将该服务器IP地址添加到受保护IP表项中,并按照指定的TCP客户端验证代理模式,对后续新建TCP连接的协商报文进行合法性检查。

单向代理模式时,通过合法性检查的TCP客户端的IP地址将被加入信任IP地址列表中,之后设备将放行来自该IP地址的TCP报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置TCP客户端验证的受保护IP地址。

client-verify tcp protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启TCP客户端验证功能。

¡     配置单向代理模式。

client-verify tcp enable mode safe-reset

¡     配置双向代理模式。

client-verify tcp enable [ mode syn-cookie ]

缺省情况下,TCP客户端验证功能处于关闭状态。

1.12  配置DNS客户端验证

1. 功能简介

通过在设备连接外部网络的接口上开启DNS客户端验证功能,可以保护内部网络中的应用服务器免受DNS flood攻击。DNS客户端验证功能有两种工作方式:

·     手工添加受保护IP地址:当设备检测到来自某客户端的首个目的地址为配置的受保护IP地址的DNS Query报文时,对该客户端发送的DNS报文进行合法性检查。

·     自动添加受保护IP地址:当设备检测到某服务器受到了DNS flood攻击时,会根据配置启动相应的防范措施。若防范措施配置为对攻击报文进行DNS客户端验证,则设备会将该服务器IP地址添加到受保护IP表项中,并对后续的DNS Query请求报文进行合法性检查。

通过合法性检查的DNS客户端的IP地址将被加入信任IP地址列表中,之后设备将放行来自该IP地址的DNS报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置DNS客户端验证的受保护IP地址。

client-verify dns protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启DNS 客户端验证功能。

client-verify dns enable

缺省情况下,DNS客户端验证功能处于关闭状态。

1.13  配置DNS reply验证

1. 功能简介

通过在设备连接外部网络的接口上开启DNS reply验证功能,可以保护内部网络中的DNS客户端免受DNS reply flood攻击。DNS reply验证功能有两种工作方式:

·     手工添加受保护IP地址:当设备检测到来自某服务器的首个目的地址为配置的受保护IP地址的DNS reply报文时,对该服务器发送的DNS reply报文进行合法性检查。

·     自动添加受保护IP地址:当设备检测到某客户端受到了DNS reply flood攻击时,会根据配置启动相应的防范措施。若防范措施配置为对攻击报文进行DNS reply验证,则设备会将该客户端IP地址添加到受保护IP表项中,并对后续的DNS reply请求报文进行合法性检查。

通过合法性检查的DNS服务器的IP地址将被加入信任IP地址列表中,之后设备将放行来自该IP地址的DNS reply报文。

2. 配置限制和指导

由于DNS reply验证对服务器发送的DNS应答进行了干预,因此要求服务器的实现严格遵守TCP/IP协议栈以及DNS协议的规定,如果服务器的协议栈实现不完善,即便是合法DNS reply报文,也可能会检查不通过。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置DNS reply验证的受保护IP地址。

client-verify dns-reply protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启DNS reply验证功能。

client-verify dns-reply enable

缺省情况下,DNS reply验证功能处于关闭状态。

1.14  配置HTTP客户端验证

1. 功能简介

通过在设备连接外部网络的接口上开启HTTP客户端验证功能,可以保护内部网络中的应用服务器免受HTTP flood攻击。HTTP客户端验证功能有两种工作方式:

·     手工添加受保护IP地址:当设备检测到来自某客户端的首个目的地址为配置的受保护IP地址的HTTP GET/POST报文时,对该客户端发送的HTTP报文进行合法性检查。

·     自动添加受保护IP地址:当设备监测到某服务器受到了HTTP flood攻击时,会根据配置启动相应的防范措施。若防范措施配置为对攻击报文进行HTTP客户端验证,则设备会将该服务器IP地址添加到受保护IP表项中,并对后续的HTTP GET/POST请求报文进行合法性检查。

通过合法性检查的HTTP客户端的IP地址将被加入信任IP地址列表中,之后设备将放行来自该IP地址的HTTP报文。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置HTTP客户端验证的受保护IP地址。

client-verify http protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]

(3)     进入接口视图。

interface interface-type interface-number

(4)     开启HTTP客户端验证功能。

client-verify http enable

缺省情况下,HTTP客户端验证功能处于关闭状态。

1.15  配置SIP客户端验证

1. 功能简介

通过在设备连接外部网络的接口上开启SIP客户端验证功能,可以保护内部网络中的SIP应用服务器免受SIP flood攻击。SIP客户端验证功能有两种工作方式:

·     手工添加受保护IP地址:当设备检测到来自某客户端的首个目的地址为配置的受保护IP地址的INVITE报文时,对该客户端发送的SIP报文进行合法性检查。

·     自动添加受保护IP地址:当设备检测到某服务器受到了SIP flood攻击时,会根据配置启动相应的防范措施。若防范措施配置为对攻击报文进行SIP客户端验证,则设备会将该服务器IP地址添加到受保护IP表项中,并对后续的INVITE请求报文进行合法性检查。

通过合法性检查的SIP客户端的IP地址将被加入信任IP地址列表中,之后设备将直接转发来自该IP地址的SIP协议的INVITE报文。

2. 配置限制和指导

如果客户端发送的报文首部信息不完整,即便是合法用户,也可能由于未解析到对应的字段导致未通过SIP客户端验证的严格检查而无法访问服务器。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)配置SIP客户端验证的受保护IP地址。

client-verify sip protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]

(3)     进入接口视图

interface interface-type interface-number

(4)     开启SIP客户端验证功能

client-verify sip enable

缺省情况下,SIP客户端验证功能处于关闭状态。

1.16  配置IP黑名单

1. 功能简介

通过配置IP黑名单功能可以对来自或发往指定IP地址的报文进行过滤。

IP黑名单的配置包括开启黑名单过滤功能和添加IP黑名单表项。若全局的黑名单过滤功能处于开启状态,则所有接口上的IP黑名单过滤功能均处于开启状态。若全局的黑名单过滤功能处于关闭状态,则需要开启指定接口上的黑名单过滤功能。添加IP黑名单表项的同时可以选择配置IP黑名单表项的老化时间,若不配置,那么该IP黑名单表项永不老化,除非用户手动将其删除。

IP黑名单表项除了可以用户手工添加之外,还可以通过其他方式自动添加。对于源IP黑名单,在黑名单功能使能的前提下,若配置了扫描攻击防范策略及相应的IP黑名单添加功能,则可以将检测到的扫描攻击方IP地址添加到源IP黑名单中。扫描攻击防范添加的源IP黑名单表项必定会老化,老化时间可配。关于扫描攻击防范的相关配置请参见“1.7.3  配置扫描攻击防范策略”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)添加IP黑名单表项。

¡     添加源IPv4黑名单表项。

blacklist ip source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] [ timeout minutes ]

¡     添加源IPv6黑名单表项。

blacklist ipv6 source-ipv6-address [ vpn-instance vpn-instance-name ] [ timeout minutes ]

¡     添加目的IPv4黑名单表项。

blacklist destination-ip destination-ip-address [ vpn-instance vpn-instance-name ] [ timeout minutes ]

¡     添加目的IPv6黑名单表项。

blacklist destination-ipv6 destination -ipv6-address [ vpn-instance vpn-instance-name ] [ timeout minutes ]

(3)     (可选)使能黑名单日志功能。

blacklist logging enable

缺省情况下,黑名单日志功能处于关闭状态。

(4)     开启黑名单过滤功能。请选择其中一项进行配置。

¡     开启全局黑名单过滤功能。

blacklist global enable

缺省情况下,全局黑名单功能处于关闭状态。

¡     请依次执行以下命令开启接口上的黑名单过滤功能。

interface interface-type interface-number

blacklist enable

缺省情况下,接口上的黑名单功能处于关闭状态。

1.17  配置地址对象组黑名单

1. 功能简介

通过配置地址对象组黑名单功能可以对指定地址网段的报文进行过滤。

2. 配置限制和指导

地址对象组黑名单目前仅支持由管理员手工进行配置、删除。

地址对象组黑名单功能需要配合地址对象组功能使用,有关地址对象组功能的详细介绍,请参见“安全配置指导”中的“对象组”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     通过引用地址对象组配置黑名单。

blacklist object-group object-group-name

缺省情况下,未引用地址对象组。

(3)     开启黑名单过滤功能。请选择其中一项进行配置。

¡     开启全局黑名单过滤功能。

blacklist global enable

缺省情况下,全局黑名单功能处于关闭状态。

¡     请依次执行以下命令开启接口上的黑名单过滤功能。

interface interface-type interface-number

blacklist enable

缺省情况下,接口上的黑名单功能处于关闭状态。

1.18  配置地址对象组白名单

1. 功能简介

通过配置地址对象组白名单功能可以放行指定地址网段的报文。

2. 配置限制和指导

地址对象组白名单目前仅支持由管理员手工进行配置、删除。

地址对象组白名单功能需要配合地址对象组功能使用,有关地址组功能的详细介绍,请参见“安全配置指导”中的“对象组”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     通过引用地址对象组配置白名单。

whitelist object-group object-group-name

缺省情况下,未引用地址对象组。

(3)     开启白名单过滤功能。请选择其中一项进行配置。

¡     开启全局白名单过滤功能。

whitelist global enable

缺省情况下,全局白名单功能处于关闭状态。

¡     请依次执行以下命令开启接口上的白名单过滤功能。

interface interface-type interface-number

whitelist enable

缺省情况下,接口上的白名单功能处于关闭状态。

1.19  配置Login用户攻击防范功能

1. 功能简介

Login用户攻击防范功能处于开启状态时,如果用户登录设备连续失败的次数达到指定次数,则此用户IP地址将被加入黑名单,在全局黑名单功能开启的情况下,来自该IP地址的用户报文将被阻断指定的时长。

通过Login攻击防范功能与全局黑名单功能相配合,可以有效防范Login用户DoS攻击。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     开启Login用户攻击防范功能。

attack-defense login enable

缺省情况下,Login用户攻击防范功能处于关闭状态。

(3)     配置Login用户登录失败的最大次数。

attack-defense login max-attempt max-attempt

缺省情况下,Login用户登录失败的最大次数为3次。

(4)     配置Login用户登录失败后阻断时长。

attack-defense login block-timeout minutes

缺省情况下,Login用户登录失败后阻断时长为60分钟。

(5)     开启全局黑名单过滤功能。

blacklist global enable

缺省情况下,全局黑名单功能处于关闭状态。

1.20  配置Login用户延时认证功能

1. 功能简介

Login用户登录失败后,若设备上配置了重新进行认证的等待时长,则系统将会延迟一定的时长之后再允许用户进行认证,可以有效地避免设备受到Login用户字典序攻击。

Login用户延迟认证功能与Login用户攻击防范功能无关,只要配置了延迟认证等待时间,即可生效。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置Login用户登录失败后重新进行认证的等待时长。

attack-defense login reauthentication-delay seconds

缺省情况下,Login用户登录失败后重新进行认证不需要等待。

1.21  攻击检测及防范显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后攻击检测及防范的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,执行reset命令可以清除攻击检测及防范的统计信息。

表1-2 攻击检测及防范配置的显示和维护

操作

命令

显示IPv4 flood攻击防范统计信息

(独立运行模式)

display attack-defense { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } statistics ip [ ip-address [ vpn vpn-instance-name ] ] [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ]

(IRF模式)

display attack-defense { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } statistics ip [ ip-address [ vpn vpn-instance-name ] ] [ [ interface interface-type interface-number | local ] [ chassis chassis-number slot slot-number ] ] [ count ]

显示IPv6 flood攻击防范统计信息

(独立运行模式)

display attack-defense { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | sip-flood | syn-flood | syn-ack-flood | udp-flood } statistics ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ]

(IRF模式)

display attack-defense { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | sip-flood | syn-flood | syn-ack-flood | udp-flood } statistics ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ [ interface interface-type interface-number | local ] [ chassis chassis-number slot slot-number ] ] [ count ]

显示IPv4 慢速攻击防范统计信息

(独立运行模式)

display attack-defense http-slow-attack statistics ip [ ip-address [ vpn-instance vpn-instance-name ] ] [ [ interface { interface-type interface-number | interface-name } | local ] [ slot slot-number ] ] [ count ]

(IRF模式)

display attack-defense http-slow-attack statistics ip [ ip-address [ vpn-instance vpn-instance-name ] ] [ [ interface { interface-type interface-number | interface-name } | local ] [ chassis chassis-number slot slot-number ] ] [ count ]

显示IPv6 慢速攻击防范统计信息

(独立运行模式)

display attack-defense http-slow-attack statistics ipv6 [ ipv6-address [ vpn-instance vpn-instance-name ] ] [ [ interface { interface-type interface-number | interface-name } | local ] [ slot slot-number ] ] [ count ]

(IRF模式)

display attack-defense http-slow-attack statistics ipv6 [ ipv6-address [ vpn-instance vpn-instance-name ] ] [ [ interface { interface-type interface-number | interface-name } | local ] [ chassis chassis-number slot slot-number ] ] [ count ]

显示攻击防范策略的配置信息

display attack-defense policy [ policy-name ]

显示flood攻击防范的IPv4类型的受保护IP表项

(独立运行模式)

display attack-defense policy policy-name { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } ip [ ip-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ]

(IRF模式)

display attack-defense policy policy-name { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } ip [ ip-address [ vpn vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ]

显示flood攻击防范的IPv6类型的受保护IP表项

(独立运行模式)

display attack-defense policy policy-name { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ slot slot-number ] ] [ count ]

(IRF模式)

display attack-defense policy policy-name { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ]

显示扫描攻击者的IPv4地址表项

(独立运行模式)

display attack-defense scan attacker ip [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ]

(IRF模式)

display attack-defense scan attacker ip [ [ interface interface-type interface-number | local ] [ chassis chassis-number slot slot-number ] ] [ count ]

显示扫描攻击者的IPv6地址表项

(独立运行模式)

display attack-defense scan attacker ipv6 [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ]

(IRF模式)

display attack-defense scan attacker ipv6 [ [ interface interface-type interface-number | local ] [ chassis chassis-number slot slot-number ] ] [ count ]

显示接口上的攻击防范统计信息

(独立运行模式)

display attack-defense statistics interface interface-type interface-number [ slot slot-number ]

(IRF模式)

display attack-defense statistics interface interface-type interface-number [ chassis chassis-number slot slot-number ]

显示本机攻击防范统计信息

(独立运行模式)

display attack-defense statistics local [ slot slot-number ]

(IRF模式)

display attack-defense statistics local [ chassis chassis-number slot slot-number ]

显示Top10的攻击排名统计信息

display attack-defense top-attack-statistics { last-1-hour | last-24-hours | last-30-days } [ by-attacker | by-type | by-victim ]

显示目的IPv4黑名单表项

(独立运行模式)

display blacklist destination-ip [ destination-ip-address [ vpn-instance vpn-instance-name ] ] [ slot slot-number ] [ count ]

(IRF模式)

display blacklist destination-ip [ destination-ip-address [ vpn-instance vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ]

显示目的IPv6黑名单表项

(独立运行模式)

display blacklist destination-ipv6 [ destination-ipv6-address [ vpn-instance vpn-instance-name ] ] [ slot slot-number ] [ count ]

(IRF模式)

display blacklist destination-ipv6 [ destination-ipv6-address [ vpn-instance vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ]

显示源IPv4黑名单表项

(独立运行模式)

display blacklist ip [ source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] ] [ slot slot-number ] [ count ]

(IRF模式)

display blacklist ip [ source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] ] [ chassis chassis-number slot slot-number ] [ count ]

显示源IPv6黑名单表项

(独立运行模式)

display blacklist ipv6 [ source-ipv6-address [ vpn-instance vpn-instance-name ] ] [ slot slot-number ] [ count ]

(IRF模式)

display blacklist ipv6 [ source-ipv6-address [ vpn-instance vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ]

显示客户端验证的IPv4类型的受保护IP表项

(独立运行模式)

display client-verify { dns | dns-reply | http | sip | tcp } protected ip [ ip-address [ vpn vpn-instance-name ] ] [ port port-number ] [ slot slot-number ] [ count ]

(IRF模式)

display client-verify { dns | dns-reply | http | sip | tcp } protected ip [ ip-address [ vpn vpn-instance-name ] ] [ port port-number ] [ chassis chassis-number slot slot-number ] [ count ]

显示客户端验证的IPv6类型的受保护IP表项

(独立运行模式)

display client-verify { dns | dns-reply | http | sip | tcp } protected ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ port port-number ] [ slot slot-number ] [ count ]

(IRF模式)

display client-verify { dns | dns-reply | http | sip | tcp } protected ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ port port-number ] [ chassis chassis-number slot slot-number ] [ count ]

显示客户端验证的IPv4类型的信任IP表项

(独立运行模式)

display client-verify { dns | dns-reply | http | sip | tcp } trusted ip [ ip-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ]

(IRF模式)

display client-verify { dns | dns-reply | http | sip | tcp } trusted ip [ ip-address [ vpn vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ]

显示客户端验证的IPv6类型的信任IP表项

(独立运行模式)

display client-verify { dns | dns-reply | http | sip | tcp } trusted ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ slot slot-number ] ] [ count ]

(IRF模式)

display client-verify { dns | dns-reply | http | sip | tcp } trusted ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ]

显示白名单引用的地址对象组的报文统计信息

(独立运行模式)

display whitelist object-group [ object-group-name ] [ slot slot-number ]

(IRF模式)

display whitelist object-group [ object-group-name ] [ chassis chassis-number slot slot-number ]

清除flood攻击防范受保护IP表项的统计信息

reset attack-defense policy policy-name flood protected { ip | ipv6 } statistics

清除接口上的攻击防范统计信息

reset attack-defense statistics interface interface-type interface-number

清除本机攻击防范的统计信息

reset attack-defense statistics local

清除Top10的攻击排名统计信息

reset attack-defense top-attack-statistics

清除目的IPv4动态黑名单表项

reset blacklist destination-ip { destination-ip-address [ vpn-instance vpn-instance-name ] | all }

清除目的IPv6动态黑名单表项

reset blacklist destination-ipv6{ destination-ipv6-address [ vpn-instance vpn-instance-name ] | all }

清除源IPv4动态黑名单表项

reset blacklist ip { source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] | all }

清除源IPv6动态黑名单表项

reset blacklist ipv6 { source-ipv6-address [ vpn-instance vpn-instance-name ] | all }

清除黑名单表项的统计信息

reset blacklist statistics

清除客户端验证的受保护IP地址的统计信息

reset client-verify { dns | dns-reply | http | sip | tcp } protected { ip | ipv6 } statistics

清除客户端验证的信任IP表项

reset client-verify { dns | dns-reply | http | sip | tcp } trusted { ip | ipv6 }

清除白名单引用的地址对象组的报文统计信息

reset whitelist statistics

1.22  攻击检测及防范典型配置举例

1.22.1  在接口上配置攻击检测及防范

1. 组网需求

Router上的接口GigabitEthernet2/0/1与内部网络连接,接口GigabitEthernet2/0/2与外部网络连接,接口GigabitEthernet2/0/3与一台内部服务器连接。现有如下安全需求:

·     为防范外部网络对内部网络主机的Smurf攻击和扫描攻击,需要在接口GigabitEthernet2/0/2上开启Smurf攻击防范和扫描攻击防范。具体要求为:低防范级别的扫描攻击防范;将扫描攻击者添加到黑名单中(老化时间为10分钟);检测到Smurf攻击或扫描攻击后,输出告警日志。

·     为防范外部网络对内部服务器的SYN flood攻击,需要在接口GigabitEthernet2/0/2上开启SYN flood攻击防范。具体要求为:当设备监测到向内部服务器每秒发送的SYN报文数持续达到或超过5000时,输出告警日志并丢弃攻击报文。

·     为防范外部网络对内部服务器的HTTP慢速攻击,需要在接口GigabitEthernet2/0/2上开启HTTP慢速攻击防范。具体要求为:当设备监测到向内部服务器发起的目的端口为80或8080的HTTP连接的并发连接数超过3000时,触发HTTP慢速攻击检测功能。在缺省检测周期内(60秒),若设备收到异常HTTP报文的个数超过10个,则输出告警日志并将攻击源IP加入IP黑名单。

2. 组网图

图1-10 接口上的攻击检测与防范配置典型组网图

3. 配置步骤

# 配置各接口的IP地址,略。

# 开启全局黑名单过滤功能。

<Router> system-view

[Router] blacklist global enable

# 创建攻击防范策略a1。

[Router] attack-defense policy a1

# 开启Smurf单包攻击报文的特征检测,配置处理行为为输出告警日志。

[Router-attack-defense-policy-a1] signature detect smurf action logging

# 开启低防范级别的扫描攻击防范,配置处理行为输出告警日志以及阻断并将攻击者的源IP地址加入黑名单表项(老化时间为10分钟)。

[Router-attack-defense-policy-a1] scan detect level low action logging block-source timeout 10

# 为保护IP地址为10.1.1.2的内部服务器,配置针对IP地址10.1.1.2的SYN flood攻击防范参数,触发阈值为5000,处理行为输出告警日志并丢弃攻击报文。

[Router-attack-defense-policy-a1] syn-flood detect ip 10.1.1.2 threshold 5000 action logging drop

# 为保护IP地址为10.1.1.2的内部服务器,配置针对IP地址10.1.1.2的HTTP慢速攻击防范参数,并指定检测端口为80和8080,指定HTTP并发连接数阈值为3000,Content-Length阈值为10000,报文实际载荷阈值为20,异常报文防范阈值为10,处理动作为输出告警日志并将攻击源IP加入IP黑名单。

[Router-attack-defense-policy-a1] http-slow-attack detect ip 10.1.1.2 port 80 8080 threshold alert-number 3000 content-length 10000 payload-length 20 packet-number 10 action logging block-source

[Router-attack-defense-policy-a1] quit

# 在接口GigabitEthernet2/0/2上应用攻击防范策略a1。

[Router] interface gigabitethernet 2/0/2

[Router-GigabitEthernet2/0/2] attack-defense apply policy a1

[Router-GigabitEthernet2/0/2] quit

4. 验证配置

完成以上配置后,可以通过display attack-defense policy命令查看配置的攻击防范策略a1具体内容。

# 查看攻击防范策略a1的配置信息。

[Router] display attack-defense policy a1

          Attack-defense Policy Information

--------------------------------------------------------------------------

Policy name                        : a1

Applied list                       : GE2/0/2

--------------------------------------------------------------------------

Exempt IPv4 ACL                    : Not configured

Exempt IPv6 ACL                    : Not configured

--------------------------------------------------------------------------

  Actions: CV-Client verify  BS-Block source  L-Logging  D-Drop  N-None

 

Signature attack defense configuration:

Signature name                     Defense      Level             Actions

Fragment                           Disabled     low               L

Impossible                         Disabled     medium            L,D

Teardrop                           Disabled     medium            L,D

Tiny fragment                      Disabled     low               L

IP option abnormal                 Disabled     medium            L,D

Smurf                              Enabled      medium            L

Traceroute                         Disabled     low               L

Ping of death                      Disabled     medium            L,D

Large ICMP                         Disabled     info              L

  Max length                       4000 bytes

Large ICMPv6                       Disabled     info              L

  Max length                       4000 bytes

TCP invalid flags                  Disabled     medium            L,D

TCP null flag                      Disabled     medium            L,D

TCP all flags                      Disabled     medium            L,D

TCP SYN-FIN flags                  Disabled     medium            L,D

TCP FIN only flag                  Disabled     medium            L,D

TCP Land                           Disabled     medium            L,D

Winnuke                            Disabled     medium            L,D

UDP Bomb                           Disabled     medium            L,D

UDP Snork                          Disabled     medium            L,D

UDP Fraggle                        Disabled     medium            L,D

IP option record route             Disabled     info              L

IP option internet timestamp       Disabled     info              L

IP option security                 Disabled     info              L

IP option loose source routing     Disabled     info              L

IP option stream ID                Disabled     info              L

IP option strict source routing    Disabled     info              L

IP option route alert              Disabled     info              L

ICMP echo request                  Disabled     info              L

ICMP echo reply                    Disabled     info              L

ICMP source quench                 Disabled     info              L

ICMP destination unreachable       Disabled     info              L

ICMP redirect                      Disabled     info              L

ICMP time exceeded                 Disabled     info              L

ICMP parameter problem             Disabled     info              L

ICMP timestamp request             Disabled     info              L

ICMP timestamp reply               Disabled     info              L

ICMP information request           Disabled     info              L

ICMP information reply             Disabled     info              L

ICMP address mask request          Disabled     info              L

ICMP address mask reply            Disabled     info              L

ICMPv6 echo request                Disabled     info              L

ICMPv6 echo reply                  Disabled     info              L

ICMPv6 group membership query      Disabled     info              L

ICMPv6 group membership report     Disabled     info              L

ICMPv6 group membership reduction  Disabled     info              L

ICMPv6 destination unreachable     Disabled     info              L

ICMPv6 time exceeded               Disabled     info              L

ICMPv6 parameter problem           Disabled     info              L

ICMPv6 packet too big              Disabled     info              L

IPv6 extension header abnormal     Disabled     Info              L

IPv6 extension header exceeded     Disabled     Info              L

  Limit                            7

 

Scan attack defense configuration:

 Defense : Enabled

 Level   : low

 Actions : L,BS(10)

 

Flood attack defense configuration:

Flood type  Global Dest/Src thres(pps)  Global actions Service ports  Non-specific

DNS flood         1000/1000             -              53             Disabled

DNS reply flood   1000/1000             -              -              Disabled

HTTP flood        1000/1000             -              80             Disabled

SIP flood         1000/1000             -              5060           Disabled

SYN flood         1000/1000             80             -              Enabled

ACK flood         1000/1000             -              -              Disabled

SYN-ACK flood     1000/1000             -              -              Disabled

RST flood         1000/1000             -              -              Disabled

FIN flood         1000/1000             -              -              Disabled

UDP flood         1000/1000             -              -              Disabled

ICMP flood        1000/1000             -              -              Disabled

ICMPv6 flood      1000/1000             -              -              Disabled

 

Flood attack defense for protected IP addresses:

 Address                 VPN instance Flood type    Thres(pps) Actions Ports

 10.1.1.2                --           SYN-FLOOD     5000       L,D     -

 

HTTP slow attack defense configuration:

 Non-specific: Disabled

 Global threshold:

  Alert-number: 5000

  Content-length: 10000

  Payload-length: 50

  Packet-number: 10

 Global period: 60 seconds

 Global actions: -

 Ports: 80

 

Threshold: AN-Alert number,CL-Content length,PL-Payload length,PN-Packet number

HTTP slow attack defense configuration for protected IP addresses:

 Address         VPN instance Threshold(AN/CL/PL/PN)      Period Actions   Ports

 10.1.1.2        --           3000,10000,20,10            60     L,BS(10)  80,8080

 

如果接口GigabitEthernet2/0/2上收到Smurf攻击报文,设备输出告警日志;如果接口GigabitEthernet2/0/2上收到扫描攻击报文,设备会输出告警日志,并将攻击者的IP地址加入黑名单;如果接口GigabitEthernet2/0/2上收到的SYN flood攻击报文超过触发阈值,则设备会输出告警日志,并将受到攻击的主机地址添加到TCP客户端验证的受保护IP列表中,同时丢弃攻击报文。

如果接口GigabitEthernet2/0/2上监测到向内部服务器发起的目的端口为80或8080的HTTP连接的并发连接数超过3000后,检测到异常报文个数超过10个,则设备会输出告警日志,同时将攻击源IP加入IP黑名单。

之后,可以通过display attack-defense statistics interface命令查看各接口上攻击防范的统计信息。

# 查看接口GigabitEthernet2/0/2上攻击防范的统计信息。

[Router] display attack-defense statistics interface gigabitethernet 2/0/2

Attack policy name: a1

Scan attack defense statistics:

 AttackType                          AttackTimes Dropped

 Port scan                           2           0

 IP sweep                            3           0

 Distribute port scan                1           0

Flood attack defense statistics:

 AttackType                          AttackTimes Dropped

 SYN flood                           1           5000

Signature attack defense statistics:

 AttackType                          AttackTimes Dropped

 Smurf                               1           0

HTTP slow attack defense statistics:

 AttackType                          AttackTimes

 HTTP slow attack                    2

 

若有扫描攻击或HTTP慢速攻击发生,还可以通过display blacklist命令查看由动态黑名单信息。

# 查看动态黑名单信息。

[Router] display blacklist ip

IP address      VPN instance   DS-Lite tunnel peer  Type    TTL(sec) Dropped

5.5.5.5         --             --                   Dynamic 600      353452

1.22.2  源IP黑名单配置举例

1. 组网需求

网络管理员通过流量分析发现外部网络中存在一个攻击者Host D,需要将来自Host D的报文在Router上永远过滤掉。另外,网络管理员为了暂时控制内部网络Host C的访问行为,需要将Router上收到的Host C的报文阻止50分钟。

2. 组网图

图1-11 源IP黑名单配置典型组网图

3. 配置步骤

# 配置各接口的IP地址,略。

# 开启全局黑名单过滤功能。

<Router> system-view

[Router] blacklist global enable

# 将Host D的IP地址5.5.5.5添加到源IP黑名单中,老化时间使用缺省情况(永不老化)。

[Router] blacklist ip 5.5.5.5

# 将Host C的IP地址192.168.1.4添加到源IP黑名单中,老化时间为50分钟。

[Router] blacklist ip 192.168.1.4 timeout 50

4. 验证配置

完成以上配置后,可以通过display blacklist ip命令查看已添加的源IP黑名单信息。

<Router> display blacklist ip

IP address      VPN instance   DS-Lite tunnel peer  Type    TTL(sec) Dropped

5.5.5.5         --             --                   Manual  Never    0

192.168.1.4     --             --                   Manual  2989     0

配置生效后,Router对来自Host D的报文一律进行丢弃处理,除非管理员认为Host D不再是攻击者,通过undo blacklist ip 5.5.5.5将其从黑名单中删除;如果Router接收到来自Host C的报文,则在50分钟之内,一律对其进行丢弃处理,50分钟之后,才进行正常转发。

1.22.3  目的IP黑名单配置举例

1. 组网需求

网络管理员通过流量分析发现内部网络Host A正在遭受严重攻击,需要将发往Host A的报文在Router上永远过滤掉。另外,网络管理员为了暂时控制对内部网络Host B的访问,需要将Router上收到的发往Host B的报文阻止50分钟。

2. 组网图

图1-12 目的IP黑名单配置典型组网图

3. 配置步骤

# 配置各接口的IP地址,略。

# 开启全局黑名单过滤功能。

<Router> system-view

[Router] blacklist global enable

# 将Host A的IP地址192.168.1.2添加到目的IP黑名单中,老化时间使用缺省情况(永不老化)。

[Router] blacklist destination-ip 192.168.1.2

# 将Host B的IP地址192.168.1.3添加到目的IP黑名单中,老化时间为50分钟。

[Router] blacklist destination-ip 192.168.1.3 timeout 50

4. 验证配置

完成以上配置后,可以通过display blacklist destination-ip命令查看已添加的目的IP黑名单信息。

[Router] display blacklist destination-ip

IP address      VPN instance    Type    TTL(sec) Dropped

192.168.1.2     --              Manual  Never    0

192.168.1.3     --              Manual  2989     0

配置生效后,Router对发往Host A的报文一律进行丢弃处理,除非管理员认为Host A不再受到攻击,通过undo blacklist destination-ip 192.168.1.2将其从目的黑名单中删除;如果Router接收到发往Host B的报文,则在50分钟之内,一律对其进行丢弃处理,50分钟之后,才进行正常转发。

1.22.4  地址对象组黑名单配置举例

1. 组网需求

网络管理员通过流量分析发现外部网络中存在来自网段5.5.5.0/24的一组攻击者,需要将这组攻击者的报文在Router上永远过滤掉。

2. 组网图

图1-13 地址对象组黑名单配置典型组网图

3. 配置步骤

# 配置各接口的IP地址,略。

# 开启全局黑名单过滤功能。

<Router> system-view

[Router] blacklist global enable

# 创建地址对象组obj1,并将5.5.5.0/24加入地址对象组。

[Router] object-group ip address obj1

[Router-obj-grp-ip-obj1] network subnet 5.5.5.0 24

[Router] quit

# 通过引用地址对象组obj1配置黑名单。

[Router] blacklist object-group obj1

4. 验证配置

完成以上配置后,Router对来自网段5.5.5.0/24的攻击者的报文一律进行丢弃处理,除非管理员认为网段5.5.5.0/24不再是攻击者,通过undo blacklist object-group将其从黑名单中删除。

1.22.5  地址对象组白名单配置举例

1. 组网需求

网络管理员需要将外部网络中的一组网段地址为5.5.5.0/24的用户报文在Router上永远放行。

2. 组网图

图1-14 地址组白名单配置典型组网图

3. 配置步骤

# 配置各接口的IP地址,略。

# 开启全局白名单过滤功能。

<Router> system-view

[Router] whitelist global enable

# 创建地址对象组obj1,并将5.5.5.0/24加入地址对象组。

[Router] object-group ip address obj1

[Router-obj-grp-ip-obj1] network subnet 5.5.5.0 24

[Router] quit

# 通过引用地址对象组obj1配置白名单。

[Router] whitelist object-group obj1

4. 验证配置

完成以上配置后,Router对来自网段地址为5.5.5.0/24的用户报文一律进行放行处理,除非管理员认为这组用户不再为信任网段,通过undo whitelist object-group将其从白名单中删除。

1.22.6  接口上的TCP客户端验证配置举例

1. 组网需求

在Router上配置TCP客户端验证功能,保护内网服务器不会受到外网非法用户的SYN flood攻击,并要求在客户端与服务器之间进行双向代理。

2. 组网图

图1-15 接口上TCP客户端验证配置组网图

3. 配置步骤

# 配置各接口的IP地址,略。

# 创建攻击防范策略a1。

<Router> system-view

[Router] attack-defense policy a1

# 对所有非受保护IP地址开启SYN flood攻击防范检测。

[Router-attack-defense-policy-a1] syn-flood detect non-specific

# 配置SYN flood攻击防范的全局触发阈值为10000。

[Router-attack-defense-policy-a1] syn-flood threshold 10000

# 配置SYN flood攻击防范的全局处理行为为添加到TCP客户端验证的受保护IP列表中以及输出告警日志。

[Router-attack-defense-policy-a1] syn-flood action logging client-verify

[Router-attack-defense-policy-a1] quit

# 在接口GigabitEthernet2/0/1上应用攻击防范策略a1。

[Router] interface gigabitethernet 2/0/1

[Router-GigabitEthernet2/0/1] attack-defense apply policy a1

[Router-GigabitEthernet2/0/1] quit

# 在接口GigabitEthernet2/0/1上开启TCP客户端验证的双向代理功能。

[Router] interface gigabitethernet 2/0/1

[Router-GigabitEthernet2/0/1] client-verify tcp enable mode syn-cookie

[Router-GigabitEthernet2/0/1] quit

4. 验证配置

以上配置完成之后,若有针对服务器的SYN flood攻击发生时,可以通过display client-verify tcp protected ip命令查看受攻击的服务器的IP地址被添加为动态受保护IP。

[Router] display client-verify tcp protected ip

IP address           VPN instance     Port  Type    Requested   Trusted

192.168.1.10         --               any   Dynamic 20          12

1.22.7  接口上的DNS客户端验证配置举例

1. 组网需求

在Router上配置DNS客户端验证功能,保护内网服务器不会受到外网非法用户的DNS flood攻击。

2. 组网图

图1-16 DNS客户端验证配置组网图

 

3. 配置步骤

# 配置各接口的IP地址,略。

# 创建攻击防范策略a1。

<Router> system-view

[Router] attack-defense policy a1

# 对所有非受保护IP地址开启DNS flood攻击防范检测。

[Router-attack-defense-policy-a1] dns-flood detect non-specific

# 配置DNS flood攻击防范的全局触发阈值为10000。

[Router-attack-defense-policy-a1] dns-flood threshold 10000

# 配置DNS flood攻击防范的全局处理行为为添加到DNS客户端验证的受保护IP列表中以及输出告警日志。

[Router-attack-defense-policy-a1] dns-flood action logging client-verify

[Router-attack-defense-policy-a1] quit

# 在接口GigabitEthernet2/0/1上应用攻击防范策略a1。

[Router] interface gigabitethernet 2/0/1

[Router-GigabitEthernet2/0/1] attack-defense apply policy a1

[Router-GigabitEthernet2/0/1] quit

# 在接口GigabitEthernet2/0/1 上开启DNS客户端验证功能。

[Router] interface gigabitethernet 2/0/1

[Router-GigabitEthernet2/0/1] client-verify dns enable

[Router-GigabitEthernet2/0/1] quit

4. 验证配置

以上配置完成之后,若有针对服务器的DNS flood攻击发生时,可以通过display client-verify dns protected ip命令查看受攻击的服务器的IP地址被添加为动态受保护IP。

[Router] display client-verify dns protected ip

IP address           VPN instance     Port  Type    Requested   Trusted

192.168.1.10         --               53    Dynamic 20          12

1.22.8  接口上的HTTP客户端验证配置举例

1. 组网需求

在Router上配置HTTP客户端验证功能,保护内网服务器不会受到外网非法用户的HTTP flood攻击。

2. 组网图

图1-17 接口上HTTP客户端验证配置组网图

3. 配置步骤

# 配置各接口的IP地址,略。

# 创建攻击防范策略a1。

<Router> system-view

[Router] attack-defense policy a1

# 对所有非受保护IP地址开启HTTP flood攻击防范检测。

[Router-attack-defense-policy-a1] http-flood detect non-specific

# 配置HTTP flood攻击防范的全局触发阈值为10000。

[Router-attack-defense-policy-a1] http-flood threshold 10000

# 配置HTTP flood攻击防范的全局处理行为添加到HTTP客户端验证的受保护IP列表中以及输出告警日志。

[Router-attack-defense-policy-a1] http-flood action logging client-verify

[Router-attack-defense-policy-a1] quit

# 在接口GigabitEthernet2/0/1上应用攻击防范策略a1。

[Router] interface gigabitethernet 2/0/1

[Router-GigabitEthernet2/0/1] attack-defense apply policy a1

[Router-GigabitEthernet2/0/1] quit

# 在接口GigabitEthernet2/0/1上开启HTTP客户端验证功能。

[Router] interface gigabitethernet 2/0/1

[Router-GigabitEthernet2/0/1] client-verify http enable

[Router-GigabitEthernet2/0/1] quit

4. 验证配置

以上配置完成之后,若有针对服务器的HTTP flood攻击发生时,可以通过display client-verify http protected ip命令查看受攻击的服务器的IP地址被添加为动态受保护IP。

[Router] display client-verify http protected ip

IP address           VPN instance     Port  Type    Requested   Trusted

192.168.1.10         --               8080  Dynamic 20          12

1.22.9  接口上的SIP客户端验证配置举例

1. 组网需求

在Router上配置SIP客户端验证功能,保护内网服务器不会受到外网非法用户的SIP flood攻击。

2. 组网图

图1-18 接口上SIP客户端验证配置组网图

3. 配置步骤

# 配置各接口的IP地址(略)。

# 创建攻击防范策略a1。

<Router> system-view

[Router] attack-defense policy a1

# 对所有非受保护IP地址开启SIP flood攻击防范检测。

[Router-attack-defense-policy-a1] sip-flood detect non-specific

# 配置SIP flood攻击防范的全局触发阈值为10000。

[Router-attack-defense-policy-a1] sip-flood threshold 10000

# 配置SIP flood攻击防范的全局处理行为添加到SIP客户端验证的受保护IP列表中以及输出告警日志。

[Router-attack-defense-policy-a1] sip-flood action logging client-verify

[Router-attack-defense-policy-a1] quit

# 在接口GigabitEthernet2/0/1上应用攻击防范策略a1。

[Router] interface gigabitethernet 2/0/1

[Router-GigabitEthernet2/0/1] attack-defense apply policy a1

# 在接口GigabitEthernet2/0/1上开启SIP客户端验证功能。

[Router-GigabitEthernet2/0/1] client-verify sip enable

[Router-GigabitEthernet2/0/1] quit

4. 验证配置

以上配置完成之后,若有针对服务器的SIP flood攻击发生时,可以通过display client-verify sip protected ip命令查看受攻击的服务器的IP地址被添加为动态受保护IP。

[Router] display client-verify sip protected ip

IP address           VPN instance     Port  Type    Requested   Trusted

192.168.1.10         --               5060  Dynamic 20          12

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们