Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP-Routenauthentifizierung

Grundlegendes zur Routerauthentifizierung für BGP

Die Verwendung von Router- und Routenauthentifizierung und Routenintegrität verringert das Risiko eines Angriffs durch einen Computer oder Router, der so konfiguriert wurde, dass er falsche Routing-Informationen an einen anderen Router weiterleitet. Bei dieser Art von Angriff kann der angegriffene Router dazu verleitet werden, eine Routing-Schleife zu erstellen, oder die Routing-Tabelle des angegriffenen Routers kann erheblich erhöht werden, was die Leistung beeinträchtigt, oder Routing-Informationen können an einen Ort im Netzwerk weitergeleitet werden, an den der Angreifer sie analysieren kann. Gefälschte Routenwerbung kann in einem Segment gesendet werden. Diese Updates können in die Routing-Tabellen von Benachbarten Routern akzeptiert werden, es sei denn, es gibt einen Authentifizierungsmechanismus, um die Quelle der Routen zu überprüfen.

Router und Routenauthentifizierung ermöglicht Routern die Weitergabe von Informationen nur, wenn sie anhand eines Kennworts (Schlüssels) überprüfen können, ob sie mit einer vertrauenswürdigen Quelle sprechen. Bei dieser Methode wird ein Hash-Schlüssel mit der Route an einen anderen Router gesendet. Der empfangende Router vergleicht den gesendeten Schlüssel mit seinem eigenen konfigurierten Schlüssel. Wenn sie gleich sind, akzeptiert es die Route. Durch die Verwendung eines Hashing-Algorithmus wird der Schlüssel nicht im Klartext über die Leitung gesendet. Stattdessen wird ein Hash mit dem konfigurierten Schlüssel berechnet. Das Routing-Update wird als Eingabetext zusammen mit dem Schlüssel in die Hashing-Funktion verwendet. Dieser Hash wird zusammen mit der Routenaktualisierung an den empfangenden Router gesendet. Der empfangende Router vergleicht den empfangenen Hash mit einem Hash, den er bei der Routenaktualisierung mit dem darauf konfigurierten vorinstallierten Schlüssel generiert. Wenn die beiden Hashes identisch sind, wird angenommen, dass die Route von einer vertrauenswürdigen Quelle stammt. Der Schlüssel ist nur den sendenden und empfangenden Routern bekannt.

Um die Sicherheit weiter zu stärken, können Sie eine Reihe von Authentifizierungsschlüsseln (einen Schlüsselbund) konfigurieren. Jeder Schlüssel hat eine eigene Startzeit innerhalb des Schlüsselbundes. Die Schlüsselbundauthentifizierung ermöglicht es Ihnen, die Kennwortinformationen in regelmäßigen Abständen zu ändern, ohne Peering-Sitzungen zu reduzieren. Diese Keychain-Authentifizierungsmethode wird als hitless bezeichnet, da die Schlüssel von einer zur nächsten übertragen werden, ohne Peering-Sitzungen zurückzusetzen oder das Routing-Protokoll zu unterbrechen.

Der sendenden Peer verwendet die folgenden Regeln, um den aktiven Authentifizierungsschlüssel zu identifizieren:

  • Die Startzeit ist kleiner oder gleich der aktuellen Zeit (mit anderen Worten, nicht in der Zukunft).

  • Die Startzeit ist größer als die aller anderen Schlüssel in der Kette, deren Startzeit geringer ist als die aktuelle Zeit (mit anderen Worten, näher an der aktuellen Zeit).

Der empfangende Peer bestimmt den Schlüssel, mit dem er sich authentifiziert, basierend auf der Kennung des eingehenden Schlüssels.

Der sendenden Peer identifiziert den aktuellen Authentifizierungsschlüssel basierend auf einer konfigurierten Startzeit und generiert dann einen Hashwert mit dem aktuellen Schlüssel. Der sendende Peer fügt dann ein TCP-erweitertes Authentifizierungsoptionsobjekt in die BGP-Aktualisierungsnachricht ein. Das Objekt enthält eine Objekt-ID (von der IANA zugewiesen), die Objektlänge, den aktuellen Schlüssel und einen Hashwert.

Der empfangende Peer prüft die Option für eingehende TCP-erweiterte Authentifizierung, sucht den empfangenen Authentifizierungsschlüssel und bestimmt, ob der Schlüssel auf Der Grundlage der Startzeit, der Systemzeit und des Toleranzparameters akzeptabel ist. Wenn der Schlüssel akzeptiert wird, berechnet der empfangende Peer einen Hash und authentifiziert die Aktualisierungsnachricht.

Die erste Anwendung eines Schlüsselbundes auf eine TCP-Sitzung bewirkt, dass die Sitzung zurückgesetzt wird. Sobald der Schlüsselbund angewendet wurde, führt das Hinzufügen oder Entfernen eines Kennworts aus dem Schlüsselbund jedoch nicht dazu, dass die TCP-Sitzung zurückgesetzt wird. Außerdem wird die TCP-Sitzung nicht zurückgesetzt, wenn der Schlüsselbund von einem Authentifizierungsalgorithmus zu einem anderen wechselt.

TCP-Authentifizierung

In der Regel konfigurieren Sie die TCP-Authentifizierung auf den folgenden Hierarchieebenen:

  • [edit protocols bgp]

  • [edit protocols bgp group group-name]

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

TCP-Authentifizierung und Prefix-Subnets

Junos-Geräte unterstützen TCP-Authentifizierung für BGP-Peers, die über zugelassene Präfix-Subnetzen entdeckt werden, die in einer BGP-Gruppe konfiguriert sind.

Um präfixbasierte Authentifizierung für TCP-AO oder TCP MD5 für BGP-Sitzungen zu konfigurieren, können Sie die allow (all | prefix-list) Anweisung in den folgenden Hierarchien konfigurieren:

  • [edit protocols bgp group group-name]

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

Weitere Informationen zur TCP-Authentifizierung finden Sie unter TCP.

Beispiel: Konfigurieren der Router-Authentifizierung für BGP

Alle BGP-Protokollaustausche können authentifiziert werden, um zu gewährleisten, dass nur vertrauenswürdige Routing-Geräte an as (Autonomous System)-Routing-Updates teilnehmen. Standardmäßig ist die Authentifizierung deaktiviert.

Anforderungen

Bevor Sie beginnen:

  • Konfigurieren Sie die Routerschnittstellen.

  • Konfigurieren Sie ein Interior Gateway Protocol (IGP).

Überblick

Wenn Sie die Authentifizierung konfigurieren, erstellt der Algorithmus eine kodierte Prüfsumme, die im übertragenen Paket enthalten ist. Das empfangende Routinggerät verwendet einen Authentifizierungsschlüssel (Kennwort), um die Prüfsumme des Pakets zu überprüfen.

Dieses Beispiel enthält die folgenden Anweisungen für die Konfiguration und Anwendung der Schlüsselkette:

  • key— Ein Schlüsselbund kann mehrere Schlüssel haben. Jeder Schlüssel innerhalb eines Schlüsselbundes muss durch einen eindeutigen Integer-Wert identifiziert werden. Der Bereich der gültigen Identifikatoren liegt zwischen 0 und 63.

    Der Schlüssel kann bis zu 126 Zeichen lang sein. Zeichen können beliebige ASCII-Zeichenfolgen enthalten. Wenn Sie Leerzeichen einschließen, schließen Sie alle Zeichen in Anführungszeichen ("").

  • tolerance—(Optional) Für jeden Schlüsselbund können Sie in Sekundenschnelle einen Toleranzwert mit Takt skew konfigurieren. Die Takt-Skew-Toleranz gilt für den Empfänger, der Schlüssel für BGP-Updates akzeptiert. Der konfigurierbare Bereich beträgt 0 bis 999.999.999 Sekunden. Während des Toleranzzeitraums ist entweder das aktuelle oder das vorherige Kennwort akzeptabel.

  • key-chain– Für jeden Schlüsselbund müssen Sie einen Namen angeben. In diesem Beispiel wird eine Schlüsselkette definiert: bgp-auth. Sie können mehrere Schlüsselketten auf einem Routing-Gerät haben. Sie können beispielsweise einen Schlüsselbund für BGP, einen Schlüsselanhänger für OSPF und einen Schlüsselanhänger für LDP haben.

  • secret– Für jeden Schlüssel im Schlüsselbund müssen Sie ein geheimes Kennwort festlegen. Dieses Kennwort kann in der secret Anweisung entweder verschlüsselt oder im Klartextformat eingegeben werden. Es wird immer in verschlüsseltem Format angezeigt.

  • start-time— Jeder Schlüssel muss eine Startzeit im UTC-Format angeben. Die Steuerung wird von einem Schlüssel zum nächsten übergeben. Wenn eine konfigurierte Startzeit eintrifft (basierend auf der Uhr des Routinggeräts), wird der Schlüssel mit dieser Startzeit aktiviert. Startzeiten werden in der lokalen Zeitzone für ein Routinggerät angegeben und müssen innerhalb des Schlüsselbundes eindeutig sein.

  • authentication-key-chain– Ermöglicht die Anwendung eines Schlüsselbundes auf globaler BGP-Ebene für alle Peers, für eine Gruppe oder für einen Nachbarn. In diesem Beispiel wird der Schlüsselbund auf die Peers angewendet, die in der externen BGP (EBGP)-Gruppe namens ext.

  • authentication-algorithm– Für jeden Schlüsselbund können Sie einen Hash-Algorithmus angeben. Der Algorithmus kann AES-128, MD5 oder SHA-1 sein.

    Sie weisen einen Schlüsselanhänger und einen Authentifizierungsalgorithmus mit einer BGP-Nachbarsitzung zu.

In diesem Beispiel wird ein Schlüsselbund mit dem Namen bgp-auth. Schlüssel 0 wird ab 2011-6-23.20:19:33 -0700 gesendet und akzeptiert, und wird nicht mehr gesendet und akzeptiert, wenn der nächste Schlüssel im Schlüsselbund (Schlüssel 1) aktiv wird. Key 1 wird ein Jahr später um 2012-6-23.20:19:33 -0700 aktiv und hört nicht auf, gesendet und akzeptiert zu werden, es sei denn, ein anderer Schlüssel ist mit einer Startzeit konfiguriert, die später ist als die Startzeit von Schlüssel 1. Für den Empfänger, der die Tasten annimmt, gilt eine Takt-Skew-Toleranz von 30 Sekunden. Während des Toleranzzeitraums ist entweder der aktuelle oder der vorherige Schlüssel akzeptabel. Bei den Schlüsseln handelt es sich um gemeinsam genutzte geheime Passwörter. Das bedeutet, dass die Nachbarn, die die authentifizierten Routing-Updates erhalten, dieselbe Authentifizierungs-Schlüsselbundkonfiguration einschließlich der gleichen Schlüssel (Passwörter) haben müssen. Router R0 und Router R1 müssen also dieselbe Authentifizierungsschlüsselkettenkonfiguration haben, wenn sie als Peers konfiguriert sind. In diesem Beispiel wird die Konfiguration auf nur einem der Routing-Geräte dargestellt.

Topologiediagramm

Abbildung 1 zeigt die in diesem Beispiel verwendete Topologie.

Abbildung 1: Authentifizierung für BGPAuthentifizierung für BGP

Konfiguration

CLI-Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen sie auf Hierarchieebene in die [edit] CLI ein.

Verfahren

Schritt-für-Schritt-Verfahren

Im folgenden Beispiel müssen Sie auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.

So konfigurieren Sie Router R1 so, dass er Routenfilter vom Gerät CE1 akzeptiert und ausgehende Routenfilter mithilfe der empfangenen Filter ausführt:

  1. Konfigurieren Sie das lokale autonome System.

  2. Konfigurieren Sie eine oder mehrere BGP-Gruppen.

  3. Konfigurieren Sie die Authentifizierung mit mehreren Schlüsseln.

    Die Anfangszeit jedes Schlüssels muss innerhalb des Schlüsselbundes eindeutig sein.

  4. Wenden Sie den Authentifizierungsschlüsselbund auf BGP an und legen Sie den Hashing-Algorithmus fest.

  5. (Optional) Wenden Sie einen Takt-Skew-Toleranzwert in Sekundenschnelle an.

Ergebnisse

Bestätigen Sie ihre Konfiguration im Konfigurationsmodus, indem Sie die show protocolsBefehle und show securityshow routing-optionsdie Befehle eingeben. Wenn die gewünschte Konfiguration in der Ausgabe nicht angezeigt wird, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, geben Sie im Konfigurationsmodus ein commit .

Wiederholen Sie die Prozedur für jedes BGP-fähige Gerät im Netzwerk und verwenden Sie die entsprechenden Schnittstellennamen und Adressen für jedes BGP-fähige Gerät.

Überprüfung

Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert.

Überprüfung der Authentifizierung für den Nachbarn

Zweck

Stellen Sie sicher, dass die AutheKeyChain Option in der Ausgabe des show bgp neighbor Befehls angezeigt wird.

Aktion

Geben Sie im Betriebsmodus den show bgp neighbor Befehl ein.

Überprüfung der Übermittlung von Autorisierungsmeldungen

Zweck

Bestätigen Sie, dass BGP über die erweiterte Autorisierungsoption verfügt.

Aktion

Geben Sie im Betriebsmodus den monitor traffic interface fe-0/0/1 Befehl ein.

Überprüfung von Authentifizierungsfehlern

Zweck

Überprüfen Sie die Anzahl der Pakete, die durch TCP aufgrund von Authentifizierungsfehlern unterbrochen wurden.

Aktion

Geben Sie im Betriebsmodus den show system statistics tcp | match auth Befehl ein.

Überprüfung des Betriebs des Schlüsselbundes

Zweck

Überprüfen Sie die Anzahl der Pakete, die durch TCP aufgrund von Authentifizierungsfehlern unterbrochen wurden.

Aktion

Geben Sie im Betriebsmodus den show security keychain detail Befehl ein.

Release-Verlaufstabelle
Release
Beschreibung
22.4R1
Ab Junos OS Evolved Version 22.4R1 können Sie die TCP-AO- oder TCP MD5-Authentifizierung mit einem IP-Subnetz konfigurieren, um den gesamten Adressbereich unter diesem Subnetz einzubeziehen.
22.4R1
Ab Junos OS Evolved Version 22.4R1 ist die TCP-Authentifizierung VRF-fähig.
19.1R1
Ab Junos OS Version 19.1R1 erweitert Junos OS die Unterstützung der TCP-Authentifizierung auf BGP-Peers, die über zugelassene Prefix-Subnetzen entdeckt werden, die in einer BGP-Gruppe konfiguriert sind.