Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP ルート認証

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

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

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

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

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

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

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

受信ピアは、受信鍵識別子に基づいて、認証対象の鍵を決定します。

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

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

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

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 は 1 年後 2012-6-23.20:19:33 -0700 でアクティブになり、鍵 1 の開始時間より後の開始時間で別の鍵が設定されていない限り、送信と受け入れは停止されません。クロックスキューのトレランスが30秒の場合、鍵を受け入れるレシーバーに適用されます。トレランス期間中は、現在のキーまたは以前のキーのいずれかを使用できます。キーは共有秘密パスワードです。つまり、認証済みルーティング更新を受信するネイバーは、同じキー(パスワード)を含む、同じ認証キーチェーン設定を持っている必要があります。そのため、ルーター R0 とルーター R1 は、ピアとして設定されている場合、同じ認証キーチェーン設定を持つ必要があります。この例では、ルーティング デバイスの 1 つだけでの設定を示します。

トポロジー図

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

図 1: BGP の認証BGP の認証

設定

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

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

手順

手順

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

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

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

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

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

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

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

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

結果

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

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

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

検証

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

ネイバーの認証の検証

目的

オプションが コマンドのAutheKeyChainshow 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 入力します。

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