BGP Flowspec Redirect-to-IPで実現する、DDoS防御ネットワーク

プロダクト技術本部ネットワーク技術部の中野です。BIGLOBEのバックボーンネットワークの設計や構築を担当しています。

BIGLOBEでは、バックボーンネットワークに流入するDDoSトラフィックへの対策として、今回、新たにBGP Flowspec Redirect-to-IPと呼ばれる技術を導入し、DDoS Mitigationを実現するネットワークを構築しました。

今回は、BGP Flowspecの概要やRedirect-to-IPの動作概要などを紹介します。

BGP Flowspecとは

BGP Flowspecは、2009年8月にRFC5575として公開され、その後、2020年12月にRFC8955にて改定されています。

このプロトコルは、BGPを拡張したもので、特定のトラフィック・フローに対するフィルタリングやアクションのルールをネットワーク内のBGPルーター群に動的に伝達するためのもので、主にDDoS攻撃対策を目的として開発されましたが、特定のトラフィックを識別して制御(帯域制限、リダイレクト、マーキングなど)するために幅広く活用されています。

BGP Flowspecの動作は、条件に一致したパケットに対して特定のアクションを実行するものとなっています。
条件は、以下のような単一の条件あるいは複数の条件を指定する事が可能で、BGPのNLRI(Network Layer Reachability Information)にて表現されます。
ポート番号等は、特定ポートに加えて、範囲指定なども可能となっています。

  • 宛先Prefix
  • 送信元Prefix
  • IPプロトコル
  • ポート番号
  • 宛先ポート番号
  • 送信元ポート番号
  • ICMPタイプ
  • ICMPコード
  • TCPフラッグ
  • パケット長
  • DSCP値
  • フラグメント

条件に一致したパケットに対するアクションは以下のとおりで、BGPのExtended Communityを用いて指定します。

  • バイト/秒単位でのトラフィック量制限(0を指定すると破棄)
  • パケット/秒単位でのトラフィック量制限
  • トラフィックアクション(後続のFlowspecの評価可否やサンプリング・ロギングの指定)
  • VRFへのリダイレクト
  • マーキング(DSCP値の上書き)

この条件とアクションの組み合わせにより、例えば特定の宛先Prefixに対するトラフィックをバイト/秒単位で流量制限や、特定の送信元Prefixからのトラフィックを破棄するなど様々な制御が可能で、ACL(Access Control List)やPolicingなどの制御をBGPを用いて網内のルータに動的に配布を可能とする技術です。

BGP Flowspec Redirect-to-IPとは

BGP Flowspec Redirect-to-IPは、BGP Flowspecのアクションを拡張するもので、BGP Flowspecの条件にマッチしたパケットを指定したIPアドレスに転送する機能です。

RFC8955にて規定されているアクションには、「VRFへのリダイレクト」はありますが、VRFを利用していないネットワークには適用しづらいという課題があり、リダイレクトをより簡単にするためにRedirect-to-IPアクションが検討されています。

現時点で、BGP Flow-Spec Redirect-to-IP Actionでは「draft-ietf-idr-flowspec-redirect-ip-04」として、いわゆるInternet-Draftの段階のもので、仕様が確定していない技術となっています。

BGP Flowspec Redirect-to-IPの動作概要

今回導入したBGP Flowspec Redirect-to-IPの動作概要を簡単に紹介します。

下図のとおり、各ルータは外部との接続インターフェースにおいてFlowspecの制御を有効に設定(黄色の●の箇所)し、内部との接続インターフェースにおいてはFlowspecの制御を無効に設定します。
インターフェース毎にFlowspecの有効・無効に設定している理由は、ルータの両端でリダイレクトの処理が行われるとパケットがループしてしまうためで、パケットループを発生させないために内部との接続インターフェースにおいてはFlowspecの制御を無効にしています。

Flowspecイメージ図

各ルータは、ネットワークに流れるトラフィックを一定の比率でサンプリングし、その情報をNetflow/sFlow/J-Flow/IPFIXなどの技術でフローコレクタに送信します。

Flowspecイメージ図2

フローコレクタは、送付されたフロー情報をもとにネットワーク上の異常トラフィックやDDoSの発生を監視します。
下図では、サーバに対して正規トラフィックとDDoS攻撃のトラフィックが流れている状況を記載しています。

 

Flowspecイメージ図3

フローコレクタは、DDoS攻撃を検知すると、攻撃対象を確認し、攻撃対象宛のトラフィックをDDoS Mitigation装置にリダイレクトするよう、各ルータに対してBGP Flowspec Redirect-to-IPの経路を広報します。

Flowspecイメージ図4

 

各ルータはBGP Flowspec Redirect-to-IPの条件・アクションに従い、トラフィックをDDoS Mitigation装置に転送します。

DDoS Mitigation装置は攻撃トラフィックを破棄し、正規トラフィックのみを元の宛先に向けて転送します。

Flowspecイメージ図5

フローコレクタはDDoS攻撃の停止を確認するとFlowspecの経路広報を停止し、各ルータは通常どおりのルーティングに戻ります。

このように、BGP Flowspec Redirect-to-IPを用いることで既存のネットワークを大きく変更することなく、トラフィックの柔軟な制御が可能となります。

ただし、BIGLOBEのバックボーンネットワークはマルチベンダーにて構成しており、今回導入したBGP Flowspec Redirect-to-IPは現時点でもInternet-Draftで、メーカー毎に参照しているDraftのバージョンが異なっておりプロトコル的に互換性がない状態となっています。

そのため、本技術のマルチベンダー環境への導入には、多くの課題と困難が伴いました。この課題解決に向けた対策は、2026年2月に開催されるJANOG57 Meeting in Osakaにて発表しますので、ご興味のある方はぜひご参加ください。

おわりに

BIGLOBEのバックボーンネットワークは、大量トラフィックのDDoS攻撃にも耐えうるように日々増強を進めていますが、DDoS攻撃が発生した場合でもお客様への通信についても安定してご利用いただけるように、今回紹介したDDoS Mitigationだけでなく様々な対策について取り組んで参りたいと思います。

最後まで読んでいただき、ありがとうございました。

掲載されている文章、イラストおよび写真は、BIGLOBE又は第三者が著作権を有しており、
権利者の許諾なく利用できません。

「BIGLOBE Style」は「はてなブログ」にて運用しており、
ブログ内でのCookie情報は株式会社はてなが収集します。

詳細は同社のプライバシーポリシーをご確認ください。
本サイトの商標についてはこちら