Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ルート認証の BGP

BGP のルーター認証とは

ルーターとルートの認証とルートの整合性を使用すると、不正なルーティング情報を他のルーターと共有するように設定されたマシンまたはルーターによって攻撃が行われるリスクが大幅に軽減されます。この種の攻撃では、攻撃を受けたルーターをだましてルーティング ループを作り出したり、攻撃を受けたルーターの ルーティング テーブル を大幅に増やしてパフォーマンスに影響を与え、ルーティング情報をネットワーク内の特定の場所にリダイレクトして、攻撃者が分析したりすることができます。偽のルートアドバタイズはセグメントに送信できます。これらの更新は、ルートの送信元を確認するための認証メカニズムが導入されていない限り、近傍ルーターのルーティングテーブルに反映させることができます。

ルーターとルート認証により、ルーターは、パスワード (キー) に基づいて、信頼されたソースと通信していることを確認できる場合にのみ、情報を共有できるようになります。この方法では、別のルーターに送信するルートとともに、ハッシュキーが送信されます。受信側ルーターは、送信されたキーを自身の構成済みキーと比較します。両者が同じであれば、ルートを受け入れます。ハッシュアルゴリズムを使用することで、鍵はプレーンテキストで送信されません。代わりに、設定されたキーを使用してハッシュが計算されます。ルーティング更新は、ハッシュ機能の入力テキストとして使用されます。このハッシュは、ルート更新とともに受信側ルーターに送信されます。受信側ルーターは、受信したハッシュと、それに構成された事前共有鍵を使用してルート更新で生成したハッシュを比較します。2つのハッシュが同じであれば、信頼されたソースからのルートを前提としています。この鍵は、送信側ルーターと受信側ルータにのみ知られています。

セキュリティをさらに強化するために、一連の認証キー (キーチェーン) を設定できます。キーチェーン内には、それぞれに固有の開始時刻があります。キーチェーン認証を使用すると、ピアリングセッションを停止することなく、パスワード情報を定期的に変更できます。このキーチェーン認証方法は、ピアリングセッションをリセットしたりルーティングプロトコルを中断したりすることなく、鍵が1台から2つ目にロールオーバーするため、低消費と見なされます。

送信側ピアは、次のルールを使用して、アクティブな認証キーを識別します。

  • 開始時刻が現在の時刻以下である。つまり、未来ではないということです。

  • 開始時刻が現在の時刻よりも短くなるチェーン内の他のすべてのキー (現在の時間に最も近い時刻) よりも前の時刻を表すことはありません。

受信側ピアは、入力されたキー識別子に基づいて、認証の対象となるキーを決定します。

送信側ピアは、設定された開始時刻に基づいて現在の認証キーを識別し、現在のキーを使用してハッシュ値を生成します。その後、送信側ピアは、BGP update メッセージに TCP エンハンス認証オプションオブジェクトを挿入します。このオブジェクトには、オブジェクト ID (IANA によって割り当て)、オブジェクトの長さ、現在のキー、ハッシュ値が格納されています。

受信側ピアは、受信した TCP エンハンス認証オプションを調べ、受信した認証キーを検索し、開始時刻、システム時刻、許容誤差パラメーターに基づいてキーが受け入れられるかどうかを判断します。キーが受け入れられた場合、受信側ピアはハッシュを計算し、更新メッセージを認証します。

キーチェーンを TCP セッションに最初に適用すると、セッションがリセットされます。ただし、キーチェーンが適用されると、キーチェーンからパスワードを追加または削除しても TCP セッションがリセットされることはありません。また、キーチェーンが認証アルゴリズムによって変更された場合でも、TCP セッションをリセットすることはありません。

注:

リリース 19.1 R1 では、BGP グループに設定されているプレフィックスサブネットによって検出された BGP ピアへの TCP 認証のサポートが Junos OS 拡張されています。Junos OS リリース19.1 より前のリリースでは、BGP 階層レベル[edit protocols bgp group group-name neighbor address][edit protocols bgp group group-name] TCP 認証をサポートしています。Junos OS リリース19.1 で開始すると、allow ステートメントで TCP 認証を[edit protocols bgp group group-name dynamic-neighbor dyn-name]階層レベルで設定できます。

例:BGP のルーター認証の構成

すべての BGP プロトコル交換を認証して、信頼されたルーティングデバイスだけが自律システム (AS) ルーティング更新に参加することを保証できます。デフォルトでは、認証は無効になっています。

要件

開始する前に:

  • ルーターのインターフェイスを構成します。

  • 内部ゲートウェイプロトコル (IGP) を設定します。

概要

認証を構成すると、このアルゴリズムにより、送信されたパケットに含まれるエンコード済みチェックサムが作成されます。受信ルーティング デバイスは、認証キー(パスワード)を使用してパケットのチェックサムを検証します。

この例には、キーチェーンを設定して適用するための以下のステートメントが含まれています。

  • key—キーチェーンには複数のキーを設定できます。キーチェーン内の各鍵は、ユニークな整数値によって識別される必要があります。有効な識別子値の範囲は 0~63 です。

    キーの長は最大 126 文字です。文字には、任意の ASCII 文字列を含めることができます。スペースを含める場合は、すべての文字を引用符(" ")で囲みます。

  • tolerance—(オプション)キーチェーンごとに、クロック スキュー許容値を数秒で設定できます。クロックスキューの許容範囲は、BGP 更新の受信者の受付キーに適用されます。設定可能な範囲は、0 ~ 999999999 秒です。許容期間中は、現在または以前のパスワードのどちらかが受け入れられます。

  • key-chain—キーチェーンごとに、名前を指定する必要があります。この例では、1つのキーチェーンを定義します。bgp-auth。ルーティングデバイス上に複数のキーチェーンを持つことができます。たとえば、BGP、OSPF のキーチェーン、LDP のキーチェーンを持つことができます。

  • secret—キーチェーンの各キーについて、秘密パスワードを設定する必要があります。このパスワードは、 secret暗号化またはプレーンテキスト形式で文に入力できます。常に暗号化された形式で表示されます。

  • start-time—各キーは、開始時刻を先のコマンドと同じ形式で指定する必要があります。制御は、1つのキーから次の鍵へと渡されます。設定した開始時間が到着すると(ルーティング デバイスのクロックに基づいて)、開始時間を持つ鍵がアクティブになります。ルーティングデバイスの場合、ローカルタイムゾーンで開始時刻が指定され、キーチェーン内で一意である必要があります。

  • authentication-key-chain—すべてのピア、グループ、ネイバーにBGPレベルでキーチェーンを適用できます。この例では、キーチェーンを外部 BGP (EBGP) グループに定義されextているピアに適用します。

  • authentication-algorithm—キーチェーンごとに、ハッシュ アルゴリズムを指定できます。このアルゴリズムは AES-128、MD5、または SHA-1 にすることができます。

    キーチェーンと認証アルゴリズムは、BGP の隣接セッションに関連付けられています。

この例では、とbgp-authいう名前のキーチェーンを設定しています。キー0は2011年-6-23.20:19:33-0700 によって送信されて受け入れられ、キーチェーンの次のキー (key 1) がアクティブになると、送信と受け入れが停止します。キー1は2012年後半に1年間アクティブになります。 23.20:19:33-0700、別のキーが設定されていない場合、その開始時刻がキー1の開始時刻よりも後になっていないと、送信や受け付けが行われません。クロックスキュー許容値30秒は、キーを受け付ける受信者に適用されます。許容期間中は、現在または以前のいずれかのキーが受け入れられます。キーは共有シークレットのパスワードです。これは、認証されたルーティング更新を受信した近隣は同じキー (パスワード) を含む同じ認証キーチェーン構成を持つ必要があることを意味します。したがって、ルーター R0 およびルーター R1 は、ピアとして設定されている場合は、同じ認証キーチェーン構成を持つ必要があります。この例では、1つのルーティングデバイスの設定のみを示しています。

トポロジー図

図 1は、この例で使用されているトポロジを示しています。

図 1: BGP のための認証BGP のための認証

構成

CLI クイック構成

この例を簡単に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細情報を変更してから、コマンド[edit]を階層レベルで CLI にコピー & ペーストします。

手順

順を追った手順

次の例では、構成階層のさまざまなレベルを移動する必要があります。デバイスのナビゲーションの詳細については、「 CLI ガイド 」の「 設定モードでの CLI Junos OS CLI エディター の使用 」 を参照してください

デバイス CE1 からルートフィルターを受け入れ、受信したフィルターを使用してアウトバウンドのルートフィルタリングを実行するようにルーター R1 を構成するには、次の手順に従います。

  1. ローカル自律システムを構成します。

  2. 1つまたは複数の BGP グループを構成します。

  3. 複数のキーを使用して認証を構成します。

    鍵の開始時刻はキーチェーン内でユニークでなければなりません。

  4. BGP に認証キーチェーンを適用し、ハッシュアルゴリズムを設定します。

  5. ナクロックスキュー許容誤差値を秒単位で適用します。

結果

設定モードから、、、およびshow protocolsshow routing-optionsshow securityコマンドを入力して設定を確認します。出力に意図した構成が表示されない場合は、この例の手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定commitモードから入力します。

ネットワーク内のすべての BGP 対応デバイスについて、それぞれの BGP 対応デバイスに適切なインターフェイス名とアドレスを使用して、この手順を繰り返します。

検証

構成が正常に機能していることを確認します。

近隣ノードの認証を確認する

目的

AutheKeyChainオプションがshow bgp neighborコマンドの出力に表示されていることを確認してください。

アクション

動作モードから、 show bgp neighborコマンドを入力します。

認証メッセージが送信されたことを確認しています

目的

BGP が強化された認証オプションを備えていることを確認します。

アクション

動作モードから、 monitor traffic interface fe-0/0/1コマンドを入力します。

認証エラーの確認

目的

認証エラーが原因で TCP によってドロップされたパケット数を確認します。

アクション

動作モードから、 show system statistics tcp | match authコマンドを入力します。

キーチェーンの動作の確認

目的

認証エラーが原因で TCP によってドロップされたパケット数を確認します。

アクション

動作モードから、 show security keychain detailコマンドを入力します。