| 关键词: 清洗设备 流量 路由 策略 配置 检测设备 端口 报文 镜像 华为 |
在前面的章节中我们介绍了华为Anti-DDoS解决方案的部署模式分为直路部署、旁路静态引流部署和旁路动态引流部署三种方式,除直路部署外,其它两种方式中我们的清洗设备都是处于旁挂位置,对于这样的部署,异常的流量要完成清洗并到达最终目的地还需要经过引流和回注两个过程。 0x01 概念 直路部署中,因为来回的流量都会经过设备转发,所以不需要经过特殊的操作;而当清洗设备在旁路部署时,检测设备检测到的有异常、有威胁的流量,会通过ATIC管理中心通知清洗设备对这些流量进行清洗,这就要求原有的流量要改变当前的路径,进入到旁挂的清洗设备上来,这个过程我们称之为引流。引流完成后,清洗设备会对引进来的流量进行清洗,即把异常、有威胁的流量剔除,留下正常的业务流量。清洗完成后,需要再把流量返回到原有的路径上,最终发送到目的地,这个返回流量到原路径的过程就是回注。 ![]() 0x02 分光和镜像 在详细介绍引流和回注之前,我们先来了解下分光和镜像的概念。 Anti-DDoS解决方案中,在流量清洗之前,我们都知道还有一个很重要的环节——检测,网络部署中,如果检测设备独立旁路部署,也需要将网络中的流量引导到检测设备上来。分光和镜像就是为检测设备引流的手段,不过我们引入的不是真实的流量,而是复制后的流量。这是因为检测设备只需要检测出流量中是否有威胁即可,至于检测的流量是真实的还是复制的是无所谓的,而且使用复制的流量不会影响正常业务的转发。 分光和镜像都是将流量复制一份到检测设备,但处理方式又不相同: l 分光是通过分光器来完成的,它是一个独立的硬件,数据通过分光器后会将数据复制一份供检测设备使用,即原来的流量正常通行,同时分一股出来供检测设备分析。通过分光器复制流量时,不需要配置任何命令,也不需要外部能量,只要有输入光即可。但是,这也带来了一个缺点,那就是引入了一个故障点,同时也正是因为它是一个在线设备,所以在部署时,需要中断当前网络,对业务有一定的影响。 l 镜像分为端口镜像和流镜像,端口镜像是指将流经被监控端口的某个方向(入、出、双向)的所有报文复制到指定的目标端口进行分析。流镜像是在端口镜像的基础上增加了流分类条件,只复制满足特定条件的报文,过滤不关心的报文,提高报文分析设备的工作效率。对于Anti-DDoS检测设备来说,我们要分析所有进入网络的流量是否存在异常,所以我们一般都是通过端口镜像功能来复制流量。在端口镜像中: n 被监控的端口称为:镜像端口 n 指定的目标端口称为:观察端口 ![]()
端口镜像需要配置相关命令,如下图所示的Router1上我们需要配置如下命令,这里Router1以华为NE80E路由器为例,检测设备以华为AntiDDoS8000系列为例讲解相关配置。 ![]()
配置中,Router1上配置观测端口的索引号必须与该接口所在的接口板的槽位号一致。在slot 3上配置令mirror to observe-index 1命令后,此观测索引对应的观测端口将作为整个3接口板的观测端口,当此接口板上有接口进行镜像时,报文就会被镜像到这个整板镜像的观测端口上。完成上述配置后,端口GE3/0/0上接收的所有报文将被镜像到端口GE1/0/0上发往AntiDDoS8000系列检测设备。AntiDDoS8000系列检测设备需设置相应的检测板,以及在接口配置检测功能和开启流量统计功能。完成这些配置后,就可以对接收的流量进行分析检测了。 对比分光和镜像,它们各有优劣,具体对比如下表所示。 网络部署中,请根据网络实际情况进行合理选择。 华为Anti-DDoS解决方案支持多种类型的检测设备,其中AntiDDoS8000系列、AntiDDoS1600系列检测设备是采用逐包检测的方法对流量进行检测,即对流量中的所有报文进行检测,所以通过分光和镜像功能将流量全部复制到检测设备上来。还有一些其他的检测设备,如华为NFA2000V,威睿GenieATM等,这类检测设备是逐流检测方式,它们的检测流量来源是通过各种流采集分析协议来完成的,比如Cisco的Netflow协议,华为的NetStream协议等。这类流采集分析协议是对网络中不同的流进行提取,然后分类统计,最后将统计信息输出给检测设备进行分析检测,而不是像分光和镜像那样直接复制流量。关于这类协议的实现各厂商资料中都有详细的描述,本文中不进行具体的介绍。 0x03 引流 分光、镜像是复制流量输出给检测设备进行检测;流采集分析协议是提取流量特征,把符合条件的流统计信息给检测设备分析,这些措施都不会影响实际的业务流量转发。然而对于清洗设备来说,我们需要清洗的是实际业务流量中的威胁或异常内容,如果清洗设备旁挂,我们必须要改变原有的业务转发路径,把流量引导到清洗设备上来,通过分光和镜像等显然是不能完成的。那当清洗设备旁路部署时,为实现流量清洗,我们是如何引流的呢? 事实上,引流可分为静态引流和动态引流两种 l 静态引流:手动创建并下发引流策略到清洗设备引发引流,业务流量无论是否发生异常,都将改变原有流量的路径将流量引流到清洗设备。 l 动态引流:检测设备发现异常通告管理中心,管理中心自动生成引流策略并下发到清洗设备;攻击结束,管理中心下发取消引流策略到清洗设备。 但如果按照具体的配置方法来划分,可分为:策略路由引流和BGP引流。 l 策略路由引流:在引流的网络设备上配置策略路由,将目的地址为防护对象的流量发送到清洗设备。 l BGP引流:通过在引流的网络设备和清洗设备上配置BGP实现引流。 策略路由引流通常用于静态引流方式,BGP引流根据配置的不同可以是静态引流方式,也可以是动态引流方式。 下面我们先从策略路由引流的具体实现和配置说起。 0x04 策略路由引流 策略路由(Policy-based Routing),也称为路由重定向(Redirect),顾名思义是指基于策略的路由机制。通常,路由设备是根据报文目的地址查找路由表进行报文转发的,而策略路由是一种依据用户制定的策略进行路由选择的机制,策略路由的操作对象是数据包,在路由表已经产生的情况下,不按照先行路由表进行转发,而是根据需要,依照某种策略改变其转发路径的方法。 策略路由引流,正是根据这种策略,改变报文原有的转发路径,引导流量到清洗设备上来。 在下图中,Router1为引流设备,为对到达防护对象的流量进行清洗,可以在Router1的GE1/0/0接口配置策略路由,让从外网通过GE1/0/0接口到达防护对象的流量改变原有路径从GE1/0/1接口转发到清洗设备进行清洗。 ![]() 策略路由引流只需要在引流路由器Router1的GE1/0/0上配置策略路由,无需在清洗设备上进行任何配置。Router1以华为NE80E路由器为例,具体配置如下: 1、定义流分类。 [Router1] acl 3001 [Router1-acl-adv-3001] rule permit ip destination 1.1.1.1 0 [Router1-acl-adv-3001] rule permit ip destination 2.2.2.2 0 [Router1-acl-adv-3001] quit [Router1] traffic classifier class1 [Router1-classifier-class1] if-match acl 3001 [Router1-classifier-class1] quit 2、配置流行为并配置报文转发动作。 [Router1] traffic behavior behavior1 [Router1-behavior-behavior1] redirect ip-nexthop 10.1.2.2 interface GigabitEthernet 1/0/1 [Router1-behavior-behavior1] quit 3、定义流量策略并在策略中为类指定行为。 [Router1] traffic policy policy1 [Router1-trafficpolicy-policy1] classifier class1 behavior behavior1 [Router1-trafficpolicy-policy1] quit 4、在接口上应用策略路由。 [Router1] interface GigabitEthernet 1/0/0 [Router1-GigabitEthernet1/0/0] traffic-policy policy1 inbound [Router1-GigabitEthernet1/0/0] quit 策略路由引流,配置比较简单,方便操作,但使用这种引流方式时,如果回注流量的链路Down了,业务流量还是会通过策略路由送到清洗设备上来,这样清洗后的流量又不能回注回去,势必造成业务的中断。所以,为了保证引流策略路由也能及时Down掉,我们可以在清洗设备上配置类似Link-group这样的功能,将引流和回注链路加入到一个Link-group中,形成联动,回注的链路Down了,引流的链路也及时Down掉,保证业务的正常转发。 除此之外,策略路由引流不考虑流量中是否存在异常,统一的将流分类中定义的所有流量都送到清洗设备进行处理,对于正常的流量来说也会转发到清洗设备上来,一方面影响了正常业务的转发效率,另一方面也会消耗清洗设备的部分资源,造成不必要的浪费。相比之下,BGP引流会更加高效智能。 0x05 BGP引流 BGP是一种用于自治系统AS(Autonomous System)之间的动态路由协议,如何通过它来引流,其实是需要Anti-DDoS解决方案中多个设备间配合完成的。 BGP引流分为静态引流和动态引流两种(其中动态引流又分为自动和手动),它们的区别在于:前者无论检测设备是否检测到异常,管理中心都会生成针对防护对象IP地址/IP地址段的引流任务,这种引流任务需要由管理员手工创建;而动态引流是当检测设备检测到异常时,管理中心会自动生成引流任务,引流任务生成后系统会直接下发(自动)或者通过管理员手动下发(手动)到清洗设备。异常或攻击结束后,系统会自动取消引流。 不管是BGP的静态引流还是动态引流,管理中心都会下发一条引流任务到清洗设备,此时,清洗设备上会为每个防护对象自动生成一条32位主机UNR路由,此路由的下一跳为与清洗设备回注接口直连的路由设备的接口地址,即下图中Router1的GE1/0/2接口地址。 生成路由后,清洗设备会将这条UNR路由引入到BGP中,并通过BGP发布给BGP Peer—Router1,此时,Router1上就会有一条目的地址为防护对象,下一跳为清洗设备的引流接口的32位主机路由。 后续Router1收到Internet发来的到防护对象的报文时,查找路由表,根据最长掩码匹配原则,优先会匹配这条路由,从而转发到清洗设备上来进行流量清洗。 ![]()
BGP引流需要在Router1、清洗设备和管理中心上进行配置,具体引流部分的配置如下。 首先,在管理中心界面上选择“防御 > 策略配置 > 引流”,创建引流任务,配置被保护的IP地址为1.1.1.1,子网掩码为255.255.255.255。单击“确定”。 然后在清洗设备上,设置32位主机UNR路由下一跳地址,这里的下一跳为Router1回注接口GE1/0/2的IP地址。 [sysname] firewall ddos bgp-next-hop 10.1.3.1 上述步骤配置完成后,清洗设备上会生成一条到达1.1.1.1的32位主机UNR路由,下一跳为10.1.3.1。 [sysname] display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface 1.1.1.1/32 Direct 0 0 D 10.1.3.1 GigabitEthernet2/0/2 ---- More ---- 关于BGP部分的配置如下表,其中Router1以华为NE80E路由器为例。 配置apply community no-advertise命令,用于设置团体属性,在BGP路由策略中应用后,通告对等体Router1接收此32位主机路由后不再对其他任何对等体发布此路由,因为此路由只用于对需要清洗的流量进行引流,对外发布可能会造成不可预知的影响,如路由环路等。 相比策略路由引流,BGP引流更加灵活,既能对防护对象静态引流,达到策略路由引流的效果,也能根据流量异常情况动态智能化引流,合理控制清洗设备的资源分配,方便管理员维护管理。 引流完成后,清洗设备会对异常流量进行清洗,如何清洗在前面的章节中已经说过,这里不在赘述。清洗后的正常流量需要通过回注过程让业务流量能够回到原有网络中。华为Anti-DDoS设备支持多种回注配置方法,在下节中我们将详细介绍。 |
| 本文出处: https://www.toutiao.com/a6834683963055800836/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|