是否記得服務提供商通常何時需要使用遠程觸發黑洞(RTBH)來緩解DDOS攻擊?使用RTBH,我們只有兩種方法,基于源和基于目標。我們基本上采取最難的方法。從源中刪除所有流量或將所有流量丟棄到目標。這可能是有意和無用的流量。
對于那些不熟悉RTBH的人,當我們說目標-RTBH時,我們已經將特定的下一跳設置為Null0。當啟動觸發路由器時,它會將路由注入此目標,將下一跳更改為專門配置的下一跳。我們還可以將其識別為“下拉”下一跳。
與基于目標的源相比,源RTBH利用觸發路由器將源路由注入到丟棄。關鍵因素是單播反向路徑轉發(uRPF),它用于丟棄數據包,因為我們將下一跳設置為Null0。
ACL怎么樣?這些仍然是DDoS最廣泛使用的緩解工具。不幸的是,這些提供了太多的開銷和維護。具有數百個ACE的ACL變得麻煩并且難以定義配置的特定線路。
利用一種允許我們更細化的機制會很棒。如果我們可以根據以下內容創建與特定流匹配的指令,該怎么辦?
- 資源
- 目的地
- 第4層
- 數據包特定項(長度,片段,例如)
這就是BGP Flowspec提供的:一種非常精細的DDoS緩解方法。
在RFC 5575中定義并由IETF更新,我們現在使用新的SAFI定義:
- AFI 1 / SAFI 133 - Flowspec規則的IPv4傳播
- AFI 1 / SAFI 134 - VPNv4傳播Flowspec規則
- AFI 2 / SAFI 133 - 流傳規則的IPv6傳播
- AFI 2 / SAFI 134 - VPNv6傳播Flowspec規則
BGP Flowspec與特定流程匹配,通過此流程,我們可以有效地安裝動態操作,可以丟棄流量,將其放入不同的轉發實例進行進一步檢查,或者警察到所需的速率。
以下是BGP Flowspec支持的一些匹配字段:
- 目的地址
- 來源地址
- IP協議
- 源端口
- 目的端口
- ICMP代碼
- TCP標志
BGP Flowspec將擴展社區定義為要對匹配字段執行的操作,例如:
- 交通率(下降/警察)
- 下一跳重定向
- VRF重定向
- DSCP標記
我們來看一下BGP Flowspec架構的圖示:
在我們查看此圖時,我們必須首先確認Flowspec路由器。這是注入BGP Flowspec NLRI的控制器。Flowspec路由器將這些流通告給提供商網絡中的其他路由器。一旦收到,這些設備就會在硬件中對流進行編程,并根據查找,設備可以采取適當的措施。在此拓撲中,我們將在Edge處將DDoS流??量速率限制為1M。