22-攻击检测与防范配置
本章节下载: 22-攻击检测与防范配置 (548.48 KB)
目 录
1.5.1 TCP客户端验证功能(TCP Client verify)
1.5.2 DNS客户端验证(DNS Client verify)
1.5.3 HTTP客户端验证(HTTP Client verify)
ICG2000D/3000S/3000F/3000F-DP/5000G/5000T路由器使用集中式命令行,ICG 6000路由器使用分布式命令行。
攻击检测及防范是一个重要的网络安全特性,它通过分析经过设备的报文的内容和行为,判断报文是否具有攻击特征,并根据配置对具有攻击特征的报文执行一定的防范措施,例如输出告警日志、丢弃报文、加入黑名单或客户端验证列表。
本特性能够检测单包攻击、扫描攻击和泛洪攻击等多种类型的网络攻击,并能对各类型攻击采取合理的防范措施。
单包攻击也称为畸形报文攻击,主要包括以下三种类型:
· 攻击者通过向目标系统发送带有攻击目的的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报文中的异常选项的设置,达到探测网络结构的目的,也可由于系统缺乏对错误报文的处理而造成系统崩溃。 |
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报文发送给目标主机,可能导致系统处理数据时越界访问非法内存,造成系统错误甚至系统崩溃。 |
扫描攻击是指,攻击者运用扫描工具对网络进行主机地址或端口的扫描,通过准确定位潜在目标的位置,探测目标系统的网络拓扑结构和开放的服务端口,为进一步侵入目标系统做准备。
· IP Sweep攻击
攻击者发送大量目的IP地址变化的探测报文,通过收到的回应报文来确定活跃的目标主机,以便针对这些主机进行下一步的攻击。
· Port scan攻击
攻击者获取了活动目标主机的IP地址后,向目标主机发送大量目的端口变化的探测报文,通过收到的回应报文来确定目标主机开放的服务端口,然后针对活动目标主机开放的服务端口选择合适的攻击方式或攻击工具进行进一步的攻击。
· 分布式Port scan攻击
攻击者控制多台主机,分别向特定目标主机发送探测报文,通过收集所有被控制的主机的回应报文,确定目标主机开启的服务端口,以便进一步实施攻击。
泛洪攻击是指攻击者在短时间内向目标系统发送大量的虚假请求,导致目标系统疲于应付无用信息,从而无法为合法用户提供正常服务,即发生拒绝服务。
设备支持对以下几种泛洪攻击进行有效防范:
· SYN flood攻击
根据TCP协议工作原理,服务器收到SYN报文后需要建立半连接并回应SYN ACK报文,然后等待客户端的ACK报文来建立正式连接。由于资源的限制,操作系统的TCP/IP协议栈只能允许有限个TCP连接。攻击者向服务器发送大量伪造源地址的SYN报文后,由于攻击报文是伪造的,服务器不会收到客户端的ACK报文,从而导致服务器上遗留了大量无效的半连接,耗尽其系统资源,使正常的用户无法访问,直到半连接超时。
· ACK flood攻击
ACK报文为只有ACK标志位置位的TCP报文,服务器收到ACK报文时,需要查找对应的连接。若攻击者发送大量这样的报文,服务器需要进行大量的查询工作,消耗正常处理的系统资源,影响正常的报文处理。
· SYN-ACK flood攻击
由于SYN ACK报文为SYN报文的后续报文,服务器收到SYN ACK报文时,需要查找对应的SYN报文。若攻击者发送大量这样的报文,服务器需要进行大量的查询工作,消耗正常处理的系统资源,影响正常的报文处理。
· FIN flood攻击
FIN报文用于关闭TCP连接。若攻击者向服务器发送大量的伪造的FIN报文,可能会使服务器关闭掉正常的连接。同时,服务器收到FIN报文时,需要查找对应的连接,大量的无效查询操作会消耗系统资源,影响正常的报文处理。
· RST flood攻击
RST报文为TCP连接的复位报文,用于在异常情况下关闭TCP连接。如果攻击者向服务器发送大量伪造的RST报文,可能会使服务器关闭正常的TCP连接。另外,服务器收到RST报文时,需要查找对应的连接,大量的无效查询操作会消耗系统资源,影响正常的报文处理。
· DNS flood攻击
DNS服务器收到任何DNS Query报文时都会试图进行域名解析并且回复该DNS报文。攻击者通过构造并向DNS服务器发送大量虚假DNS Query报文,占用DNS服务器的带宽或计算资源,使得正常的DNS Query得不到处理。
· HTTP flood攻击
HTTP服务器收到HTTP GET/POST命令时可能进行一系列复杂的操作,包括字符串搜索、数据库遍历、数据组装、格式化转换等等,这些操作会消耗大量系统资源,因此当HTTP请求的速率超过了服务器的处理能力时,服务器就无法正常提供服务。攻击者通过构造并发送大量虚假HTTP GET/POST请求,使服务器崩溃,无法响应正常的用户请求。
· ICMP flood攻击
ICMP flood攻击是指,攻击者在短时间内向特定目标发送大量的ICMP请求报文(例如ping报文),使其忙于回复这些请求,致使目标系统负担过重而不能处理正常的业务。
· ICMPv6 flood攻击
ICMPv6 flood攻击是指,攻击者在短时间内向特定目标发送大量的ICMPv6请求报文(例如ping报文),使其忙于回复这些请求,致使目标系统负担过重而不能处理正常的业务。
· UDP flood攻击
UDP flood攻击是指,攻击者在短时间内向特定目标发送大量的UDP报文,占用目标主机的带宽,致使目标主机不能处理正常的业务。
字典序攻击是指攻击者通过收集用户密码可能包含的字符,使用各种密码组合逐一尝试登录设备,以达到猜测合法用户密码的目的。
为防范这类攻击,可以在设备上配置Login用户延时认证功能,在用户认证失败之后,延时期间不接受此用户的登录请求。
IP黑名单功能是根据报文的源IP地址进行报文过滤的一种攻击防范特性。同基于ACL(Access Control List,访问控制列表)的包过滤功能相比,黑名单进行报文匹配的方式更为简单,可以实现报文的高速过滤和有效屏蔽。
IP黑名单可以由设备动态或由用户手工进行添加、删除,具体机制如下:
· 动态添加黑名单是与扫描攻击防范功能配合实现的,动态生成的黑名单表项会在一定的时间之后老化。当设备根据报文的行为特征检测到某特定IP地址的扫描攻击企图之后,便将攻击者的IP地址自动加入黑名单,之后该IP地址发送的报文会被设备过滤掉。
· 手动配置的黑名单表项分为永久黑名单表项和非永久黑名单表项。永久黑名单表项建立后,一直存在,除非用户手工删除该表项。非永久黑名单表项的老化时间由用户指定,超出老化时间后,设备会自动将该黑名单表项删除。
地址对象组黑名单功能是基于地址对象组进行报文过滤的一种攻击防范特性。该特性需要和地址对象组功能配合使用,由后者为其提供地址对象组和IP地址的对应关系。有关地址对象组功能的详细介绍,请参见“安全配置指导”中的“对象组”。同IP黑名单的包过滤功能相比,地址组黑名单可以对网段进行访问控制,提高了易用性。
地址对象组黑名单目前仅支持由管理员手工进行配置、删除。
地址对象组白名单功能需要和地址对象组功能配合使用,由后者为其提供地址对象组和IP地址的对应关系。有关地址组功能的详细介绍,请参见“安全配置指导”中的“对象组”。
配置地址对象组白名单功能后,无论来自该地址对象组的报文是否存在攻击,设备都将其直接转发。
地址对象组白名单目前仅支持由管理员手工进行配置、删除。
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,此时两种验证模式都可以使用。
TCP Client verify处理流程:
· 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连接的建立时间会有相应增加。
· 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必须部署在所保护的服务器入口和出口的关键路径上,且要保证所有客户端向服务器发送的报文以及服务器向客户端回应的报文都需要经过该设备。
DNS客户端验证功能用来防御服务器受到的DNS flood攻击。启用了DNS客户端验证功能的设备位于客户端和服务器之间,能够对客户端与服务器之间的DNS连接进行代理。当设备检测到有服务器受到DNS flood攻击时,即将该服务器IP地址添加为动态受保护的IP地址,并对所有向该受保护服务器发起的DNS Query进行处理,通过对客户端发起的DNS连接进行验证,达到保护服务器免受DNS flood攻击的目的。
DNS Client verify的处理流程如图1-5所示。
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请求的响应时间会有相应增加。
HTTP客户端验证功能用来防御服务器受到HTTP flood攻击。启用了HTTP客户端验证功能的设备位于客户端和服务器之间,能够对客户端与服务器之间的HTTP GET/POST请求进行代理。当设备检测到有服务器受到HTTP flood攻击时,即将该服务器IP地址添加为动态受保护的IP地址,并对所有向该受保护服务器发起的HTTP GET/POST请求报文进行处理,通过对客户端发起的HTTP GET/POST请求进行验证,达到保护服务器免受HTTP flood攻击的目的。
图1-6 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请求报文将被直接进行透传。
图1-7 HTTP Client POST verify处理流程
HTTP客户端验证设备收到某客户端发送的TCP连接请求报文(目的地址匹配受保护IP表项)后,首先以TCP Proxy的Syn Cookie方式进行验证(详见“1.5.1 TCP客户端验证功能(TCP Client verify)”)。客户端的TCP连接通过验证之后,设备将对客户端发送的HTTP POST请求报文依次进行重定向验证和超时验证,具体流程如下所述。
(1) 重定向验证:设备收到客户端的HTTP POST请求之后向其发送带有Set-Cookie验证字段的HTTP Redirect报文,并在重定向报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会记录该客户端的信息。当前的TCP连接结束之后,客户端与设备进行一轮新的TCP三次握手。
(2) 超时验证:设备收到客户端发起的带有Cookie字段的HTTP POST请求之后,向其发送HTTP 超时报文,并在报文中设置标记位要求客户端结束本次TCP连接。该过程中,设备会检查客户端是否经过了第一次重定向,以及本次HTTP报文中是否带有有效的Cookie值。如果检查通过,设备会将该客户端加入到信任IP表项中,该客户端的后续HTTP POST请求报文将被直接进行透传。
配置任务 |
说明 |
详细配置 |
||
创建攻击防范策略 |
必选 |
|||
配置攻击防范策略 |
配置单包攻击防范策略 |
必选 各类型的攻击防范功能之间没有先后顺序,可根据实际组网需求,配置其中的一种或多种 |
||
配置扫描攻击防范策略 |
||||
配置泛洪攻击防范策略 |
||||
配置攻击防范例外列表 |
可选 |
|||
在接口上应用攻击防范策略 |
二者至少选其一 |
|||
在本机应用攻击防范策略 |
||||
配置单包攻击防范日志的非聚合输出功能 |
可选 |
|||
配置攻击排名的Top统计功能 |
可选 |
|||
配置客户端验证 |
配置TCP Client verify |
可选 可单独使用,也可与SYN flood、SYN-ACK flood、RST flood、FIN flood、ACK flood攻击防范策略配合使用 |
||
配置DNS Client verify |
可选 可单独使用,也可与DNS flood攻击防范策略配合使用 |
|||
配置HTTP Client verify |
可选 可单独使用,也可与HTTP flood攻击防范策略配合使用 |
|||
配置黑名单 |
配置IP黑名单 |
可选 可单独使用,也可与扫描攻击防范策略配合使用 |
||
配置地址对象组黑名单 |
可选 可单独使用 |
|||
配置地址对象组白名单 |
可选 通常单独使用 |
|||
配置Login用户延时认证功能 |
可选 通常单独使用 |
|||
在配置攻击防范之前,必须首先创建一个攻击防范策略,并进入该攻击防范策略视图。在该视图下,可以定义一个或多个用于检测攻击的特征项,以及对检测到的攻击报文所采取的防范措施。
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个攻击防范策略,并进入攻击防范策略视图 |
attack-defense policy policy-number |
缺省情况下,不存在任何攻击防范策略 |
在一个攻击防范策略中,可以根据实际的网络安全需求来配置策略中的具体内容,主要包括针对攻击类型指定检测条件及采取的防范措施。
不同类型的攻击防范策略在配置内容上有所不同,下面将按照攻击类型(单包攻击、扫描攻击、泛洪攻击)分别进行介绍。
单包攻击防范主要通过分析经过设备的报文特征来判断报文是否具有攻击性,一般应用在设备连接外部网络的接口上,且仅对应用了攻击防范策略的接口上的入方向报文有效。若设备检测到某报文具有攻击性,则默认会输出告警日志,另外还可以根据配置将检测到的攻击报文做丢弃处理。
表1-4 配置单包攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-name |
- |
开启指定类型单包攻击报文的特征检测,并设置攻击防范的处理行为 |
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 [ logging ] drop 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 } ] 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 } ] 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 } ] signature detect ipv6-ext-header ext-header-value [ action { { drop | logging } * | none } ] |
至少选其一 缺省情况下,所有类型的单包攻击的特征检测均处于关闭状态 |
(可选)配置启动Large ICMP攻击防范的ICMP报文长度的最大值 |
signature { large-icmp | large-icmpv6 } max-length length |
缺省情况下,ICMP报文和ICMPv6报文长度的最大值均为4000字节 |
(可选)配置对不同级别的单包攻击报文的处理方式 |
signature level { high | info | low | medium } action { { drop | logging } * | none } |
缺省情况下,对info和low级别的单包攻击的处理行为是发送日志;对medium和high级别的单包攻击的处理行为是发送日志并丢包 |
(可选)开启指定级别单包攻击报文的特征检测 |
signature level { high | info | low | medium } detect |
缺省情况下,未开启任何级别的单包攻击报文的特征检测 |
扫描攻击防范主要通过监测网络使用者向目标系统发起连接的速率来检测其探测行为,一般应用在设备连接外部网络的接口上,且仅对应用了攻击防范策略的接口上的入方向报文有效。若设备监测到某IP地址主动发起的连接速率达到或超过了一定阈值,则可以根据配置输出告警日志、丢弃来自该IP地址的后续报文,或者将检测到的攻击者的源IP地址加入IP黑名单。
若指定的扫描攻击的处理行为为加入IP黑名单,则需要开启全局或接口上的黑名单过滤功能来配合。
表1-5 配置扫描攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
开启指定级别的扫描攻击防范 |
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 } * |
缺省情况下,扫描攻击防范处于关闭状态 |
泛洪攻击防范主要用于保护服务器,通过监测向服务器发起连接请求的速率来检测各类泛洪攻击,一般应用在设备连接外部网络的接口上,且仅对应用了攻击防范策略的接口上的入方向报文有效。在接口上应用了泛洪攻击防范策略后,接口处于攻击检测状态,当它监测到向某服务器发送报文的速率持续达到或超过了指定的触发阈值时,即认为该服务器受到了攻击,则进入攻击防范状态,并根据配置启动相应的防范措施(输出告警日志、对后续新建连接的报文进行丢弃处理或者进行客户端验证)。此后,当设备检测到向该服务器发送报文的速率低于恢复阈值(触发阈值的3/4)时,即认为攻击结束,则由攻击防范状态恢复为攻击检测状态,并停止执行防范措施。
在泛洪攻击防范策略中,阈值是触发系统执行防范动作的条件,因此,阈值的设置是否合理将直接影响攻击防范的效果。
· 如果防范阈值设置过低则在没有发生攻击时,系统就启动攻击防范功能,影响设备性能或者造成正常流量被丢弃。
· 如果防范阈值设置过高则即使发生了攻击,系统也无法感知,不能及时启动防范功能。
因此在配置攻击防范前,应该先了解正常网络中的流量,然后根据正常网络中的流量来设置各攻击类型对应的阈值。在不了解网络正常流量大小时,可以启用流量阈值学习功能并根据学习结果进行阈值配置。流量阈值学习功能的原理是:系统对正常网络环境下的各种流量按时间进行统计,得出此段时间内各种流量的最高值,从而以此为依据计算出各种攻击类型对应的防范门限值。
阈值学习有单次学习和周期学习两种学习模式:
· 单次学习:只进行一次阈值学习。
· 周期学习:按周期学习间隔进行多次阈值学习。其中,周期学习间隔是指从上次学习的结束时间到下次学习开始时间的间隔时间。
开启阈值学习功能后,会对所有类型的泛洪攻击进行阈值学习。在周期学习模式下,最新一次的学习结果会覆盖上一次学习结果。对于学习到的阈值,系统还支持自动应用功能。您可以启用自动应用功能,也可以选择只学习不启用自动应用功能。
需要注意的是,当设备上安装了多块业务板时,每种泛洪攻击防范策略中配置的全局触发阈值为每块业务板上的全局触发阈值,因而整机的该类泛洪攻击的全局触发阈值即为每块业务板上的全局触发阈值与业务板数目的乘积。
为保护指定IP地址,攻击防范策略中支持基于IP地址的攻击防范配置。对于所有非受保护IP地址,可以统一开启攻击防范检测,并采用全局的参数设置来进行保护。
(1) 配置SYN flood攻击防范策略
表1-6 配置SYN flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IP地址开启SYN flood攻击防范检测 |
syn-flood detect non-specific |
缺省情况下,未对任何非受保护IP地址开启SYN flood攻击防范检测 |
配置SYN flood攻击防范的全局触发阈值 |
syn-flood threshold threshold-value |
缺省情况下,SYN flood攻击防范的全局触发阈值为1000 |
配置SYN flood攻击防范的全局处理行为 |
syn-flood action { client-verify | drop | logging } * |
缺省情况下,不对检测到的SYN flood攻击采取任何措施 |
开启对指定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攻击防范检测 |
(2) 配置ACK flood攻击防范策略
表1-7 配置ACK flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IP地址开启ACK flood攻击防范检测 |
ack-flood detect non-specific |
缺省情况下,未对任何非受保护IP地址开启ACK flood攻击防范检测 |
配置ACK flood攻击防范全局触发阈值 |
ack-flood threshold threshold-value |
缺省情况下,ACK flood攻击防范的全局触发阈值为1000 |
配置ACK flood攻击防范的全局处理行为 |
ack-flood action { client-verify | drop | logging } * |
缺省情况下,不对检测到的ACK flood攻击采取任何措施 |
开启对指定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攻击防范检测 |
(3) 配置SYN-ACK flood攻击防范策略
表1-8 配置SYN-ACK flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IP地址开启SYN-ACK flood攻击防范检测 |
syn-ack-flood detect non-specific |
缺省情况下,未对任何非受保护IP地址开启SYN-ACK flood攻击防范检测 |
配置SYN-ACK flood攻击防范的全局触发阈值 |
syn-ack-flood threshold threshold-value |
缺省情况下,SYN-ACK flood攻击防范的全局触发阈值为1000 |
配置SYN-ACK flood攻击防范的全局处理行为 |
syn-ack-flood action { client-verify | drop | logging } * |
缺省情况下,不对检测到的SYN-ACK flood攻击采取任何措施 |
开启对指定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攻击防范检测 |
(4) 配置FIN flood攻击防范策略
表1-9 配置FIN flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IP地址开启FIN flood攻击防范检测 |
fin-flood detect non-specific |
缺省情况下,未对任何非受保护IP地址开启FIN flood攻击防范检测 |
配置FIN flood攻击防范的全局触发阈值 |
fin-flood threshold threshold-value |
缺省情况下,FIN flood攻击防范的全局触发阈值为1000 |
配置FIN flood攻击防范的全局处理行为 |
fin-flood action { client-verify | drop | logging } * |
缺省情况下,不对检测到的FIN flood攻击采取任何措施 |
开启对指定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攻击防范检测 |
(5) 配置RST flood攻击防范策略
表1-10 配置RST flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IP地址开启RST flood攻击防范检测 |
rst-flood detect non-specific |
缺省情况下,未对任何非受保护IP地址开启RST flood攻击防范检测 |
配置RST flood攻击防范的全局触发阈值 |
rst-flood threshold threshold-value |
缺省情况下,RST flood攻击防范的全局触发阈值为1000 |
配置全局的RST flood攻击防范的全局处理行为 |
rst-flood action { client-verify | drop | logging } * |
缺省情况下,不对检测到的RST flood攻击采取任何措施 |
开启对指定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攻击防范检测 |
(6) 配置ICMP flood攻击防范策略
表1-11 配置ICMP flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IPv4地址开启ICMP flood攻击防范检测 |
icmp-flood detect non-specific |
缺省情况下,未对任何非受保护IPv4地址开启ICMP flood攻击防范检测 |
配置ICMP flood攻击防范的全局触发阈值 |
icmp-flood threshold threshold-value |
缺省情况下,ICMP flood攻击防范的全局触发阈值为1000 |
配置ICMP flood攻击防范的全局处理动作 |
icmp-flood action { drop | logging } * |
缺省情况下,不对检测到的ICMP flood攻击采取任何措施 |
开启对指定IPv4地址的ICMP flood攻击防范检测,并配置触发阈值和处理行为 |
icmp-flood detect ip ip-address [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ] |
缺省情况下,未对任何指定IPv4地址配置ICMP flood 攻击防范触发阈值 |
(7) 配置ICMPv6 flood攻击防范策略
表1-12 配置ICMPv6 flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IPv6地址开启ICMPv6 flood攻击防范检测 |
icmpv6-flood detect non-specific |
缺省情况下,未对任何非受保护IPv6地址开启ICMPv6 flood攻击防范检测 |
配置ICMPv6 flood攻击防范的全局触发阈值 |
icmpv6-flood threshold threshold-value |
缺省情况下,ICMPv6 flood攻击防范的全局触发阈值为1000 |
配置ICMPv6 flood攻击防范的全局处理行为 |
icmpv6-flood action { drop | logging } * |
缺省情况下,不对检测到的ICMPv6 flood攻击采取任何防范措施 |
开启对指定IPv6地址的ICMPv6 flood攻击防范检测,并配置触发阈值和处理行为 |
icmpv6-flood detect ipv6 ipv6-address [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ] |
缺省情况下,未对任何指定IPv6地址配置ICMPv6 flood攻击防范检测 |
(8) 配置UDP flood攻击防范策略
表1-13 配置UDP flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IP地址开启UDP flood攻击防范检测 |
udp-flood detect non-specific |
缺省情况下,未对任何非受保护IP地址开启UDP flood攻击防范检测 |
配置UDP flood攻击防范的全局触发阈值 |
udp-flood threshold threshold-value |
缺省情况下,UDP flood攻击防范的全局触发阈值为1000 |
配置UDP flood攻击防范检测的全局处理行为 |
udp-flood action { drop | logging } * |
缺省情况下,不对检测到的UDP flood攻击进行任何处理 |
开启对指定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攻击防范检测 |
(9) 配置DNS flood攻击防范策略
表1-14 配置DNS flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IP地址开启DNS flood攻击防范检测 |
dns-flood detect non-specific |
缺省情况下,未对任何非受保护IP地址开启DNS flood攻击防范检测 |
配置DNS flood攻击防范的全局触发阈值 |
dns-flood threshold threshold-value |
缺省情况下,DNS flood攻击防范的全局触发阈值为1000 |
(可选)配置DNS flood攻击防范的全局检测端口号 |
dns-flood port port-list |
缺省情况下,DNS flood攻击防范的全局检测端口号为53 |
配置对DNS flood攻击防范的全局处理行为 |
dns-flood action { client-verify | drop | logging } * |
缺省情况下,不对检测到的DNS flood攻击采取任何措施 |
开启对指定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攻击防范检测 |
(10) 配置HTTP flood攻击防范策略
表1-15 配置HTTP flood攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
对所有非受保护IP地址开启HTTP flood攻击防范检测 |
http-flood detect non-specific |
缺省情况下,未对任何非受保护IP地址开启HTTP flood攻击防范检测 |
配置HTTP flood攻击防范的全局触发阈值 |
http-flood threshold threshold-value |
缺省情况下,HTTP flood攻击防范的全局触发阈值为1000 |
(可选)配置HTTP flood攻击防范的全局检测端口号 |
http-flood port port-list |
缺省情况下,HTTP flood攻击防范的全局检测端口号为80 |
配置对HTTP flood攻击防范的全局处理行为 |
http-flood action { client-verify | drop | logging } * |
缺省情况下,不对检测到的HTTP flood攻击采取任何措施 |
开启对指定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攻击防范检测 |
(11) 配置阈值学习功能
表1-16 配置阈值学习功能
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
|
开启泛洪攻击阈值学习功能 |
threshold-learn enable |
缺省情况下,未开启阈值学习功能 |
|
(可选)配置阈值学习模式 |
单次学习模式 |
threshold-learn mode once |
二者选其一 缺省情况下,阈值学习模式为单次学习 |
周期学习模式 |
threshold-learn mode periodic |
||
(可选)配置学习时长 |
threshold-learn duration duration |
缺省情况下,阈值学习时长为1440分钟 |
|
(可选)配置学习间隔 |
threshold-learn interval interval |
缺省情况下,阈值学习间隔为1440分钟 单次学习模式请跳过本步骤 |
|
(可选)配置学习容忍度 |
threshold-learn tolerance-value tolerance-value |
缺省情况下,阈值学习容忍度为50% 未开启自动应用功能时请跳过本步骤 |
|
(可选)开启阈值学习结果自动应用功能 |
threshold-learn auto-apply enable |
缺省情况下,阈值学习结果自动应用功能处于关闭状态 |
|
应用最近一次的阈值学习结果 |
threshold-learn apply |
在阈值学习结果自动应用功能开启时,此命令不生效 |
攻击防范例外列表用于过滤不需要进行攻击防范检测的主机报文,与指定的ACL permit规则匹配的报文将不会受到任何类型的攻击防范检测。该配置用于过滤某些被信任的安全主机发送的报文,可以有效的减小误报率,并提高服务器处理效率。例如:攻击防范功能可能将源IP地址相同,目的地址不同的组播报文(如OSPF、PIM等协议报文)检测为扫描攻击,此时可以通过配置例外列表放行组播报文来消除误报。
需要注意的是,例外列表引用的ACL的permit规则中仅源地址、目的地址、源端口、目的端口、协议号、L3VPN和非首片分片标记参数用于匹配报文。
表1-17 配置攻击防范例外列表
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入攻击防范策略视图 |
attack-defense policy policy-number |
- |
配置攻击防范例外列表 |
exempt acl [ ipv6 ] { acl-number | name acl-name } |
缺省情况下,未配置攻击防范例外列表 |
通过在接口上应用攻击防范策略,使已配置的攻击防范策略在具体的接口上生效。
当在全局接口上应用攻击防范策略时,为保证扫描攻击防范策略与泛洪攻击防范策略能够正确检测并防御攻击,需要指定处理当前接口流量的业务处理板。
表1-18 配置在接口上应用攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置在接口上应用攻击防范策略 |
attack-defense apply policy policy-name |
缺省情况下,接口上未应用任何攻击防范策略 |
(可选)指定处理当前接口流量的业务处理板(分布式设备-独立运行模式)(集中式设备-IRF模式) |
service [ standby ] slot slot-number |
缺省情况下,未指定处理当前接口流量的业务处理板,流量处理在接收报文的业务处理板上进行 |
(可选)指定处理当前接口流量的业务处理板(分布式设备-IRF模式) |
service [ standby ] chassis chassis-number slot slot-number |
缺省情况下,未指定处理当前接口流量的业务处理板,流量处理在接收报文的业务处理板上进行 |
通过在本机应用攻击防范策略,使已配置的攻击防范策略对目的地址为本机的报文生效。
此功能主要用于交换机产品,默认情况下交换机产品对转发的报文下发给硬件转发,只有目的地址是本机的报文才会由软件处理,但软件处理没有攻击防范功能。因此在交换机产品上,为处理针对本机的攻击,需要通过在本机上应用攻击防范策略来实现。
对于非交换机产品,可以通过在本机上应用攻击防范策略提高对目的地址为本机的攻击报文的处理效率。
当接口和本机均应用了攻击防范策略时,先进行接口上攻击防范策略的检测,若报文未被丢弃,则还会进行本机上攻击防范策略的检测。
表1-19 配置在本机应用攻击防范策略
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置在本机应用攻击防范策略 |
attack-defense local apply policy policy-name |
缺省情况下,本机未应用任何攻击防范策略 |
对日志进行聚合输出是指,在一定时间内,对在同一个接口上检测到的相同攻击类型、相同攻击防范动作、相同的源/目的地址以及属于相同VPN的单包攻击的所有日志聚合成一条日志输出。
通常不建议开启单包攻击防范的日志非聚合输出功能,因为在单包攻击较为频繁的情况下,它会导致大量日志信息输出,占用控制台的显示资源。
表1-20 配置单包攻击防范日志的非聚合输出功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启对单包攻击防范日志的非聚合输出功能 |
attack-defense signature log non-aggregate |
缺省情况下,单包攻击防范的日志信息经系统聚合后再输出 |
开启了攻击排名的Top统计功能后,设备将基于攻击者、被攻击者和攻击类型对丢包数量进行统计。用户可以通过display attack-defense top-attack-statistics命令查看攻击排名的Top统计信息,以便采取有效的攻击防范措施。
图1-8 配置攻击排名的Top统计功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启攻击排名的Top统计功能 |
attack-defense top-attack-statistics enable |
缺省情况下,攻击排名的Top统计功能处于关闭状态 |
通过在设备连接外部网络的接口上开启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报文。
表1-21 配置TCP客户端验证
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
(可选)配置TCP客户端验证的受保护IP地址 |
client-verify tcp protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ] |
缺省情况下,不存在任何受保护IP地址,即TCP客户端验证功能未保护任何IP地址 |
|
进入接口视图 |
interface interface-type interface-number |
- |
|
开启TCP客户端验证功能 |
单向代理模式 |
client-verify tcp enable mode safe-reset |
二者选其一 缺省情况下,TCP客户端验证功能处于关闭状态 |
双向代理模式 |
client-verify tcp enable [ mode syn-cookie ] |
通过在设备连接外部网络的接口上开启DNS客户端验证功能,可以保护内部网络中的应用服务器免受DNS flood攻击。DNS客户端验证功能有两种工作方式:
· 手工添加受保护IP地址:当设备检测到来自某客户端的首个目的地址为配置的受保护IP地址的DNS Query报文时,对该客户端发送的DNS报文进行合法性检查。
· 自动添加受保护IP地址:当设备检测到某服务器受到了DNS flood攻击时,会根据配置启动相应的防范措施。若防范措施配置为对攻击报文进行DNS客户端验证,则设备会将该服务器IP地址添加到受保护IP表项中,并对后续的DNS Query请求报文进行合法性检查。
通过合法性检查的DNS客户端的IP地址将被加入信任IP地址列表中,之后设备将放行来自该IP地址的DNS报文。
表1-22 配置DNS客户端验证
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置DNS客户端验证的受保护IP地址 |
client-verify dns protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ] |
缺省情况下,不存在任何受保护IP地址,即DNS客户端验证功能未保护任何IP地址 |
进入接口视图 |
interface interface-type interface-number |
- |
开启DNS 客户端验证功能 |
client-verify dns enable |
缺省情况下,DNS客户端验证功能处于关闭状态 |
通过在设备连接外部网络的接口上开启HTTP客户端验证功能,可以保护内部网络中的应用服务器免受HTTP flood攻击。HTTP客户端验证功能有两种工作方式:
· 手工添加受保护IP地址:当设备检测到来自某客户端的首个目的地址为配置的受保护IP地址的HTTP GET/POST报文时,对该客户端发送的HTTP报文进行合法性检查。
· 自动添加受保护IP地址:当设备监测到某服务器受到了HTTP flood攻击时,会根据配置启动相应的防范措施。若防范措施配置为对攻击报文进行HTTP客户端验证,则设备会将该服务器IP地址添加到受保护IP表项中,并对后续的HTTP GET/POST请求报文进行合法性检查。
通过合法性检查的HTTP客户端的IP地址将被加入信任IP地址列表中,之后设备将放行来自该IP地址的HTTP报文。
表1-23 配置HTTP客户端验证
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置HTTP客户端验证的受保护IP地址 |
client-verify http protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ] |
缺省情况下,不存在任何受保护IP地址,即HTTP客户端验证功能未保护任何IP地址 |
进入接口视图 |
interface interface-type interface-number |
- |
开启HTTP客户端验证功能 |
client-verify http enable |
缺省情况下,HTTP客户端验证功能处于关闭状态 |
通过配置IP黑名单功能可以对来自指定IP地址的报文进行过滤。
IP黑名单的配置包括开启黑名单过滤功能和添加IP黑名单表项。若全局的黑名单过滤功能处于开启状态,则所有接口上的IP黑名单过滤功能均处于开启状态。若全局的黑名单过滤功能处于关闭状态,则需要开启指定接口上的黑名单过滤功能。添加IP黑名单表项的同时可以选择配置IP黑名单表项的老化时间,若不配置,那么该IP黑名单表项永不老化,除非用户手动将其删除。
IP黑名单表项除了可以手工添加之外,还可以通过扫描攻击防范自动添加。具体来讲就是,在黑名单功能使能的前提下,若配置了扫描攻击防范策略及相应的IP黑名单添加功能,则可以将检测到的扫描攻击方IP地址添加到IP黑名单中。扫描攻击防范添加的IP黑名单必定会老化,老化时间可配。关于扫描攻击防范的相关配置请参见“1.7.2 2. 配置扫描攻击防范策略”。
表1-24 配置IP黑名单
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
(可选)开启全局黑名单过滤功能 |
blacklist global enable |
缺省情况下,全局黑名单功能处于关闭状态 |
(可选)添加IPv4黑名单表项 |
blacklist ip source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] [ timeout minutes ] |
缺省情况下,不存在IPv4黑名单表项 |
(可选)添加IPv6黑名单表项 |
blacklist ipv6 source-ipv6-address [ vpn-instance vpn-instance-name ] [ timeout minutes ] |
缺省情况下,不存在IPv6黑名单表项 |
(可选)使能黑名单日志功能 |
blacklist logging enable |
缺省情况下,黑名单日志功能处于关闭状态 |
进入接口视图 |
interface interface-type interface-number |
- |
开启接口的黑名单过滤功能 |
blacklist enable |
缺省情况下,接口上的黑名单功能处于关闭状态 |
通过配置地址对象组黑名单功能可以对指定地址网段的报文进行过滤。
地址对象组黑名单的配置包括开启全局黑名单过滤功能和引用地址对象组。
地址对象组黑名单功能需要配合地址对象组功能使用,有关地址对象组功能的详细介绍,请参见“安全配置指导”中的“对象组”。
表1-25 配置地址组黑名单
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
(可选)开启全局黑名单过滤功能 |
blacklist global enable |
缺省情况下,全局黑名单功能处于关闭状态 |
通过引用地址对象组配置黑名单 |
blacklist object-group object-group-name |
缺省情况下,未引用地址对象组 |
进入接口视图 |
interface interface-type interface-number |
- |
开启接口的黑名单过滤功能 |
blacklist enable |
缺省情况下,接口的黑名单功能处于关闭状态 |
通过配置地址对象组白名单功能可以放行指定地址网段的报文。
地址对象组白名单的配置包括开启全局白名单功能和引用地址对象组。
地址对象组白名单功能需要配合地址对象组功能使用,有关地址组功能的详细介绍,请参见“安全配置指导”中的“对象组”。
表1-26 配置地址对象组白名单
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
(可选)开启全局白名单过滤功能 |
whitelist global enable |
缺省情况下,全局白名单功能处于关闭状态 |
通过引用地址对象组配置白名单 |
whitelist object-group object-group-name |
缺省情况下,未引用地址对象组 |
进入接口视图 |
interface interface-type interface-number |
- |
开启接口的白名单过滤功能 |
whitelist enable |
缺省情况下,接口的白名单功能处于关闭状态 |
Login用户登录失败后,若设备上配置了重新进行认证的等待时长,则系统将会延迟一定的时长之后再允许用户进行认证,可以有效地避免设备受到Login用户字典序攻击。
表1-27 配置Login用户失败延时认证功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Login用户登录失败后重新进行认证的等待时长 |
attack-defense login reauthentication-delay seconds |
缺省情况下,Login用户登录失败后重新进行认证不需要等待 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后攻击检测及防范的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除攻击检测及防范的统计信息。
操作 |
命令 |
显示接口上的攻击防范统计信息(集中式设备-独立运行模式) |
display attack-defense statistics interface interface-type interface-number |
显示接口上的攻击防范统计信息(分布式设备-独立运行模式/集中式设备-IRF模式) |
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 |
显示本机攻击防范统计信息(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense statistics local [ slot slot-number ] |
显示本机攻击防范统计信息(分布式设备-IRF模式) |
display attack-defense statistics local [ chassis chassis-number slot slot-number ] |
显示攻击防范策略的配置信息 |
display attack-defense policy [ policy-name ] |
显示扫描攻击者的IPv4地址表项(集中式设备-独立运行模式) |
display attack-defense scan attacker ip [ interface interface-type interface-number | local ] [ count ] |
显示扫描攻击者的IPv4地址表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense scan attacker ip [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] ] [ count ] |
显示扫描攻击者的IPv4地址表项(分布式设备-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 ] [ count ] |
显示扫描攻击者的IPv6地址表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense scan attacker ipv6 [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ] |
显示扫描攻击者的IPv6地址表项(分布式设备-IRF模式) |
display attack-defense scan attacker ipv6 [ [ interface interface-type interface-number | local ] [ chassis chassis-number slot slot-number ] ] [ count ] |
显示扫描攻击被攻击者的IPv4地址表项(集中式设备-独立运行模式) |
display attack-defense scan victim ip [ interface interface-type interface-number | local ] [ count ] |
显示扫描攻击被攻击者的IPv4地址表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense scan victim ip [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ] |
显示扫描攻击被攻击者的IPv4地址表项(分布式设备-IRF模式) |
display attack-defense scan victim ip [ [ interface interface-type interface-number | local ] [ chassis chassis-number slot slot-number ] ] [ count ] |
显示扫描攻击被攻击者的IPv6地址表项(集中式设备-独立运行模式) |
display attack-defense scan victim ipv6 [ interface interface-type interface-number | local ] [ count ] |
显示扫描攻击被攻击者的IPv6地址表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense scan victim ipv6 [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ] |
显示扫描攻击被攻击者的IPv6地址表项(分布式设备-IRF模式) |
display attack-defense scan victim ipv6 [ [ interface interface-type interface-number | local ] [ chassis chassis-number slot slot-number ] ] [ count ] |
显示IPv4 flood攻击防范统计信息(集中式设备-独立运行模式) |
display attack-defense { ack-flood | dns-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } statistics ip [ ip-address [ vpn vpn-instance-name ] ] [ interface interface-type interface-number | local ] [ count ] |
显示IPv4 flood攻击防范统计信息(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense { ack-flood | dns-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } statistics ip [ ip-address [ vpn vpn-instance-name ] ] [ count ] [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ] |
显示IPv4 flood攻击防范统计信息(分布式设备-IRF模式) |
display attack-defense { ack-flood | dns-flood | fin-flood | flood | http-flood | icmp-flood | rst-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 | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } statistics ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ interface interface-type interface-number | local ] [ count ] |
显示IPv6 flood攻击防范统计信息(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense { ack-flood | dns-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } statistics ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ [ interface interface-type interface-number | local ] [ slot slot-number ] ] [ count ] |
显示IPv6 flood攻击防范统计信息(分布式设备-IRF模式) |
display attack-defense { ack-flood | dns-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } statistics ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ [ interface interface-type interface-number | local ] [ chassis chassis-number slot slot-number ] ] [ count ] |
显示flood攻击防范的IPv4类型的受保护IP表项(集中式设备-独立运行模式) |
display attack-defense policy policy-name { ack-flood | dns-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } ip [ ip-address [ vpn vpn-instance-name ] ] [ count ] |
显示flood攻击防范的IPv4类型的受保护IP表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense policy policy-name { ack-flood | dns-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } ip [ ip-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ] |
显示flood攻击防范的IPv4类型的受保护IP表项(分布式设备-IRF模式) |
display attack-defense policy policy-name { ack-flood | dns-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } ip [ ip-address [ vpn vpn-instance ] ] [ chassis chassis-number slot slot-number ] [ count ] |
显示flood攻击防范的IPv6类型的受保护IP表项(集中式设备-独立运行模式) |
display attack-defense policy policy-name { ack-flood | dns-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ count ] |
显示flood攻击防范的IPv6类型的受保护IP表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display attack-defense policy policy-name { ack-flood | dns-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ] |
显示flood攻击防范的IPv6类型的受保护IP表项(分布式设备-IRF模式) |
display attack-defense policy policy-name { ack-flood | dns-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ] |
显示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 ip [ source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] ] [ count ] |
显示IPv4黑名单表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display blacklist ip [ source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] ] [ slot slot-number ] [ count ] |
显示IPv4黑名单表项(分布式设备-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 ] ] [ count ] |
显示IPv6黑名单表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display blacklist ipv6 [ source-ipv6-address [ vpn-instance vpn-instance-name ] ] [ slot slot-number ] [ count ] |
显示IPv6黑名单表项(分布式设备-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 | http | tcp } protected ip [ ip-address [ vpn vpn-instance-name ] ] [ port port-number ] [ count ] |
显示客户端验证的IPv4类型的受保护IP表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display client-verify { dns | http | tcp } protected ip [ ip-address [ vpn vpn-instance-name ] ] [ port port-number ] [ slot slot-number ] [ count ] |
显示客户端验证的IPv4类型的受保护IP表项(分布式设备-IRF模式) |
display client-verify { dns | http | tcp } protected ip [ ipv6-address [ vpn vpn-instance-name ] ] [ port port-number ] [ chassis chassis-number slot slot-number ] [ count ] |
显示客户端验证的IPv6类型的受保护IP表项(集中式设备-独立运行模式) |
display client-verify { dns | http | tcp } protected ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ port port-number ] [ count ] |
显示客户端验证的IPv6类型的受保护IP表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display client-verify { dns | http | tcp } protected ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ port port-number ] [ slot slot-number ] [ count ] |
显示客户端验证的IPv6类型的受保护IP表项(分布式设备-IRF模式) |
display client-verify { dns | http | 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 | http | tcp } trusted ip [ ip-address [ vpn vpn-instance-name ] ] [ count ] |
显示客户端验证的IPv4类型的信任IP表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display client-verify { dns | http | tcp } trusted ip [ ip-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ] |
显示客户端验证的IPv4类型的信任IP表项(分布式设备-IRF模式) |
display client-verify { dns | http | tcp } trusted ip [ ip-address [ vpn vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ] |
显示客户端验证的IPv6类型的信任IP表项(集中式设备-独立运行模式) |
display client-verify { dns | http | tcp } trusted ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ count ] |
显示客户端验证的IPv6类型的信任IP表项(分布式设备-独立运行模式/集中式设备-IRF模式) |
display client-verify { dns | http | tcp } trusted ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ] |
显示客户端验证的IPv6类型的信任IP表项(分布式设备-IRF模式) |
display client-verify { dns | http | tcp } trusted ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ chassis chassis-number slot slot-number ] [ count ] |
显示白名单引用的地址对象组的报文统计信息(集中式设备-独立运行模式) |
display whitelist object-group [ object-group-name ] |
显示白名单引用的地址对象组的报文统计信息(分布式设备-独立运行模式/集中式设备-IRF模式) |
display whitelist object-group [ object-group-name ] [ slot slot-number ] |
显示白名单引用的地址对象组的报文统计信息(分布式设备-IRF模式) |
display whitelist object-group [ object-group-name ] [ chassis chassis-number slot slot-number ] |
清除接口上的攻击防范统计信息 |
reset attack-defense statistics interface interface-type interface-number |
清除本机攻击防范的统计信息 |
reset attack-defense statistics local |
清除flood攻击防范受保护IP表项的统计信息 |
reset attack-defense policy policy-name flood protected { ip | ipv6 } statistics |
清除Top10的攻击排名统计信息 |
reset attack-defense top-attack-statistics |
清除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 | http | tcp } protected { ip | ipv6 } statistics |
清除客户端验证的信任IP表项 |
reset client-verify { dns | http | tcp } trusted { ip | ipv6 } |
清除白名单引用的地址对象组的报文统计信息 |
reset whitelist statistics |
Router上的接口GigbitEthernet1/0/1与内部网络连接,接口GigbitEthernet1/0/2与外部网络连接,接口GigbitEthernet1/0/3与一台内部服务器连接。现有如下安全需求:
· 为防范外部网络对内部网络主机的Smurf攻击和扫描攻击,需要在接口GigabitEthernet1/0/2上开启Smurf攻击防范和扫描攻击防范。具体要求为:低防范级别的扫描攻击防范;将扫描攻击者添加到黑名单中(老化时间为10分钟);检测到Smurf攻击或扫描攻击后,输出告警日志。
· 为防范外部网络对内部服务器的SYN flood攻击,需要在接口GigabitEthernet1/0/2上开启SYN flood攻击防范。具体要求为:当设备监测到向内部服务器每秒发送的SYN报文数持续达到或超过5000时,输出告警日志并丢弃攻击报文。
# 配置各接口的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
[Router-attack-defense-policy-a1] quit
# 在接口GigabitEthernet1/0/2上应用攻击防范策略a1。
[Router] interface gigabitethernet 1/0/2
[Router-GigabitEthernet1/0/2] attack-defense apply policy a1
[Router-GigabitEthernet1/0/2] quit
完成以上配置后,可以通过display attack-defense policy命令查看配置的攻击防范策略a1具体内容。
# 查看攻击防范策略a1的配置信息。
[Router] display attack-defense policy a1
Attack-defense Policy Information
--------------------------------------------------------------------------
Policy name : a1
Applied list : GE1/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
Scan attack defense configuration:
Defense : Enabled
Level : low
Actions : L,BS(10)
Flood attack defense configuration:
Flood type Global thres(pps) Global actions Service ports Non-specific
SYN flood 1000 - - Disabled
ACK flood 1000 - - Disabled
SYN-ACK flood 1000 - - Disabled
RST flood 1000 - - Disabled
FIN flood 1000 - - Disabled
UDP flood 1000 - - Disabled
ICMP flood 1000 - - Disabled
ICMPv6 flood 1000 - - Disabled
DNS flood 1000 - 53 Disabled
HTTP flood 1000 - 80 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 -
如果接口GigabitEthernet1/0/2上收到Smurf攻击报文,设备输出告警日志;如果接口GigabitEthernet1/0/2上收到扫描攻击报文,设备会输出告警日志,并将攻击者的IP地址加入黑名单;如果接口GigabitEthernet1/0/2上收到的SYN flood攻击报文超过触发阈值,则设备会输出告警日志,并将受到攻击的主机地址添加到TCP客户端验证的受保护IP列表中,同时丢弃攻击报文。
之后,可以通过display attack-defense statistics interface命令查看各接口上攻击防范的统计信息。
# 查看接口GigabitEthernet1/0/2上攻击防范的统计信息。
[Router] display attack-defense statistics interface gigabitethernet 1/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
若有扫描攻击发生,还可以通过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
网络管理员通过流量分析发现外部网络中存在一个攻击者Host D,需要将来自Host D的报文在Router上永远过滤掉。另外,网络管理员为了暂时控制内部网络Host C的访问行为,需要将Router上收到的Host C的报文阻止50分钟。
图1-10 IP黑名单配置典型组网图
# 配置各接口的IP地址,略。
# 开启全局黑名单过滤功能。
<Router> system-view
[Router] blacklist global enable
# 将Host D的IP地址5.5.5.5添加到黑名单列表中,老化时间使用缺省情况(永不老化)。
[Router] blacklist ip 5.5.5.5
# 将Host C的IP地址192.168.1.4添加到黑名单列表中,老化时间为50分钟。
[Router] blacklist ip 192.168.1.4 timeout 50
完成以上配置后,可以通过display blacklist命令查看已添加的黑名单信息。
<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分钟之后,才进行正常转发。
网络管理员通过流量分析发现外部网络中存在来自网段5.5.5.0/24的一组攻击者,需要将这组攻击者的报文在Router上永远过滤掉。
图1-11 地址组黑名单配置典型组网图
# 配置各接口的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
完成以上配置后,Router对来自网段5.5.5.0/24的攻击者的报文一律进行丢弃处理,除非管理员认为网段5.5.5.0/24不再是攻击者,通过undo blacklist object-group将其从黑名单中删除。
网络管理员需要将外部网络中的一组网段地址为5.5.5.0/24的用户报文在Router上永远放行。
图1-12 地址组白名单配置典型组网图
# 配置各接口的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
完成以上配置后,Router对来自网段地址为5.5.5.0/24的用户报文一律进行放行处理,除非管理员认为这组用户不再为信任网段,通过undo whitelist object-group将其从白名单中删除。
在Router上配置TCP客户端验证功能,保护内网服务器不会受到外网非法用户的SYN flood攻击,并要求在客户端与服务器之间进行双向代理。
图1-13 接口上TCP客户端验证配置组网图
# 配置各接口的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
# 在接口GigabitEthernet1/0/1上应用攻击防范策略a1。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] attack-defense apply policy a1
[Router-GigabitEthernet1/0/1] quit
# 在接口GigabitEthernet1/0/1上开启TCP客户端验证的双向代理功能。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] client-verify tcp enable mode syn-cookie
[Router-GigabitEthernet1/0/1] quit
以上配置完成之后,若有针对服务器的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
在Router上配置DNS客户端验证功能,保护内网服务器不会受到外网非法用户的DNS flood攻击。
图1-14 DNS客户端验证配置组网图
# 配置各接口的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
# 在接口GigabitEthernet1/0/1上应用攻击防范策略a1。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] attack-defense apply policy a1
[Router-GigabitEthernet1/0/1] quit
# 在接口GigabitEthernet1/0/1 上开启DNS客户端验证功能。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] client-verify dns enable
[Router-GigabitEthernet1/0/1] quit
以上配置完成之后,若有针对服务器的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
在Router上配置HTTP客户端验证功能,保护内网服务器不会受到外网非法用户的HTTP flood攻击。
图1-15 接口上HTTP客户端验证配置组网图
# 配置各接口的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
# 在接口GigabitEthernet1/0/1上应用攻击防范策略a1。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] attack-defense apply policy a1
[Router-GigabitEthernet1/0/1] quit
# 在接口GigabitEthernet1/0/1上开启HTTP客户端验证功能。
[Router] interface gigabitethernet 1/0/1
[Router-GigabitEthernet1/0/1] client-verify http enable
[Router-GigabitEthernet1/0/1] quit
以上配置完成之后,若有针对服务器的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
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!