概述
分散式阻斷服務(DDoS)攻擊在網路層級3和4的威脅性極大,迅速且具破壞性。若您管理任何規模的網路,必然會遇到如UDP洪水、TCP SYN風暴等封包層級的濫用問題。檢測是第一步,但如何快速有效地緩解攻擊,才是決定您能否迅速恢復正常運行的關鍵。
如何在路由層過濾DDoS攻擊?
當DDoS攻擊發生時,上行頻寬和路由器CPU往往是最有限的資源。以下兩種基於BGP的常見方法有助於緩解攻擊:
Flow Spec:細粒度的即時過濾
Flow Spec允許您直接在路由器中通過BGP推送具體的流量匹配規則,尤其在您需要阻止攻擊但不想中斷所有到目的地的流量時特別有用。
Flow Spec的工作原理
- 流量監控工具(如NetFlow、sFlow或IPFIX)識別出潛在的DDoS模式。
- 生成一條過濾規則,例如「阻止到53號埠的UDP流量」。
- 該規則通過BGP發送到支持的路由器,並立即應用。
- 匹配規則的流量將根據定義的動作被丟棄、限速或重定向。
配置示例:FastNetMon Flow Spec
# 啟用全域BGP和FlowSpec
sudo fcli set main gobgp enable
sudo fcli set main gobgp_flow_spec_announces enable
sudo fcli set main gobgp_flow_spec_default_action discard
# 可選:限速而非丟棄
sudo fcli set main gobgp_flow_spec_rate_limit_value 1000000
# 在BGP路由器會話上啟用
sudo fcli set bgp my_router ipv4_flowspec enable
sudo fcli commit
注意事項
- 平台支持:Flow Spec在Juniper、Cisco、Arista、Huawei等平台上廣泛支持,但存在差異。請查看您的平台支持的字段(特別是TCP標誌和碎片)。
- 規則驗證:某些平台可能會靜默忽略無效組合,請務必測試。
- 監控即時規則:使用工具追蹤當前公告和流量響應情況。
RTBH:一切或無的策略
RTBH是歷史悠久的DDoS緩解方法,仍然有效。與其匹配埠或標誌,您只需通過廣告一條到特定下一跳(通常是Null0)的路由來丟棄所有到特定前綴的流量。
何時使用RTBH
- 當您遭遇高流量洪水並需要立即切斷流量時
- 如果上游提供商不支持Flow Spec
- 作為封包層過濾過慢或不適用的攻擊的備案
RTBH的工作原理
- 用預定義的下一跳(例如192.0.2.1)宣布一條BGP路由。
- 路由器對所有朝向該前綴的流量應用丟棄動作。
- BGP社區用於控制公告的範圍和影響。
配置示例:FastNetMon RTBH
# 啟用BGP和RTBH設置(使用goBGP或ExaBGP示例)
# 在檢測到攻擊時:
# exabgp_next_hop=192.0.2.1
# exabgp_community=65001:666
sudo fcli commit
邊界路由器示例(Cisco IOS-XE)
router bgp 65000
neighbor 10.10.2.2 remote-as 65000
neighbor 10.10.2.2 send-community
ip route 192.0.2.1 255.255.255.255 Null0
結語
透過整合BGP Flow Spec和RTBH技術,工程師們能更有效率地應對大規模DDoS攻擊。這兩種方法各有其優缺點,選擇合適的策略取決於具體的網路環境和需求。若您有進一步的需求或疑問,北斗數位提供全面的DDoS防禦服務,幫助您保護網路安全。