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, von einem Computer oder Router angegriffen zu werden, der so konfiguriert wurde, dass er falsche Routing-Informationen an einen anderen Router weitergibt, erheblich. 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 stark vergrößert werden, wodurch die Leistung beeinträchtigt wird, oder Routing-Informationen können an einen Ort im Netzwerk umgeleitet werden, damit der Angreifer sie analysieren kann. Gefälschte Routenwerbung kann für ein Segment versendet werden. Diese Aktualisierungen können in die Routing-Tabellen benachbarter Router übernommen werden, es sei denn, es ist ein Authentifizierungsmechanismus vorhanden, um die Quelle der Routen zu überprüfen.

Die Router- und Routenauthentifizierung ermöglicht es Routern, Informationen nur dann auszutauschen, wenn sie anhand eines Kennworts (Schlüssels) nachweisen können, dass sie mit einer vertrauenswürdigen Quelle kommunizieren. Bei dieser Methode wird ein gehashter Schlüssel zusammen mit der Route an einen anderen Router gesendet. Der empfangende Router vergleicht den gesendeten Schlüssel mit seinem eigenen konfigurierten Schlüssel. Wenn sie identisch 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 anhand des konfigurierten Schlüssels berechnet. Die Routing-Aktualisierung wird zusammen mit dem Schlüssel als Eingabetext 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 generiert, indem er den darauf konfigurierten vorinstallierten Schlüssel verwendet. Wenn die beiden Hashes identisch sind, wird davon ausgegangen, dass die Route aus einer vertrauenswürdigen Quelle stammt. Der Schlüssel ist nur dem sendenden und dem empfangenden Router bekannt.

Um die Sicherheit weiter zu erhöhen, können Sie eine Reihe von Authentifizierungsschlüsseln (einen Schlüsselbund) konfigurieren. Jeder Schlüssel hat eine eindeutige Startzeit innerhalb des Schlüsselbunds. Mit der Schlüsselbundauthentifizierung können Sie die Kennwortinformationen regelmäßig ändern, ohne die Peering-Sitzungen zu unterbrechen. Diese Schlüsselbund-Authentifizierungsmethode wird als " hitless" bezeichnet, da die Schlüssel von einem Schlüssel zum nächsten übertragen werden, ohne Peering-Sitzungen zurückzusetzen oder das Routing-Protokoll zu unterbrechen.

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

  • Die Startzeit ist kleiner oder gleich der aktuellen Uhrzeit (d. h. nicht in der Zukunft).

  • Die Startzeit ist größer als die aller anderen Schlüssel in der Kette, deren Startzeit kleiner als die aktuelle Zeit ist (d. h. der aktuellen Zeit am nächsten liegt).

Der empfangende Peer bestimmt den Schlüssel, mit dem er sich authentifiziert, basierend auf der eingehenden Schlüssel-ID.

Der sendende 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 (die von IANA zugewiesen wird), die Objektlänge, den aktuellen Schlüssel und einen Hashwert.

Der empfangende Peer untersucht die eingehende TCP-erweiterte Authentifizierungsoption, sucht den empfangenen Authentifizierungsschlüssel und bestimmt, ob der Schlüssel basierend auf der Startzeit, der Systemzeit und dem Toleranzparameter akzeptabel ist. Wenn der Schlüssel akzeptiert wird, berechnet der empfangende Peer einen Hash und authentifiziert die Aktualisierungsnachricht.

Die erstmalige Anwendung eines Schlüsselbunds auf eine TCP-Sitzung führt dazu, 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 Präfix-Subnetze

Junos-Geräte unterstützen die TCP-Authentifizierung bei BGP-Peers, die über zulässige Präfix-Subnetze erkannt werden, die in einer BGP-Gruppe konfiguriert sind.

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

  • [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.Configure TCP Options

Beispiel: Konfigurieren der Routerauthentifizierung für BGP

Der gesamte BGP-Protokollaustausch kann authentifiziert werden, um sicherzustellen, dass nur vertrauenswürdige Routing-Geräte an AS-Routing-Updates (Autonomous System) 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 codierte 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 zum Konfigurieren und Anwenden des Schlüsselbunds:

  • key– Ein Schlüsselbund kann mehrere Schlüssel haben. Jeder Schlüssel innerhalb eines Schlüsselbunds muss durch einen eindeutigen ganzzahligen Wert identifiziert werden. Der Bereich der gültigen Bezeichnerwerte 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 einfügen, schließen Sie alle Zeichen in Anführungszeichen (" ") ein.

  • tolerance—(Optional) Für jeden Schlüsselbund können Sie einen Toleranzwert für die Taktabweichung in Sekunden konfigurieren. Die Taktabweichungstoleranz 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 zulässig.

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

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

  • start-time– Jeder Schlüssel muss eine Startzeit im UTC-Format angeben. Die Steuerung wird von einer Taste zur nächsten weitergegeben. Wenn eine konfigurierte Startzeit eintrifft (basierend auf der Uhr des Routing-Geräts), wird der Schlüssel mit dieser Startzeit aktiv. Die Startzeiten werden in der lokalen Zeitzone für ein Routing-Gerät angegeben und müssen innerhalb des Schlüsselbunds eindeutig sein.

  • authentication-key-chain– Ermöglicht das Anwenden eines Schlüsselbunds 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-Gruppe (EBGP) mit dem Namen definiert sind.ext

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

    Sie verknüpfen einen Schlüsselbund und einen Authentifizierungsalgorithmus mit einer benachbarten BGP-Sitzung.

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. Schlüssel 1 wird ein Jahr später am 2012-6-23.20:19:33 -0700 aktiv und wird nur dann gesendet und akzeptiert, wenn ein anderer Schlüssel mit einer Startzeit konfiguriert ist, die nach der Startzeit von Schlüssel 1 liegt. Eine Taktabweichungstoleranz von 30 Sekunden gilt für den Empfänger, der die Schlüssel akzeptiert. 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 Kennwörter. Dies bedeutet, dass die Nachbarn, die die authentifizierten Routing-Updates erhalten, dieselbe Authentifizierungsschlüsselbundkonfiguration haben müssen, einschließlich derselben Schlüssel (Kennwörter). Daher müssen Router R0 und Router R1 dieselbe Authentifizierungsschlüsselbundkonfiguration aufweisen, wenn sie als Peers konfiguriert sind. Dieses Beispiel zeigt die Konfiguration nur auf einem der Routing-Geräte.

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 sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene ein.[edit]

Verfahren

Schritt-für-Schritt-Anleitung

Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Weitere Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.Verwenden des CLI-Editors im Konfigurationsmodushttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html

So konfigurieren Sie Router R1 so, dass er Routenfilter von Gerät CE1 akzeptiert und die Filterung ausgehender Routen mithilfe der empfangenen Filter durchfü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 Startzeit jedes Schlüssels muss innerhalb des Schlüsselbunds eindeutig sein.

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

  5. (Optional) Wenden Sie einen Toleranzwert für die Taktabweichung in Sekunden an.

Ergebnisse

Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die Befehle , und eingeben.show protocolsshow routing-optionsshow security Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf .commit

Wiederholen Sie den Vorgang für jedes BGP-fähige Gerät im Netzwerk und verwenden Sie dabei die entsprechenden Schnittstellennamen und -adressen für jedes BGP-fähige Gerät.

Überprüfung

Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.

Überprüfen der Authentifizierung für den Nachbarn

Zweck

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

Was

Geben Sie im Betriebsmodus den Befehl ein.show bgp neighbor

Überprüfen, ob Autorisierungsnachrichten gesendet werden

Zweck

Vergewissern Sie sich, dass BGP über die erweiterte Autorisierungsoption verfügt.

Was

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

Überprüfen von Authentifizierungsfehlern

Zweck

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

Was

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

Überprüfen der Funktion des Schlüsselbunds

Zweck

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

Was

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

Tabellarischer Änderungsverlauf

Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie Feature Explorer, um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.

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 so konfigurieren, dass sie den gesamten Adressbereich in diesem Subnetz umfasst.
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 für die TCP-Authentifizierung auf BGP-Peers, die über zulässige Präfix-Subnetze erkannt werden, die in einer BGP-Gruppe konfiguriert sind.