一、组网需求

使用支持防攻击的网关设备能够监控所有下联的办公区域的网络会话使用防攻击功能并阻断典型的网络攻击

下联到办公区域的网段为路由口

使用限速功能实现每IP或基于网段的限速和会话数限制

 

二、组网拓扑


 

三、配置要点


防攻击功能默认不开启

Cli开启防攻击功能需要同步开启流平台三条命令(见配置步骤)

NAT模式与非NAT模式切换后需要进行设备重启

NAT模式下不存在tcp-unauth命令需要防护tcp syn flood攻击可以通过全局域策略tcp xx命令进行防护

策略学习前需要清空防御策略


四、配置步骤

默认防攻击功能不开启。有需要的时候有选择的进行开启

开启方式:

Cli命令:

Ruijie(config)#net-defend enable

同时cli命令模式下需要开启流平台命令:

配置做流状态报文水线检:Ruijie(config)#ip session track-state-strictly

流状态检测:                            Ruijie(config)#ip session tcp-state-inspection-enable fw

去除宽松tcp状态变迁检查:Ruijie(config)#no ip session tcp-loose

 

Web页面:防火墙=》防攻击配置=》防攻击开关=》开启=》保存

NBR6200-E系列防火墙的防攻击存在两种防御模式:NAT模式与非NAT模式。默认为非NAT模式。NAT模式不支持TCP SYN Flood防御策略(非NAT模式不支持tcp-unauth命令。切换防攻击模式需要进行设备重启,否则不生效

NAT模式:Ruijie(config)#net-defend mode nat

NAT模式:Ruijie(config)#net-defend mode no-nat

   1、 全局防护

全局防攻击是针对所有防火墙流量实施防御,全局使用固定防攻击域:defend-zone global

主要防御TCP SYN Flood攻击,及限制防火墙的会话建立速率:

TCP syn Flood攻击:

1)Web界面操作:防火墙=》防攻击配置=》全局防护

2)Cli命令:

Ruijie(config)#defend-zone global

Ruijie(config-defend-global)#tcp syns-in global threshold 10 action anti-spoofing

Ruijie(config-defend-global)#session-limit tcp 1000


   2、协议类防护

协议类攻击通常指攻击者向攻击目标发送一些特定的,不符合RFC协议标准的异常报文,此类报文可能会导致网络设备或终端设备的协议棧在处理报文时出现异常,严重者或导致系统崩溃。因此,典型的协议类异常报文会直接被防火墙拦截,这部分功能不需要单独配置,默认打开且无法关闭。

已开启且不能关闭的防攻击类型:ACK Flood攻击,防FIN/RST Flood攻击,防Teardrop 攻击,防Smurf 攻击,防异常TCP Flag 攻击,防Ping of Death 攻击。

以下几种协议类攻击,影响较小,且并不多见,因此EG防火墙设备上支持独立进行配置,默认不打开,用户可以根据需要打开:

1)web配置:web的配置页面为主页中防火墙=》防攻击配置=》协议类策略

2)cli命令配置:

ICMP重定向攻击:Ruijie(config)# defend icmp-redirect

Winnuke攻击:Ruijie(config)# defend winnuke

带源路由选项IP报文禁止:Ruijie(config)# defend source-route

带路由记录选项IP报文禁止:Ruijie(config)# defend route-record

ICMP不可达攻击:Ruijie(config)# defend icmp-unreachable

Fraggle攻击:Ruijie(config)# defend fraggle

Land攻击:Ruijie(config)# defend land

上述攻击的原理和介绍参见《网络层防攻击配置手册》,因为协议类攻击而被防攻击模块丢弃的报文,防攻击模块都会进行统计,可以在web界面或cli界面上,查看统计信息。cli界面上查看统计信息的命令为:Ruijie(config)#show defend drop

   3、防攻击域防护

防攻击域防火主要是防护DDOS攻击范DDoS攻击的典型方法就是限制对目标服务器发起的连接数量,配置的原则:需要对指定的服务器或地址段进行防攻击保护或者是发现某些攻击采取策略进行保护。配置过程如下:

通过ACL,定义防护目标

对防护目标配置限制阈值(分syn flood udp flood icmp flood 3种攻击配置)

配置日志(支持npe的设备需要非npe模式+有硬盘才可以记录日志,不支持npe的设备只需要有硬盘才可以记录日志)

以服务器网段为101.1.1.0/24网段为例,对该服务器内每个IP收到syn报文的速率限制为1000个,UDP报文限制为10000个,icmp报文限制为100个,并打开对应的log,配置模板如下:

1)Web端配置:

①配置的页面为:防火墙=》防攻击配置=》域策略

②新建域=》添加域名=》添加网段=》下一步

③点击手动配置策略=》完成

④点击配置:

⑤选择TCP SYN FLOOD防护=域内主机接收未认证源的SYN报文速率检查=阈值为1000=》完成

类似的配置方法配置udp Floodicmp flood

配置日志(需要支持日志保存才可以记录,判断是否支持详见注意问题):

选择攻击日志=》配置

选择需要显示需要记录的日志,点击确定。

注:DDoS攻击防范中使用的参数,需要根据用户网络应用的实际情况进行调整,尤其是syn-floodudp-flood攻击的阈值,调整方式参见优化配置章节,icmp-flood阈值,可以直接使用100作为建议配置(正常应用下,一台服务器每秒钟收到的icmp报文,不会超过100个)

2)Cli命令:

Ruijie (config)#ip access-list standard server-a

Ruijie (config-std-nacl)#permit 101.1.1.0 0.0.0.255   

Ruijie (config-std-nacl)#exit

Ruijie (config)#defend-zone DDOS

Ruijie (config-defend-zone)# tcp-unauth syns-in dst-ip threshold 1000 action anti-spoofing

Ruijie (config-defend-zone)# udp unauth-src-in global threshold 10000 action limit

Ruijie (config-defend-zone)# icmp unauth-src-in global threshold 100 action rate-limit

Ruijie (config-defend-zone)# log all

   4、防扫描攻击防范

有两种情况,会发生扫描攻击:

1)攻击者在发起攻击前,通常会对目标网络/主机进行扫描,以获取网络的基础信息;

2)内网用户有设备中毒,在内网随机检测开放有漏洞端口的机器,尝试传播病毒。

这两种场景,可以通过配置扫描攻击防范来解决。

扫描攻击防范的配置流程如下:

通过ACL,定义要检测的可能产生扫描攻击的IP源(注意,扫描是对可疑的源进行)

对可疑源,配置扫描检测策略

配置日志记录

以办公室网络为101.1.1.0/24网段为例,对该办公室内的每个IP都进行扫描行为监控,配置监控敏感度为low等级,并打开对应的log,配置模板如下:

Cli命令:

Ruijie (config)#ip access-list standard test

Ruijie (config-std-nacl)#permit 101.1.1.0 0.0.0.255  

Ruijie (config-std-nacl)#exit

Ruijie(config-defend-zone)#ip access-group test

Ruijie(config-defend-zone)#scan in src-ip threshold low action notify

Ruijie(config-defend-zone)#scan out src-ip threshold low action notify

Ruijie(config-defend-zone)#log scan

   5、策略自学习

在配置防御策略之前,用户可以启动策略自动学习功能,通过一段时间的流量监视,给出针对此网络防攻击域较为合理的策略配置建议。(启动学习前,域必须存在,且不能有防御策略的配置,默认学习的天数为7

1)Web页面配置:

①Global域配置:防火墙=》防攻击配置=》全局防护

②单个域配置:

未创建域的学习:防火墙=》防攻击配置=》域策略=》新建域=》配置好需要保护的网段=》下一步=》选择自动学习策略=》完成

 已经存在域的创建:防火墙=》防攻击配置=》域策略=》防攻击域列表中选择需要学习的域=》点击启动学习

2)Cli配置:

①Global域学习:

Ruijie(config)#defend-zone global

Ruijie(config-defend-global)#show this

Building configuration...

!

 no session-limit unauth-src-new-session

 no session-limit tcp

 no session-limit udp

 no session-limit icmp

 no session-limit other-protocol

!

end

Ruijie(config-defend-global)#exit

Ruijie#net-defend learning global

②单个域学习:

Ruijie(config)#defend-zone test1

Ruijie(config-defend-zone)#ip access-group test1

Ruijie(config-defend-zone)#show this

Building configuration...

!

 ip access-group test1

!

end

Ruijie(config-defend-zone)# end

Ruijie#net-defend learning test1

6、其他

1)TCP FLOOD攻击

TCP FLOOD是一种针对TCP/IP协议发起的攻击,其明显特征是被攻击者的主机上存在大量的TCP连接,占用大量的系统资源,造成系统崩溃。

对于tcp flood的攻击形式主要有两种:

①攻击者发送大量伪造IP的半连接去攻击对方系统,此攻击的主要防范策略为:对超过阈值的连接进行防伪,如果通过防伪则认为是正常连接

对于此攻击方式使用的命令为:

tcp { syns-in | half-conn-in } global  thresholdthreshold-num action anti-spoofing

设置全局防攻击中针对所有防火墙流量实施防御TCP SYN Flood攻击。

tcp-unauth { syns-in | half-conn-in } { dst-ip | global } threshold threshold-num [ timeout seconds ] action { anti-spoofing | notify }

②攻击者使用tcp 3次握手的正常连接方式,通过僵尸网络,向服务器发起大量的TCP连接,耗尽服务器的TCP连接资源。因为是可以认证的真实主机,因此防伪命令无法阻挡,因此只能对这些攻击进行阈值的监控,如果超过了阈值则判断为攻击

tcp-auth { conn-in | half-conn-in | syns-in } src-ip threshold threshold-num [ timeout seconds ] action { limit | blocking | notify }

2)UDP FLOOD攻击

常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k bpsUDPFlood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDP FLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。

针对UDP的攻击特点,主要的防御策略是对进入网络防攻击域的流量进行限制,当超过了阈值后则判断为攻击,防范方法有:

①未通过源认证的:

udp unauth-src-in { dst-ip | global } threshold threshold-num [ timeout seconds ] action { limit | drop | notify }

②已经通过源认证的:

udp auth-src-in src-ip threshold threshold-num [ timeout seconds ] action { limit | blocking | notify }

③对进入域内所有udp报文均进行限制:

udp pkt-in { dst-ip | global } threshold threshold-num [ timeout seconds ] action { limit | notify }

注:全局域中没有针对UDP相关的策略

3)ICMP FLOOD攻击

ICMP Flood 的攻击原理和ACK Flood原理类似,属于流量型的攻击方式,也是利用大的流量给服务器带来较大的负载,影响服务器的正常服务。由于目前很多防火墙直接过滤ICMP报文,因此ICMP Flood出现的频度较低。

针对ICMP报文的特点,配置的策略可以是禁ping。或者配置对应的防攻击策略(详细命令参考2.4.3中的icmp相关命令)。

注:全局域中没有针对ICMP相关的策略

4)流量监控

流量监控的作用主要是监控网络中的流量,通过监控网络中的流量对防攻击域中的策略进行调整。

主要的命令为:traffic-monitor { tcp | http | udp | icmp | ip | all }

【参数说明】

参数

描述

 

tcp

监视进入网络防攻击域的tcp流量

 

http

监视进入网络防攻击域的http流量

 

udp

监视进入网络防攻击域的udp流量

 

icmp

监视进入网络防攻击域的icmp流量

 

ip

监视进入网络防攻击域的ip流量

 

all

监视以上所有流量

 

 

【使用指导】

开启各类监控: TCPHTTPUDPICMPIP流量数据。如果使用all关键字则开启所有监控开关

开启流量监控后,客户可以通过命令:show defend-zone traffic-snapshot,对流量进行查看

注:1、流量监控命令很耗性能,在没有特殊需求时尽量不开启。

       2、流量只能通过cli命令进行查看

5)流量限制

流量限制在防攻击中有两种不同的限制方式:1、对于带宽的流量限制 2、对于会话建立的速度限制

对于带宽的流量限制:ratelimit { in | out } [ src-ip | dst-ip ] bandwidth bps-num

【参数说明】

参数

描述

 

in

针对进入网络防攻击域的流量实施限制

 

out

针对外出网络防攻击域的流量实施限制

 

src-ip

针对每个源IP实施限制

 

dst-ip

针对每个目的IP实施限制,出口网关不支持

 

bps-number

限制的带宽,单位bps,取值范围1~1,000,000,000 bps

 

 

【使用指导】

src-ip:针对每个源IP进行带宽限制

dst-ip:针对每个目的IP进行带宽限制

     src-ipdst-ip都不做配置时,则表示针对网络防攻击域的所有进出流量的限制。如果流量来自未确认真实性的主机,则不会被此策略约束。

对于会话建立速度的限制:session-limit { unauth-src-new-session | tcp | udp | icmp | other-protocol } new-session-per-second

【参数说明】

参数

描述

 

new-session-per-second

每秒新建会话数量,取值范围1~1,000,000

 

unauth-src-new-session

限制所有未验证源的会话新建速率

 

tcp

限制所有tcp会话的新建速率

 

udp

限制所有udp会话的新建速率

 

icmp

限制所有icmp会话的新建速率

 

other-protocol

限制所有除了tcp/udp/icmp之外的ip报文的会话新建速率

 

in

针对进入网络防攻击域的会话建立速度实施限制,出口网关不支持

 

out

针对外出网络防攻击域的会话建立速度实施限制,出口网关不支持

 

src-ip

针对每个源IP实施限制,出口网关不支持

 

dst-ip

针对每个目的IP实施限制 ,出口网关不支持

 

 

【缺省配置】

全局防护的session-limit命令缺省值如下:

 unauth-src-new-session: 300000

 tcp: 300000

 udp: 300000

 icmp: 100000

 other-protocol: 100000

 

防攻击域内的session-limit命令缺省不启用。

【使用指导】

限制各类会话建立速率。

全局防护缺省启用。测试防火墙性能与容量的时候需要关闭全局防护。