BGP Flow Specification原理

定义

BGP Flow Specification功能是一种用于防止DoS(Denial of Service)/DDoS(Distributed Denial of Service)攻击的方法,可以提高网络安全性和可用性。

目的

DoS/DDoS攻击是对网络安全的一个重大威胁,DoS/DDoS攻击者通过多个控制端控制成千上万的攻击设备对同一个目的地址、网段或服务器同时发起流量攻击,导致网络拥塞或服务器CPU占用过高无法提供服务。

传统预防DoS/DDoS攻击的方法有两种,分别是流分类技术和对攻击流量重定向,但是这两种方法都存在缺陷,如表1所示。

表1 传统预防DoS/DDoS攻击方法的比较

预防方法

方法概述

缺陷

流分类技术

在路由器上手工配置流量匹配规则和相应的QoS策略,用来缓解DoS/DDoS的攻击。

这种方法存在如下缺陷:
  • 无法保证防御攻击的实时性,需要在多个网络服务供应商之间进行协调,以标识出攻击源。

  • 维护工作难度大,需要手工修改流量过滤策略。

对攻击流量重定向

通过路由策略修改指向受攻击目标的路由的下一跳:
  • 将下一跳设置为一个黑洞,将流量丢弃。

  • 把下一跳设置到一台流量清洗设备上,对攻击流量进行清洗,保护正常的业务流量。

这种方法存在如下缺陷:
  • 流量过滤的匹配条件单一,即只能通过目的IP地址进行过滤。

  • 控制流量过滤的信息和转发流量的路由信息混合在一起,增加维护难度。

BGP Flow Specification可以解决上述缺陷:

  • 可维护性好。使用标准协议定义的BGP网络层可达信息类型来传递流量过滤信息,因此路由信息和流量过滤信息独立存在。

  • 提供丰富的过滤条件和处理动作,可以更有针对性地实现对流量的控制。

BGP Flow Specification支持公网BGP Flow Specification、私网BGP Flow Specification和BGP VPNv4 Flow Specification,它们之间的区别如表2所示:

表2 公网BGP Flow Specification、私网BGP Flow Specification和BGP VPNv4 Flow Specification的比较

BGP Flow Specification

应用场景

部署的地址族

公网BGP Flow Specification

应用在公网场景中。

BGP-Flow地址族、BGP-Flow IPv6地址族

私网BGP Flow Specification

应用在私网场景中,且私网之间不能通过公网传输BGP Flow Specification路由。

BGP-Flow VPN实例IPv4地址族、BGP-Flow VPN实例IPv6地址族

BGP VPNv4 Flow Specification

应用在私网场景中,且私网之间通过公网传输BGP Flow Specification路由。

BGP-Flow VPN实例IPv4地址族和BGP-Flow VPNv4地址族

受益

BGP Flow Specification功能可以更大的提高用户网络的安全性与可靠性,具体如下:

  • 实时监控:BGP Flow Specification功能以定时采样的方式对攻击流量进行快速响应,实现对攻击流量的控制。

  • 预先防护:根据常见的攻击流量的特点,手工部署防护策略,使常见的攻击流量没有机会对用户网络造成危害,防患于未然。

  • 降低成本:不需要在每台设备上单独建立流量控制策略,提高可维护性。

  • 限制攻击范围:BGP Flow Specification支持跨域传播功能,可以在尽可能靠近攻击源的设备上消除攻击流量对网络的危害,大大降低了攻击流量对网络的影响。

基本概念

BGP Flow Specification功能通过传递BGP Flow Specification路由将流量策略传递给BGP Flow Specification对等体,达到控制攻击流量的目的。BGP Flow Specification功能主要包括如下基本概念:

  • BGP Flow Specification路由:标准协议中定义了一种BGP Flow Specification路由,这种BGP Flow Specification路由包含了一类新的BGP网络层可达信息类型和扩展团体属性。通过这种新的网络层可达信息和扩展团体属性,BGP Flow Specification路由可以携带流量的匹配条件和流量匹配后执行的动作。

  • BGP Flow Specification对等体关系:建立在创建BGP Flow Specification路由的设备与网络入口设备之间,用于传递BGP Flow Specification路由。当BGP Flow Specification对等体收到BGP Flow Specification路由后将优选的路由转换为转发层面的流量控制策略,达到控制攻击流量的目的。

根据BGP Flow Specification路由的生成方式的不同,可以分为动态BGP Flow Specification功能和静态BGP Flow Specification功能,如表1所示。

表1 动态BGP Flow Specification功能和静态BGP Flow Specification功能比较

方式

应用场景

动态BGP Flow Specification功能

主要用于对无法预知的流量攻击进行控制。通过部署流量分析服务器实现对网络实时监控和对攻击流量的快速响应,保证网络的安全性。

静态BGP Flow Specification功能

主要用来对某类可以预知的或常见的攻击流量进行控制。根据常见的攻击流量的特点,手工创建BGP Flow Specification路由,实现对常见攻击流量的预先防护。

说明:

BGP Flow Specification支持跨域传播功能,即如果不同AS的网络入口设备之间建立了BGP Flow Specification对等体关系,BGP Flow Specification路由可以传播至其他AS对攻击流量进行控制,降低了攻击流量对网络影响的范围。

当使能了BGP Flow Specification功能的设备收到以目的地址为流量过滤条件的BGP Flow Specification路由时,必须通过BGP Flow Specification路由验证才能生效。

 

动态BGP Flow Specification功能

配置动态BGP Flow Specification功能,需要在网络中部署流量分析服务器,并在流量分析服务器和网络入口设备之间配置BGP Flow Specification对等体关系。如图1所示,动态BGP Flow Specification功能的具体工作流程共包含三个步骤:

  1. DeviceD和DeviceC把流量采样发送给流量分析服务器。
  2. 当出现流量攻击时,流量分析服务器按照预先定义的规则,对流量采样样本进行检测,识别异常流量。
  3. 流量分析服务器根据异常流量的特征自动创建BGP Flow Specification路由,然后通过发布这条BGP Flow Specification路由把流量过滤规则传递给网络入口设备DeviceB。
  4. DeviceB在收到BGP Flow Specification路由后,把路由转化成流量控制策略,对匹配规则的流量进行控制。

图1 动态BGP Flow Specification功能的运行方式

静态BGP Flow Specification功能

配置静态BGP Flow Specification功能,需要根据常见攻击流量的特点手工创建BGP Flow Specification路由,并在创建BGP Flow Specification路由的设备和网络入口设备之间配置BGP Flow Specification对等体关系。如图2所示,静态BGP Flow Specification功能的具体工作流程共包含三个步骤:

  1. 在DeviceC上手工创建BGP Flow Specification路由,根据需要预防的攻击流量的特点配置流量过滤条件及流量控制动作。
  2. BGP Flow Specification路由通过BGP协议被发布到网络入口设备DeviceB上。
  3. DeviceB在收到BGP Flow Specification路由后,把路由转化成流量控制策略,在网络入口设备上对匹配规则的流量进行控制。

图2 静态BGP Flow Specification功能的运行方式

BGP Flow Specification的路由验证功能

BGP Flow Specification路由有以下两种验证方式:

  • 第一种验证方式:当使能了BGP Flow Specification功能的设备收到以目的地址为流量过滤条件的BGP Flow Specification路由时,使用图3所示验证方式验证通过,才能认为该BGP Flow Specification路由是有效的。
  • 第二种验证方式:当使能了BGP Flow Specification功能的设备收到以目的地址为流量过滤条件的BGP Flow Specification路由时,判断BGP Flow Specification路由的AS_PATH属性中是否含有AS_SET和AS_SEQUENCE字段,如果没有则验证通过,即认为该BGP Flow Specification路由是有效的。

第二种验证方式是通过命令行控制的,如果指定了第二种验证方式,则首先使用第二种方式验证BGP Flow Specification路由:

  • 如果验证通过,认为BGP Flow Specification路由是有效的,无需使用第一种方式验证BGP Flow Specification路由;
  • 如果验证不通过,则还需要使用第一种方式验证BGP Flow Specification路由。

如果没有指定第二种验证方式,则使用第一种方式验证BGP Flow Specification路由。

当使能了BGP Flow Specification功能的设备收到以目的地址为流量过滤条件的BGP Flow Specification路由时,必须通过如下验证规则才能认为该BGP Flow Specification路由是有效的,如图3所示。

图3 BGP Flow Specification路由验证的规则

如图4所示,DeviceA和DeviceB建立BGP Flow Specification对等体关系。DeviceB从DeviceA接收到一条BGP Flow Specification路由,这条BGP Flow Specification路由包含着流量目的地址类型的过滤条件,目的地址为172.16.1.0/24,即希望对发往172.16.1.0/24的流量进行控制。因此DeviceB会对这条路由进行验证,具体流程如下:

  1. DeviceB在自己的IP路由表中进行查找,发现存在两条单播路由,分别是172.16.0.0/16和172.16.1.0/24,经比较发现172.16.1.0/24为最佳匹配单播路由。

  2. 对该单播路由进行检查,发现是通过BGP协议学习到的路由。

  3. 该单播路由的发起者是DeviceC,BGP Flow Specification路由的发起者是DeviceA,由于发起者并不相同,因此认定这条BGP Flow Specification路由无效。

图4 BGP Flow Specification路由验证

动态BGP VPNv4 Flow Specification功能

配置动态BGP VPNv4 Flow Specification功能,需要在网络中部署流量分析服务器,并在流量分析服务器和网络入口设备PE1之间配置BGP VPNv4 Flow Specification IBGP对等体关系。如图1所示,动态BGP VPNv4 Flow Specification功能的具体工作流程共包含以下几个步骤:

  1. PE2和PE3把流量采样发送给流量分析服务器。
  2. 当出现流量攻击时,流量分析服务器按照预先定义的规则,对流量采样样本进行检测,识别异常流量。
  3. 流量分析服务器根据异常流量的特征自动创建BGP VPNv4 Flow Specification路由,然后通过BGP VPNv4 Flow Specification IBGP邻居发布这条BGP VPNv4 Flow Specification路由把流量过滤规则传递给PE1。
  4. PE1在收到BGP VPNv4 Flow Specification路由后,把BGP VPNv4 Flow Specification路由远端交叉到VPN实例VPNA中,并将路由转化成流量控制策略,对匹配规则的流量进行控制。

图1 动态BGP VPNv4 Flow Specification功能的运行方式

静态BGP VPNv4 Flow Specification功能

配置静态BGP VPNv4 Flow Specification功能,需要根据常见攻击流量的特点手工创建私网BGP Flow Specification路由,使能BGP-Flow VPNv4地址族后,自动生成BGP VPNv4 Flow Specification路由,然后在创建私网BGP Flow Specification路由的设备PE3和网络入口设备PE1之间建立BGP VPNv4 Flow Specification IBGP对等体关系,用于传递BGP VPNv4 Flow Specification路由。如图2所示,静态BGP VPNv4 Flow Specification功能的具体工作流程共包含以下几个步骤:

  1. 在PE3上手工创建BGP VPNv4 Flow Specification路由,根据需要预防的攻击流量的特点配置流量过滤条件及流量控制动作。
  2. BGP VPNv4 Flow Specification路由通过BGP VPNv4 Flow Specification IBGP邻居发布到PE1上。
  3. PE1在收到BGP VPNv4 Flow Specification路由后,把BGP VPNv4 Flow Specification路由远端交叉到VPN实例VPNA中,并将路由转化成流量控制策略,对匹配规则的流量进行控制。

图2 静态BGP VPNv4 Flow Specification功能的运行方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值