Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGPルート認証

BGPのルーター認証について

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

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

セキュリティをさらに強化するために、一連の認証キー( キーチェーン)を設定できます。キーチェーン内の各キーには一意の開始時刻があります。キーチェーン認証により、ピアリングセッションを停止させることなく、パスワード情報を定期的に変更できます。このキーチェーン認証方法は、ピアリングセッションをリセットしたりルーティングプロトコルを中断したりすることなく、キーがロールオーバーするため、 ヒットレス と呼ばれます。

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

  • 開始時刻が現在の時刻以下(つまり、将来ではない)です。

  • 開始時刻は、開始時刻が現在の時刻より短い(つまり、現在の時刻に最も近い)チェーン内の他のすべてのキーの開始時刻よりも長くなります。

受信ピアは、受信キー識別子に基づいて認証に使用するキーを決定します。

送信ピアは、設定された開始時刻に基づいて現在の認証キーを識別し、現在のキーを使用してハッシュ値を生成します。次に、送信ピアは、TCP拡張認証オプションオブジェクトをBGP更新メッセージに挿入します。オブジェクトには、オブジェクトID(IANAによって割り当てられ)、オブジェクト長、現在のキー、およびハッシュ値が含まれます。

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

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

Junos OSは、BGPルート認証に対して、静的認証キーとキーチェーンの2つの認証方法をサポートしています。どちらのアプローチも、BGPピアがルーティング情報を安全に交換するのに役立ちます。

  • 静的認証鍵の方法では、BGP設定内で固定鍵を直接指定します。この方法は、鍵管理が簡単な環境ではより簡単です。

  • キーチェーン方式は柔軟性が高く、キーのローテーションをサポートしてセキュリティを強化します。

詳細な設定と例については、次を参照してください。

BGP認証方法

すべてのBGP認証情報は、TCPパケットヘッダーに保存されます。BGP認証方法は2種類あります。TCP MD5認証とTCP認証オプション(TCP-AO)。同じセッションに対して、両方ではなく、どちらか一方を同時に設定できます。

BGP認証のタイプ
  1. TCP MD5認証(RFC 2385) は、TCPセグメントに適用されるMD5アルゴリズムを使用してキー付きハッシュを採用する、広く使用されている方法です。両方のピアには共有の秘密鍵が必要です。シンプルではありますが、セキュリティに関しては制限があります。

    ジュニパーデバイス上のルーティングプロトコルにMD5認証を設定する場合、キーチェーン認証方法を別途設定する必要はありません。代わりに、MD5キーを直接設定するか、MD5キーを含む認証キーチェーンを使用します。MD5認証には、両端で同じMD5キー設定が必要です。認証方法はMD5で、キーチェーンを使用してキーを管理します。MD5とは別に「キーチェーン認証方法」を設定しません。

    TCP認証オプション(TCP-AO)(RFC 5925) は、MD5よりも堅牢なオプションで、マスターキーを利用してセッションキーを生成し、定期的に変更します。通常はAESを使用します。より強力な保護を提供し、ヒットレスキーのロールオーバーをサポートします。

  2. TCP-AO は、TCP MD5 の拡張または拡張です。事前定義されたスケジュールでローテーションされる複数のパスフレーズを許可することで、認証を強化します。また、MD5よりも多くの認証方法を使用できるようにすることで、TCP MD5を強化します。

TCP認証

通常、TCP認証は以下の階層レベルで設定します。

  • [edit protocols bgp]

  • [edit protocols bgp group group-name]

  • [edit protocols bgp group group-name neighbor address]

TCP認証とプレフィックスサブネット

Junosデバイスは、BGPグループに設定された許可されたプレフィックスサブネットを介して検出されたピアをBGPするためのTCP認証をサポートします。

BGPセッションのTCP-AOまたはTCP MD5のプレフィックスベースの認証を設定するには、以下の階層で allow (all | prefix-list) ステートメントを設定します。

  • [edit protocols bgp group group-name]

  • [edit protocols bgp group group-name dynamic-neighbor dyn-name]

TCP認証の詳細については、 TCPを参照してください。

例:BGPのルーター認証の設定

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

要件

始める前に:

  • ルーター インターフェイスを設定します。

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

概要

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

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

  • key—キーチェーンには複数のキーを含めることができます。キーチェーン内の各キーは、一意の整数値で識別する必要があります。有効な識別子値の範囲は0から 63です 。

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

  • tolerance—(オプション)キーチェーンごとに、秒単位でクロックスキュー許容値を設定できます。クロックスキュー許容範囲は、BGP更新用のキーを受け入れる受信側に適用されます。設定可能な範囲は0〜999,999,999秒です。許容期間中は、現在のパスワードまたは以前のパスワードのいずれかが許容されます。

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

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

  • start-time—各キーは、UTC形式で開始時刻を指定する必要があります。制御は、あるキーから次のキーに渡されます。設定された開始時刻(ルーティングデバイスのクロックに基づいて)が到達すると、その開始時刻のキーがアクティブになります。開始時刻は、ルーティングデバイスのローカルタイムゾーンで指定され、キーチェーン内で一意である必要があります。

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

  • authentication-algorithm—各キーチェーンに対して、ハッシュアルゴリズムを指定できます。アルゴリズムは、AES-128、MD5、またはSHA-1です。

    キーチェーンと認証アルゴリズムを、BGPネイバーセッションに関連付けます。

この例では、 bgp-authという名前のキーチェーンを設定します。キー0は2011-6-23.20:19:33 -0700から送信および受け入れられ、キーチェーン内の次のキー(キー1)がアクティブになると送信および受け入れが停止されます。キー1は、1年後の2012-6-23.20:19:33 -0700にアクティブになり、キー1の開始時刻より後の開始時間で別のキーが設定されない限り、送信と受け入れが停止することはありません。30秒のクロックスキュー許容範囲は、鍵を受け入れる受信側に適用されます。許容期間中は、現在のキーまたは以前のキーのいずれかが許容されます。キーは共有秘密のパスワードです。つまり、認証されたルーティングの更新を受信するネイバーは、同じキー(パスワード)を含め、同じ認証キーチェーン設定を持っている必要があります。そのため、ルーターR0とルーターR1がピアとして設定されている場合、同じ認証キーチェーン設定が必要です。この例では、一方のルーティングデバイスのみでの設定を示しています。

トポロジー図

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

図1:BGPAuthentication for BGPの認証

設定

CLIクイックコンフィグレーション

この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、 [edit] 階層レベルのCLIにコマンドをコピー アンド ペーストします。

手順

ステップバイステップの手順

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

ルーターR1がデバイスCE1からのルート・フィルターを受信し、受信したフィルターを使用してアウトバウンド・ルート・フィルタリングを実行するように設定するには:

  1. ローカルの自律システムを設定します。

  2. 1つ以上のBGPグループを設定します。

  3. 複数のキーで認証を設定します。

    各キーの開始時刻は、キーチェーン内で一意である必要があります。

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

  5. (オプション)秒単位でクロックスキュー許容値を適用します。

結果

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

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

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

検証

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

ネイバーの認証の検証

目的

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

アクション

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

認証メッセージが送信されたことの確認

目的

BGPに拡張認証オプションがあることを確認します。

アクション

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

認証エラーのチェック

目的

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

アクション

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

キーチェーンの動作の検証

目的

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

アクション

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

変更履歴テーブル

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。

リリース
説明
22.4R1
Junos OS Evolvedリリース22.4R1以降、IPサブネットでTCP-AOまたはTCP MD5認証を設定して、そのサブネットの下にアドレス全体を含めることができます。
22.4R1
Junos OS Evolvedリリース22.4R1以降、TCP認証はVRF認識です。
19.1R1
Junos OSリリース19.1R1以降、Junos OSはTCP認証のサポートを、BGPグループに設定された許可されたプレフィックスサブネットを介して検出されたBGPピアに拡張します。