Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

TCP-Authentifizierungsoption (TCP-AO)

ZUSAMMENFASSUNG Erfahren Sie mehr über TCP-Authentifizierungsoption (TCP-AO) für BGP- und LDP-Sitzungen.

TCP-AO für BGP- und LDP-Sitzungen

Die BGP- und LDP-Protokolle verwenden TCP für den Transport. TCP-AO ist eine neue Authentifizierungsmethode, die durch RFC5925, die TCP-Authentifizierungsoption, vorgeschlagen wird, um die Sicherheit und Authentizität von TCP-Segmenten zu verbessern, die während BGP- und LDP-Sitzungen ausgetauscht werden. Außerdem unterstützt es sowohl IPv4- als auch IPv6-Datenverkehr.

Vorteile von TCP-AO

TCP-AO bietet gegenüber TCP MD5 die folgenden Vorteile:

  • Stärkere Algorithmen: Unterstützt mehrere stärkere Authentifizierungsalgorithmen wie HMAC-SHA-1-96 und AES-128-CMAC-96 (vorgeschrieben durch RFC5925, Die TCP-Authentifizierungsoption). HMAC-SHA-1-96 ist ein Hash-basiertes MAC und AES-128-CMAC-96 ist ein chiffrenbasierter MAC, wodurch die Nachrichten-Digest komplexer und sicherer wird als der Digest, der mit dem MD5-Algorithmus erstellt wird.

  • Zweifache Sicherheit: Bei der TCP-AO-Methode wird der konfigurierte Authentifizierungsalgorithmus in zwei Schritten verwendet: Einmal wird ein interner Datenverkehrsschlüssel aus einem vom Benutzer konfigurierten Schlüssel generiert und anschließend ein Nachrichten-Digest mithilfe des generierten Datenverkehrsschlüssels generiert, während bei der TCP MD5-Methode der MD5-Algorithmus mithilfe des vom Benutzer konfigurierten Schlüssels einen Nachrichten-Digest generiert.

  • Bessere Schlüsselverwaltung und Agilität: Sie können bis zu 64 Schlüssel für eine Sitzung konfigurieren und während der Lebensdauer einer Sitzung jederzeit hinzufügen. Es bietet einen einfachen Schlüsselkoordinationsmechanismus, indem es die Möglichkeit gibt, Schlüssel innerhalb derselben Verbindung zu ändern (von einem Schlüssel zu einem anderen zu bewegen), ohne dass die TCP-Verbindung geschlossen wird. Das Ändern der TCP MD5-Schlüssel während einer eingerichteten Verbindung kann zu einem Flaps oder einem Neustart der Verbindung führen.

  • Geeignet für langlebige Verbindungen – Besser geeignet für langlebige Verbindungen für Routing-Protokolle wie BGP und LDP und über wiederholte Instanzen einer einzigen Verbindung.

Was ist TCP-AO?

TCP-AO bietet ein Framework für:

  • Unterstützen Sie mehrere stärkere Algorithmen wie HMAC-SHA1 und AES-128, um einen internen Datenverkehrsschlüssel und einen Message Digest zu erstellen.

  • Fügen Sie einen neuen vom Benutzer konfigurierten Schlüssel hinzu, um interne Datenverkehrsschlüssel für eine bestehende Verbindung erneut zu generieren, und einen Mechanismus zur Synchronisierung von Schlüsseländerungen zwischen BGP- oder LDP-Peers.

In früheren Versionen unterstützten Junos-Geräte nur die TCP MD5-Authentifizierungsmethode für BGP- und LDP-Sitzungen. Die MD5-Methode unterstützt nur den MD5-Algorithmus, der weniger sicher ist als TCP-AO. Darüber hinaus unterbrochen das Ändern eines MD5-Schlüssels normalerweise die TCP-Sitzung, im Gegensatz zu TCP-AO. TCP MD5 ist in RFC2385, Schutz von BGP-Sitzungen über die TCP MD5-Signaturoption definiert. Weitere Informationen zu TCP MD5 finden Sie unter TCP.

Hinweis:
  • Obwohl Junos-Geräte sowohl die Authentifizierungsmethoden TCP-AO als auch TCP MD5 unterstützen, können Sie nicht beide gleichzeitig für eine bestimmte Verbindung verwenden.

  • TCP-AO unterstützt Nonstop Active Routing.

Im folgenden Diagramm wird der Unterschied zwischen TCP-AO- und TCP MD5-Authentifizierung erläutert. Der erste Datenstrom zeigt den Konfigurations- und Verarbeitungsfluss für TCP-AO und der zweite Datenstrom den Konfigurations- und Verarbeitungsfluss für TCP-MD5.

Abbildung 1: TCP-AO im Vergleich zu TCP MD5 TCP-AO in comparison with TCP MD5

Nachfolgend finden Sie eine Erklärung der in Abbildung 1 dargestellten Verarbeitungsströme:

  • TCP-AO: Der Benutzer hat zwei Schlüssel im Schlüsselbund (Schlüssel 0 und Schlüssel 1) mit allen erforderlichen Parametern konfiguriert. Der Schlüsselbund unterstützt zwei Algorithmen: HMAC SHA1 und AES-128 (vorgeschrieben pro RFC5925). TCP ruft Schlüssel 0 ab, der Schlüssel, der derzeit aktiv ist, wie der Zeitstempel in der Abbildung zeigt. In diesem Beispiel wird Schlüssel 0 mit HMAC-SHA1 konfiguriert.

    SHA1 nimmt den "geheimen" (aus der Schlüssel-0-Konfiguration) und die verbindungsspezifischen Parameter für die Verschlüsselung und generiert einen internen Datenverkehrsschlüssel.

    SHA1 verschlüsselt erneut den internen Datenverkehrsschlüssel und das TCP-Segment, um den Message Digest zu generieren. Der Digest wird in das TCP-AO MAC-Feld der TCP-AO-Option im TCP-Segment kopiert. Das Segment wird dann an das Empfangsgerät gesendet.

  • TCP-MD5: Der Benutzer hat einen einzigen Schlüssel konfiguriert, da die TCP MD5-Option nur einen Schlüssel für eine Verbindung unterstützt. Darüber hinaus unterstützt es nur den MD5-Algorithmus. Der MD5-Algorithmus nimmt den "geheimen" Schlüssel und das TCP-Segment für die Verschlüsselung und generiert einen Message Digest. Dieser Nachrichten-Digest wird dann in das MD5-Digest-Feld im TCP-Segment kopiert und an das Empfangsgerät gesendet.

Konfiguration

Konfigurieren Sie zunächst einen Schlüsselbund. Wenden Sie dann TCP-AO auf die BGP- oder LDP-Sitzung an.

Um einen Schlüsselbund für TCP-AO (mit einem Schlüssel) zu konfigurieren, konfigurieren Sie die folgende Anweisung auf Hierarchieebene [edit security] .

Um TCP-AO auf eine BGP-Sitzung anzuwenden (mit der konfigurierten Schlüsselkette), konfigurieren Sie die folgende Anweisung auf Hierarchieebene [edit protocols] .

Um TCP-AO auf eine LDP-Sitzung anzuwenden (mit dem konfigurierten Schlüsselbund), konfigurieren Sie die folgende Anweisung auf Hierarchieebene [edit protocols] .

Beispiel: Konfigurieren eines Schlüsselbundes (TCP-AO)

ZUSAMMENFASSUNG In diesem Beispiel erfahren Sie, wie Sie einen TCP-AO-Schlüsselbund erstellen, um eine BGP- oder LDP-Sitzung zu authentifizieren.

In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:

  • Router der MX- oder PTX-Serie.

  • Junos OS Version 20.3R1 oder höher.

In diesem Beispiel erfahren Sie, wie Sie einen TCP-AO-Schlüsselbund erstellen, um eine BGP- oder LDP-Sitzung zu authentifizieren.

In diesem Beispiel können Sie einen Schlüsselbund mit zwei Schlüsseln new_auth_key key 0 und key 1 auf den Geräten R1 und R2 erstellen.

  1. Um einen Schlüsselbund new_auth_key mit dem ersten Schlüssel zu erstellen, (key 0):
    Hinweis:

    Kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche und ändern Sie alle Details, die zur Übereinstimmung mit Ihrer Netzwerkkonfiguration erforderlich sind. Kopieren Sie die Befehle und fügen Sie sie in die CLI ein.

    R1

    R2 (mit send-id und recv-id werten umgekehrt)

    Berücksichtigen Sie beim Konfigurieren einer Schlüsselkette die folgenden Parameter:

    Tabelle 1: Keychain-Parameter

    Parameter

    Beschreibung

    key-chain

    Geben Sie einen eindeutigen Namen ein.

    key

    Geben Sie eine eindeutige Schlüssel-ID ein.

    secret

    Geben Sie ein eindeutiges Kennwort ein.

    start-time

    Geben Sie einen eindeutigen Zeitpunkt im YYYY-MM-DD.HH:MM Format ein, um die Startzeit des Schlüssels anzugeben.

    algorithm

    aoAlgorithmus eingeben.

    send-id Und recv-id

    Geben Sie zwei beliebige Zahlen zwischen 0 und 255 ein. Sie dürfen diese Zahlen für keinen anderen Schlüssel innerhalb dieses Schlüsselbundes verwenden.

    cryptographic-algorithm

    Wählen Sie entweder hmac-sha-1-96 oder aes-128-cmac-96.

    tcp-ao-option

    Aktivieren Sie enabled die TCP-AO-Option.

  2. Um einen weiteren Schlüssel (key 1) hinzuzufügen, nach dem Erstellen key 0:

    R1

    R2 (mit send-id und recv-id werten umgekehrt)

  3. Geben Sie commit auf beiden Geräten über den Konfigurationsmodus ein, um Ihre Änderungen zu aktivieren.
  4. Verwenden Sie den Befehl aus dem Konfigurationsmodus, um den Schlüsselbund mit den konfigurierten show security authentication-key-chains 2 Schlüsseln new_auth_key zu überprüfen.

    Die folgende Beispielausgabe basiert auf diesem Beispiel:

Sie haben erfolgreich einen Schlüsselbund erstellt!

Verwenden Sie den Befehl aus dem delete security authentication-key-chains key-chain key-chain-name Konfigurationsmodus, um einen Schlüsselbund zu löschen.

Hinweis:
  • Sie können während ihrer Lebensdauer nur einen TCP-AO-Schlüsselbund mit einer BGP- oder LDP-Sitzung verknüpfen. Sie können nicht in ihrer Lebensdauer einen anderen Schlüsselbund auf die Sitzung verweisen.

  • Wir empfehlen ein Mindestintervall von 30 Minuten zwischen der Startzeit von zwei weiteren Schlüsseln in einem Schlüsselbund.

  • Sobald ein Schlüsselbund konfiguriert ist und von einer TCP-Verbindung verwendet wird, können Sie die send-id Werte des recv-id aktiven Schlüssels nicht mehr ändern. Sie können jedoch die anderen Parameter im Schlüssel ändern, und jede neue Verbindung, die dem aktualisierten Schlüsselbund zugeordnet ist, nimmt die aktualisierten Parameter für ihre Verbindungseinrichtung an.

  • Ab Junos OS Version 21.2R1 können Sie den tcpao-auth-mismatch allow-without-tcpao Verbindungsaufbau ohne TCP-AO zulassen, wenn auf einem TCP-Endgerät kein TCP-AO konfiguriert ist.

Verwenden Sie den show security keychain Befehl, um Informationen über vorhandene Schlüsselketten (falls vorhanden) aus dem Betriebsmodus anzuzeigen. Hier ist eine Beispielausgabe:

Beispiel: Verwenden Sie TCP-AO zum Authentifizieren einer BGP-Sitzung

ZUSAMMENFASSUNG In diesem Beispiel erfahren Sie, wie Sie eine BGP-Sitzung mithilfe eines TCP-AO-Schlüsselbundes (TCP-AO) authentifizieren.

Anforderungen

In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:

Übersicht

BGP verwendet TCP als Transportprotokoll. TCP-AO ist eine Methode, mit der Sie BGP-Sitzungen authentifizieren können. Sie können einen TCP-AO-Schlüsselbund auf dem BGP-Nachbarn oder auf BGP-Gruppenebene der Konfigurationshierarchie anwenden.

Topologie

Abbildung 2: Topologie für BGP-Authentifizierung Topology for BGP Authentication

Konfiguration

In diesem Beispiel weisen Sie den TCP-AO-Authentifizierungs-Schlüsselbund new_auth_key und den Authentifizierungsalgorithmus ao auf beiden Geräten zu, um eine BGP-Sitzung zu authentifizieren.

CLI-Schnellkonfiguration

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

R1

R2

Schritt-für-Schritt-Verfahren

  1. Gehen Sie in den Konfigurationsmodus.

  2. Konfigurieren Sie grundlegende Einstellungen wie die IP-Adresse der Schnittstelle, Schnittstellenbeschreibung, eine Loopback-Adresse, Router-ID und AS-Nummer auf beiden Geräten.

    R1

    R2

  3. Konfigurieren Sie eine EBGP zwischen R1 und R2.

    R1

    R2

  4. Weisen Sie den Authentifizierungsschlüsselbund new_auth_key und den Authentifizierungsalgorithmus ao der BGP-Sitzung auf beiden Geräten zu.

    R1

    R2

  5. Geben Sie commit auf beiden Geräten über den Konfigurationsmodus ein.

    Sobald Sie die Konfigurationsanweisungen auf beiden Geräten festlegen, sollte die BGP-Sitzung mit der TCP-AO-AO-Authentifizierungsmethode hergestellt werden.

Ergebnisse

Bestätigen Sie Ihre Konfigurationen mithilfe von show interfaces, show routing-optionsund show protocols Befehlen aus dem Konfigurationsmodus.

user@R1# show interfaces

user@R1# show routing-options

user@R1# show protocols

Überprüfung

Einrichtung einer BGP-Sitzung überprüfen
Zweck

Bestätigen Sie die Ausgabe der BGP-Sitzungseinrichtung nach aktivierung von TCP-AO.

Aktion

Zeigen Sie eine BGP-Zusammenfassung des BGP-Sitzungsstatus mit dem show bgp summary Betriebsmodus-Befehl an.

Bedeutung

Die hervorgehobenen Ausgabewerte zeigen an, dass BGP vor 1:19 Minute erfolgreich eine Sitzung mit der TCP-AO-Authentifizierungsmethode eingerichtet hat.

Überprüfen, ob die BGP-Sitzung TCP-AO verwendet
Zweck

Überprüfen Sie, ob ein BGP-Nachbarn mit dem TCP-AO-Schlüsselbund authentifiziert wurde.

Aktion

Verwenden Sie den show bgp neighbor neighbor Befehl, um Konfigurationsdetails für BGP-Peers anzuzeigen. Um nur authentifizierungsspezifische Details in der Ausgabe zu filtern, verwenden Sie die Pipe-Funktion (|) und passen Sie an authentication, wie dargestellt:

Bedeutung

Die Ausgabe zeigt an, dass der Authentifizierungsschlüsselbund new_auth_key und der Authentifizierungsalgorithmus ao auf den BGP-Nachbarn 192.0.2.2angewendet werden.

Beispiel: Verwenden Sie TCP-AO zum Authentifizieren einer LDP-Sitzung

ZUSAMMENFASSUNG In diesem Beispiel wird gezeigt, wie Sie eine LDP-Sitzung mithilfe eines TCP-AO-Schlüsselbundes (TCP-AO) authentifizieren.

Anforderungen

In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:

Übersicht

Label Distribution Protocol (LDP) ist ein MPLS-Signalübertragungsprotokoll. Es ermöglicht Routern, Label-Switched Paths (LSPs) über ein Netzwerk einzurichten. TCP-AO verbessert die Sicherheit von Sitzungen, die zwischen LDP-Peers erstellt werden.

Abbildung 3: Topologie für die LDP-Konfiguration Topology for LDP Configuration

Konfiguration

In diesem Beispiel weisen Sie die TCP-AO-Authentifizierungs-Schlüsselkette new_auth_key und den Authentifizierungsalgorithmus ao beiden Geräten zu, um ihre LDP-Sitzung zu authentifizieren.

CLI-Schnellkonfiguration

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

R1

R2

Schritt-für-Schritt-Verfahren

  1. Gehen Sie in den Konfigurationsmodus.

  2. Konfigurieren Sie die grundlegende Einrichtung wie Geräteschnittstelle, Loopback, Schnittstellenbeschreibung, Router-ID, AS-Nummer auf R1 und R2.

    R1

    R2

  3. Konfigurieren Sie MPLS und LDP auf beiden Geräten.

    R1

    R2

  4. Konfigurieren Sie ein Interior Gateway Protocol (IGP), um die Erreichbarkeit von Loopback-Adressen anzukündigen. In diesem Beispiel konfigurieren wir OSPF.

    R1

    R2

  5. Zuordnen authentication-key-chain new_auth_key und authentication-algorithm ao mit der Label-Space-ID von R1 und R2.

    R1

    R2

  6. Geben Sie die Eingabe commit über den Konfigurationsmodus auf beiden Geräten ein.

Ergebnisse

Bestätigen Sie Ihre Konfiguration mithilfe von show interfaces" und show protocols show routing-options "Befehlen".

user@R1# show interfaces

user@R1# show routing-options

user@R1# show protocols

Überprüfung

LDP-Sitzung überprüfen

Zweck

LDP-Sitzungseinrichtung mit TCP-AO überprüfen.

Aktion

Verwenden Sie den show ldp session detail Betriebsmodus-Befehl, um zu überprüfen, ob die LDP-Sitzung korrekt eingerichtet wurde.

Bedeutung

Die Ausgabe zeigt an, dass die LDP-Sitzung eingerichtet ist.

Beispiel: Verwenden Sie TCP-AO zur Authentifizierung von RPKI-Validierungssitzungen

Übersicht

Resource Public Key Infrastructure (RPKI) ist ein Infrastruktur-Framework für öffentlichen Schlüssel, das zur Sicherung der Routing-Infrastruktur des Internets, insbesondere des BGP, entwickelt wurde. RPKI bietet eine Möglichkeit, Internetnummernressourceninformationen wie IP-Adressen mit einem Vertrauensanker zu verbinden. Durch die Verwendung von RPKI können legitime Inhaber von Nummernressourcen den Betrieb von Internet-Routing-Protokollen kontrollieren, um Routen-Hijacking und andere Angriffe zu verhindern.

Ab Junos OS Version 22.2R1 können Sie RPKI-Sitzungen mithilfe von TCP-AO -Option (TCP-AO) und Schlüsselbund authentifizieren.

In diesem Beispiel wird gezeigt, wie Sie eine RPKI-Validierungssitzung mithilfe eines TCP-AO-Schlüsselbundes authentifizieren. Wir erstellen eine authentifizierte RPKI-Sitzung zwischen einem Client-Gerät (R1) und einem Server (R2).

Anforderungen

In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:

  • 2 Router der MX-Serie
  • Junos OS Version 22.2R1 oder höher.

Topologie

Abbildung 4: Topologie für authentifizierte RPKI-Sitzung Topology for Authenticated RPKI Session

Konfiguration

In diesem Beispiel müssen Sie den TCP-AO-Authentifizierungs-Schlüsselbund new_auth_key und den Authentifizierungsalgorithmus ao auf beiden Geräten zuordnen, um eine RPKI-Verbindung zu authentifizieren.

CLI-Schnellkonfiguration

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

R1

R2

Schritt-für-Schritt-Verfahren

  1. Konfigurieren Sie grundlegende Einstellungen wie Schnittstellen, eine Loopback-Adresse, Router-ID und AS-Nummer auf beiden Geräten. Auf R2 konfigurieren wir die logische Systemschnittstelle für den Server.

    R1

    R2

  2. Konfigurieren Sie eine TCP-Sitzung auf dem Clientgerät (R1) mit dem RPKI-Server (R2) mit einer alternativen TCP-Portnummer.

    R1

  3. Konfigurieren Sie auf dem Server R2 eine RPKI-Sitzung mit dem Client R1 für die Ursprungsvalidierung.

  4. Erstellen Sie einen Schlüsselbund new_auth_key mit dem ersten Schlüssel (Schlüssel 0):

    R1

    R2 (mit umgekehrten Send-ID- und Recv-ID-Werten)

  5. So fügen Sie nach dem Erstellen von Schlüssel 0 einen weiteren Schlüssel (Schlüssel 1) hinzu:

    R1

    R2 (mit umgekehrten Send-ID- und Recv-ID-Werten)

  6. Wenden Sie den konfigurierten Schlüsselbund new_auth_key und den Authentifizierungsalgorithmus ao sowohl auf R1 als auch auf R2 an.

    R1

    R2

  7. Geben Sie commit auf beiden Geräten über den Konfigurationsmodus ein, um Ihre Änderungen zu aktivieren.

  8. Verwenden Sie den Befehl aus dem Konfigurationsmodus, um den Schlüsselbund mit den show security authentication-key-chains beiden konfigurierten Schlüsseln new_auth_key zu überprüfen.

Ergebnisse

Überprüfen Sie die Ergebnisse der Keychain-Konfiguration auf R1:

user@R1# show security authentication-key-chains

Bestätigen Sie die verbleibenden auf R1 angewendeten Konfigurationen mit den folgenden Befehlen:

user@R1# show interfaces

user@R1# show routing-options

Überprüfung

Zweck

Stellen Sie sicher, dass die Sitzung mit TCP-AO-Schlüsselbund und Algorithmus eingerichtet wurde, die auf beiden Peers konfiguriert sind.

Aktion

Zeigen Sie eine validierte Sitzung mithilfe des Befehls " show validation session 192.168.12.2 detail Betriebsmodus" an.

Bedeutung

Die Ausgabe zeigt an, dass die Sitzung mit dem konfigurierten Schlüsselbund new_auth_keyaktiv ist.

Tabelle "Versionshistorie"
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.