私のBGPトランジットの顧客の1人が、DDoS攻撃に苦しんでいるときにネットワーク内のトラフィックをブラックホール化しやすくするための解決策を求めてきました。通常、BGPブラックホール化はターゲットをブラックホール化することによって行われますが、攻撃のターゲットがオフラインにならないように、ソースアドレスに基づくブラックホールの解決策を探しています。
ターゲットアドレスに基づいてブラックホールソリューションを構築することはそれほど難しいことではありません。別のBGPセッションを介して、より具体的なルートとしてターゲットをアナウンスするか、特定のコミュニティでタグ付けしてから、ルーティングポリシーを使用して、いくつかの破棄インターフェースへのネクストホップ。
攻撃のソース(顧客のIP空間内にない)がブラックホール化されているブラックホールソリューションを構築することは、少し難しいようです。宛先のフィルタリングと同じソリューションを使用する場合、私の問題は、特定のソースからこの特定の顧客へのトラフィックのみを破棄したいということです。そのため、ルーティングテーブルに破棄ルートを挿入することは、他の顧客に影響を与えるため、もはや受け入れられません。上手。したがって、この特定の顧客にのみ適用されるフィルターを作成する方法が必要です。
私が考えていた最初の解決策は、BGPFlowspecを使用することでした。残念ながら、彼の装置はそれをサポートしていないので、これはこの特定の顧客にはうまくいきません。
したがって、私が探しているのは、ルーティングプロパティに基づいて動的ファイアウォールフィルターを作成する方法です。おそらく、専用のBGPブラックホールセッションを介して特定のルートを受信するときに、お客様または当社が設定したコミュニティです。次に、このフィルターを顧客のインターフェースに適用して、不要なトラフィックをブロックできます。残念ながら、この方法でファイアウォールフィルター(またはプレフィックスリスト)を作成する簡単な方法は見つかりませんでした。
私はhttp://thomas.mangin.com/posts/bgp-firewall.htmlを見つけましたが、これはSCU / DCUを誤用して、多かれ少なかれ私が探しているものを達成しますが、それは少しハックのように聞こえます。
私が考えることができる他のソリューションの1つは、ルート上に静的フィルターを作成し、このフィルターで使用されるプレフィックスリストを変更できるようにするインターフェイスを構築することです。ただし、お客様がブラックホールを追加するたびにルーターの構成変更をプッシュすることは、私が本当に望んでいることではありません。BGPを使用するソリューションが推奨されます。
私たちの側では、ルーティングはジュニパーで行われます。ソリューションとしては、さまざまなプラットフォームで使用できるものを用意したいので、基本的には、個別のセッションを介してBGPを使用するか、特定のコミュニティを介してルートにタグを付けるだけです。これにより、他のお客様にも使用できます。
(SCU / DCU以外の)これに対する素晴らしい解決策がある場合、私は本当に興味があります。