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功能的運行方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章