BGPを使用して、リモートASから発生するDDoS攻撃を防御する


16

BGPとこの構成を実現する方法に関して質問があります。

エンタープライズコアルーターがISP(シングルホーム)に接続されています。このルータは、BGPアップデートで特定のパブリックIPプレフィックスをISPにすでに交換しています。次に、数ホップ先にASがあり、ローカルのASにDDoS攻撃が殺到しているとしましょう。そのASには、ローカルASのWebサーバーをターゲットとする複数のネットワークがあります。

BGPを使用してルーターでこのトラフィックを停止するにはどうすればよいですか?

あなたの応答を感謝します!! :)


2
このトラフィックのソースをどのように確立しましたか?送信元IPアドレスだけを見ていた場合、それらはスプーフィングされている可能性があります。リフレクション攻撃が発生している場合、単一のAS内のすべての送信元アドレスをスプーフィングするパケットのフラッドが表示されます。
カスペルド14

何か答えがありましたか?もしそうなら、質問が永遠にポップアップし続けないように答えを受け入れ、答えを探してください。または、独自の回答を提供して受け入れることもできます。
ロンモーピン

回答:


14

BGPでできることは2つあります。

RTBH-リモートトリガーブラックホール

最初のオプションは過激なものです。攻撃を受けるIPのブラックホール(トラフィックを停止)です。欠点:対象のIPに到達できなくなりました。利点:ネットワークの残りの部分が稼働し続けます。Packetlifeには、それがどのように機能し、どのように機能するかについての良い説明があります。2番目のオプションは最初のオプションに基づいています:

ソースベースのRTBH

RTBHは、特定のIPからのトラフィックをブロックするために(特定の構成で)使用することもできます(実際のDDoSでは、数千のIPからのトラフィックほどは役に立たないでしょう)。繰り返しになりますが、Packetlifeには説明があります。

あなたの場合、RADBなどのルーティングデータベースからASのすべてのプレフィックスを取得し、ソースベースのRTBHでこれらをブロックできます。それでも、トラフィックは国境でネットワークに到達します。

「単純な」RTBHを使用する場合、これらのRTBHルートをアップストリームISP(サポートしている場合)に送信できます。アップストリームISPは、ネットワークのトラフィックを既にブロックできるため、処理する必要がありません。


Packetlifeで説明されている方法は有用ですが、アップリンクが攻撃トラフィックで飽和しているシナリオでは役に立ちません。この問題に対処するために上流のブラックホールコミュニティを使用することについての回答を書きました。
エリオット

2
それは私の最後の文にあります:「「シンプルな」RTBHを使用すると、これらのRTBHルートを(サポートしている場合)アップストリームISPに送信できます。それを処理します。」
セバスチャンヴィーシンガー14

私はそれを見ましたが、顧客がトリガーしたブラックホールの方法を詳しく説明し、「それを処理する必要がない」ことは、ブラックホールがそれ以外では効果的ではないことを意味することを指摘したかったのです。より多くの情報を提供するだけで、あなたの答えをノックするつもりはありません:)
エリオット

7

PacketLifeを介して@Sebastianによって記述されたRTBHメソッドは役立ちますが、そのメソッドは、アップリンクが攻撃トラフィックで飽和していない場合にのみ機能します。アップリンクが飽和している場合、攻撃トラフィックがネットワークに到達する前にブラックホールを実装する必要があります。

アップストリームブラックホールコミュニティでこれを実現できます。

ハリケーンエレクトリックは、BGPコミュニティを使用した、顧客によるブラックホールの簡単な説明/例を提供します。

  1. 攻撃開始
  2. 顧客は攻撃を受けているIPまたはIP範囲を特定します
  3. カスタマースタティックはipまたはip範囲をNull0にルーティングし、対応するプレフィックスのアナウンスメントを、6939:666でタグ付けするルートマップとともに追加します。

シスコの設定例(XXXXは攻撃されているIP):

conf t
ip route X.X.X.X 255.255.255.255 Null0
router bgp YourAS
network X.X.X.X mask 255.255.255.255 route-map blackhole
route-map blackhole permit 10
set community 6939:666
end

これ6939:666は、ハリケーンエレクトリック固有のブラックホールコミュニティです。アップストリームプロバイダーのブラックホールコミュニティに対応するように、この値を変更します。

もちろん、これを構成する方法は複数あります。Brocadeギアでは、次の構成を使用します。

router bgp
!
redistribute static route-map blackhole
!
!
route-map blackhole permit  5
 match tag  66
 set community  55555:666

55555:666アップストリームプロバイダーのブラックホールコミュニティはどこにありますか。単純なコマンドを使用して、アップストリームブラックホールを適用できます。

ip route 123.123.123.123 255.255.255.255 null0 tag 66

4

BGPの観点からは、できることはあまりありません。プレフィックスのアドバタイズを停止することもできますが、サービスにアクセスできないため、DoS攻撃を完了しているだけです。

複数のプレフィックスがある場合は、番号を付け直すことができますが、攻撃は新しいプレフィックスにも移動する可能性があります。

あなたがする必要があるのは、あなたのアップストリームで働くことです。スクラブサービスはありますか?Arbor Peakflowなどのシステムを使用している場合、トラフィックがネットワークに入る前にトラフィックをスクラブしてクリーニングできます。そのようなサービスはしばしば非常に高価です。

Cloudflareや同様の会社など、GREトンネルを介してその会社へのBGPをセットアップし、ローカルデバイスよりも多くのトラフィックを処理できる「クラウド」によってトラフィックが処理されるオプションもあります。


0

私はCloudFlareで働いています。ここ数か月でDDOS攻撃を緩和するために開発した知識の一部を共有したいと思います。

まず、多くの人は、アプリケーション層のDDOS攻撃を軽減するためにネットワークレベルの手段に頼っています。BGPブラックホールに飛び込む前に、それがレート制限またはアプリケーション層保護が対処できるものであるかどうかを検討してください。それは言った; 現在、非常に大容量のDDOS攻撃を開始するのは非常に安価です(Open DNS Recursorsの数と攻撃を増幅する方法を考えると)。

エリオットが答えで説明したように、ネットワークが小さい場合、BGPコミュニティを使用してトラフィックをブラックホール化することはうまく機能します。このメカニズムはRFC 3882で文書化されています。ただし、私たちのように、代わりにブラックホールの代わりに攻撃トラフィックを吸収したい場合(つまり、DDOS攻撃データを収集したい場合)、中間ネットワークプロバイダーが混雑するという二次的な損害に注意してください。攻撃を開始しているネットワークのISPと直接ピアリングすることにより、付随的な損害を軽減できます。そうすることで、攻撃者から目的地までの最短パスが得られます。さらに、エニーキャストネットワーク設計を実装できます。これにより、1つのIPアドレスが複数のデータセンターにヒットすることになります(どちらが近いかに応じて)。

明らかに、すべての企業がエニーキャストとピアリングを行うためのインフラストラクチャを持つことは不可能です。そのため、企業はデータセンターに到達する前に悪いトラフィックを除去するためにクラウドサービスにますます注目しています。当然、CloudFlareはそのようなサービスの1つです。


-1

収集したすべての証拠が特定のASからの送信元IPアドレスを持つパケットのフラッドである場合、間違った結論にジャンプしている可能性があります。より可能性の高い説明は、これらのソースIPがスプーフィングされていることです。

リフレクション/増幅攻撃には、被害者の送信元IPアドレスを偽装する大量のパケットの送信が含まれます。これが実際に起こっていることであり、ネットワーク内に攻撃を増幅できるサーバーがある場合、攻撃を非難しているネットワークは実際には被害者であり、攻撃者を支援しています。

このような状況では、ソリューションはトラフィックエンジニアリングを適用するのではなく、増幅攻撃で使用できないようにサーバーを構成することです。これを行う方法は、実際にはネットワークエンジニアリングの問題ではありません。

もちろん、すべてのパケットが1つのASから発信されている可能性があります。問題のあるASからの協力により、パケットが実際にASから発信されていることを確認できます。ただし、そのレベルの協力関係では、攻撃をソースでブロックすることもできます。

あなたが何らかの方法で、パケットが本当にあなたが考えるASから発信されている確認を得ることについて考えていないと仮定すると、ソースでブロックすることはできず、代わりにBGPの手段でブロックしたいこれを達成するための多少危険な方法について読んだことがあります。アイデアは、アナウンスするルートにASパスを追加することです。この付加されたASパスには、それらのパケットのソースのAS番号を含めます。

アナウンスが問題のASのBGPルーターに到達すると、ループを検出し、アナウンスをドロップします。一方、世界の他の地域ではループが発生せず、アナウンスを受け入れません。

それが理論です。実際に機能するかどうかは、いくつかの異なる要因に依存します。たとえば、パケットの発信元のAS番号を実際に使用することに依存します。これは、それらのIPアドレスを通知するAS番号とは異なる場合があります。(そのような違いは正当なものであるか、スプーフィングによるものです。)

ASパスが疑わしい場合、ルートをフィルタリングしないアップストリームにも依存します。さらに、あなたから遠く離れたネットワークも、たとえば、攻撃しているASで悪い経験があり、そこからすべてのルートをドロップすることを決定した場合、ルートをドロップする可能性があります。

このアプローチがリスクに見合うかどうかはあなたの意見です。

(再び見つけられるなら、私はこのアプローチのソースにリンクしていたでしょう。)


2
それは非常に危険なことです。自分が所有していないパスにある別のASをスプーフィングしています。また、他の人がそのASからルートをドロップした場合、彼らもあなたのルートをドロップします。
セバスチャンヴィーシンガー14

1
@Sebastian確かに、そのリスクも存在します。しかし、代替手段がトラフィックであふれているために到達できないネットワークである場合、リスクに見合うだけの価値があるかもしれません。
カスペルド14

これは非常に悪い考えのように聞こえますが、私はそれを聞いたことがありません。ボットネットノードが1つある場合、ASN全体の接続が切断されます。これは、たとえば大規模なクラウドプロバイダーに必要なものではありません。また、何千ものボットネットノードがネットワーク内の何かを攻撃しているDDoSの場合、スケーラビリティが大幅に低下します。
Teun Vink

1
@TeunVink典型的なDDoS攻撃には絶対に適用できません。しかし、OPは典型的なDDoS攻撃について尋ねていません。彼はすべてのトラフィックが1つのASから発信される攻撃について尋ねています。代替策がインターネット全体への接続を切断する攻撃であった場合、1つのASへの接続を切断することは許容されます。
カスペルド14

-2

ローカルネットワークからASをブラックホール化できるため、BGPルーターは、アナウンスするプレフィックスに対してヌルルートを作成します。

プロ:

  • あなたのASは彼らにとって死んでいるように見えますが、それは彼らの目標ですが、あなたはまだ他の人と普通にデータを交換しています。
  • ローカルのイングレスフィルタリングはそのASからの着信パケットを自動的にドロップします

コントラ:

  • ルーター上にブラックホールルートを作成できるため、最も重要なルートをそのまま維持するために適切なルールを設定してください

1
AS全体をブラックホール化すると、最終的に自分でDOSを実行することになります。そのASの他の誰もあなたに連絡できません。顧客もそのASにいる可能性があります。
ロントランク14

1
ここでは敵対的なASを想定しています。つまり、それらを完全にブロックすると価値の記録は失われます。このカテゴリに登録する「防弾ホスティング」サービスがいくつかあります。
サイモンリヒター14

1
ほとんどのASNは完全に敵対的でも友好的でもありません。ボットネットの一部であるいくつかのホストのみが含まれています。また、このアプローチでは、アップストリームリンクがフラッディングするのを防ぐことはできないため、ボリュームベースのDDoS攻撃を停止するのに役立ちません。
Teun Vink
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.