Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

TCP

Viele Anwendungen und Services verwenden TCP zur Kommunikation. Konfigurieren Sie TCP-Optionen zur Verbesserung der Verbindungsqualität und -sicherheit.

Sicherheit für TCP-Header mit SYN- und FIN-Flags

Standardmäßig akzeptiert Ihr Gerät Pakete, die sowohl das SYN- als auch das FIN-Bit im TCP-Flag festgelegt haben. Konfigurieren Sie Ihr Gerät so, dass Pakete mit den SYN- und FIN-Bits abwerfen, um Sicherheitslücken zu reduzieren.

Die SYN- und FIN-Steuerungsflaggen werden normalerweise nicht im selben TCP-Segment-Header festgelegt. Das SYN-Flag synchronisiert Sequenznummern, um eine TCP-Verbindung zu initiieren. Das FIN-Flag zeigt das Ende der Datenübertragung an, um eine TCP-Verbindung zu beenden. Ihre Zwecke schließen sich gegenseitig aus. Ein TCP-Header mit den gesetzten SYN- und FIN-Flags ist ein anomales TCP-Verhalten, das je nach Betriebssystem verschiedene Antworten vom Empfänger verursacht. Siehe Abbildung 1.

Abbildung 1: TCP-Header mit SYN- und FIN-Flags TCP Header with SYN and FIN Flags Set

Ein Angreifer kann ein Segment mit beiden Flags senden, um zu sehen, welche Art von Systemantwort zurückgegeben wird, und so feststellen, welche Art von Betriebssystem sich am empfangenden Ende befindet. Der Angreifer kann dann bekannte Systemschwachstellen für weitere Angriffe nutzen. Wenn Sie die tcp-drop-synfin-set Anweisung aktivieren, prüft Junos OS, ob die SYN- und FIN-Flags in TCP-Headern festgelegt sind. Wenn es einen solchen Header entdeckt, wird das Paket fallen.

TCP RFC 1323-Erweiterungen deaktivieren

Um RFC 1323 TCP-Erweiterungen zu deaktivieren, fügen Sie die no-tcp-rfc1323 Anweisung auf [edit system internet-options] Hierarchieebene ein:

Um die Nummernerweiterung "Protection Against Wrapped Sequence (PAWS)" (beschrieben in RFC 1323 TCP Extensions for High Performance) zu deaktivieren, fügen Sie die no-tcp-rfc1323-paws Anweisung auf Hierarchieebene [edit system internet-options] ein:

Konfigurieren von TCP-MSS für Sitzungsverhandlung

Während der Einrichtung einer Sitzungsverbindung stimmen zwei Peers in Verhandlungen zu, die IP-Segmentgröße der Pakete zu bestimmen, die sie während ihrer Kommunikation austauschen werden. Der TCP-MSS-Wert (maximale Segmentgröße) in TCP SYN-Paketen gibt die maximale Anzahl von Bytes an, die das Datenfeld oder Segment eines TCP-Pakets enthalten kann. Ein zu hoher MSS-Wert kann zu einem IP-Datagramm führen, das zum Senden zu groß ist und fragmentiert werden muss. Fragmentierung kann zusätzlichen Overhead und Paketverlust verursachen.

Um die Wahrscheinlichkeit einer Fragmentierung zu verringern und vor Paketverlusten zu schützen, können Sie die tcp-mss Anweisung verwenden, um einen niedrigeren TCP-MSS-Wert anzugeben. Die tcp-mss Anweisung gilt für alle IPv4 TCP SYN-Pakete, die alle Eingangsschnittstellen des Routers durchlaufen, deren MSS-Wert höher ist als der angegebene. Sie können bestimmte Ports nicht von den Auswirkungen befreien.

Im folgenden Abschnitt wird die Konfiguration von TCP-MSS auf Routern der T-Serie, der M-Serie und der MX-Serie beschrieben.

Konfigurieren von TCP MSS auf Routern der T- und M-Serie sowie Routern der MX-Serie mit einer Servicecard

Um einen TCP-MSS-Wert auf Routern der T- und M-Serie sowie auf Routern der MX-Serie mit einer Servicekarte anzugeben, fügen Sie die tcp-mss mss-value Anweisung auf Hierarchieebene [edit services service-set service-set-name] ein:

Der Bereich des tcp-mss mss-value Parameters beträgt 536 bis 65535 Bytes.

Fügen Sie den Servicesatz jeder Schnittstelle hinzu, für die Sie den TCP-MSS-Wert anpassen möchten:

Um Statistiken über empfangene SYN-Pakete und SYN-Pakete anzuzeigen, deren MSS-Wert geändert wurde, erteilen Sie den show services service-sets statistics tcp-mss Betriebsmodus-Befehl.

Weitere Informationen zur Konfiguration von TCP-MSS auf Routern der T- und M-Serie finden Sie in der Junos OS Services Interfaces Library für Routing-Geräte.

Konfigurieren von TCP MSS Inline auf Routern der MX-Serie mit MPC Linecards

Um auf Routern der MX-Serie, die MPC-Linecards verwenden, einen TCP-MSS-Wert anzugeben, fügen Sie die tcp-mss Anweisung auf Hierarchieebene [edit interfaces interface-name unit logical-unit-number family family] ein:

Der Bereich des mss-value Parameters beträgt 64 bis 65.535 Bytes. Der TCP-MSS-Wert muss niedriger sein als die MTU der Schnittstelle.

Diese Aussage wird auf den folgenden Schnittstellen unterstützt: gr- (GRE), ge- (Gigabit Ethernet), xe- (10-Gigabit Ethernet) und et- (40-Gigabit- und 100-Gigabit-Ethernet). Familien, die unterstützt werden, werden inet und inet6.

Hinweis:

Die Konfiguration von TCP MSS Inline auf Routern der MX-Serie mit MPC-Linecards funktioniert nur für Datenverkehr, der die Schnittstelle verlässt/ausgeht, nicht für Datenverkehr, der die Schnittstelle ein-/eindringt.

Wählen Sie eine feste Quelladresse für lokal generierte TCP/IP-Pakete aus

Lokal generierte IP-Pakete sind die Pakete, die von Anwendungen erzeugt werden, die auf der Routing-Engine ausgeführt werden. Junos OS wählt eine Quelladresse für diese Pakete aus, sodass die Anwendungs-Peers reagieren können. Außerdem können Sie die Quelladresse pro Anwendung angeben. Um diesen Zweck zu erfüllen, enthält der Telnet CLI-Befehl das source-address Argument.

In diesem Abschnitt wird die default-address-selection Aussage vorgestellt:

Wenn Sie speziell die Quelladresse auswählen, wie im Fall von Telnet, default-address-selection hat dies keinen Einfluss auf die Auswahl der Quelladresse. Die Quelladresse wird die Adresse, die mit dem source-address Argument angegeben wird (vorausgesetzt, die Adresse ist eine gültige Adresse, die auf der Schnittstelle eines Routers angegeben ist). Wenn die Quelladresse nicht angegeben wird oder die angegebene Adresse ungültig ist, default-address-selection wird die Standard-Quelladressenauswahl beeinflusst.

Wenn die Quelladresse nicht explizit angegeben wird, wie im Fall von Telnet, ist standardmäßig (wenn default-address-selection nicht angegeben) die für lokal generierte IP-Pakete gewählte Quelladresse die IP-Adresse der ausgehenden Schnittstelle. Dies bedeutet, dass die Quelladresse je nach gewählter ausgehender Schnittstelle für unterschiedliche Aufrufe einer bestimmten Anwendung unterschiedlich sein kann.

Wenn die Schnittstelle nicht nummeriert ist (auf einer Schnittstelle wird keine IP-Adresse angegeben), verwendet Junos OS einen vorhersehbaren Algorithmus, um die Standard-Quelladresse zu ermitteln. Wenn default-address-selection angegeben, verwendet Junos OS den Algorithmus, um die Quelladresse auszuwählen, unabhängig davon, ob die ausgehende Schnittstelle nummeriert ist. Dies bedeutet, dass Sie mit default-address-selectionJunos OS die gleiche Quelladresse in lokal generierten IP-Paketen unabhängig von der ausgehenden Schnittstelle angeben können.

Das Verhalten der Quelladressauswahl durch Junos OS kann wie in der folgenden Tabelle dargestellt zusammengefasst werden:

Tabelle 1: Quelladressauswahl

Ausgehende Schnittstelle

Wann default-address-selection wird angegeben?

Wann default-address-selection wird nicht angegeben?

Nicht nummeriert

Verwenden default-address-selection

Verwenden default-address-selection

Nummeriert

Verwenden default-address-selection

IP-Adresse der ausgehenden Schnittstelle verwenden

Weitere Informationen zum Standardquellenauswahlalgorithmus finden Sie unter Konfigurieren von Standard-, primären und bevorzugten Adressen und Schnittstellen .

Hinweis:

Bei IP-Paketen, die von IP-Routing-Protokollen gesendet werden (einschließlich OSPF, RIP, RSVP und den Multicast-Protokollen, ohne IS-IS), wird die lokale Adressauswahl oft durch die Protokollspezifikation eingeschränkt, sodass das Protokoll korrekt funktioniert. Wenn diese Einschränkung im Routingprotokoll vorhanden ist, ist die Quelladresse des Pakets durch das Vorhandensein der default-address-selection Anweisung in der Konfiguration unberührt. Für Protokolle, in denen die lokale Adresse nicht durch die Protokollspezifikation gebunden ist, wie IBGP und Multihop-EBGP, wird die lokale Adresse mit derselben Methode wie andere lokal generierte IP-Pakete ausgewählt, wenn Sie bei der Konfiguration des Protokolls keine spezifische lokale Adresse konfigurieren.

TCP-Authentifizierung

Die Aktivierung einer TCP-Authentifizierungsmethode erhöht die Sicherheit und gewährleistet die Authentizität von TCP-Segmenten, die während BGP- und LDP-Sitzungen ausgetauscht werden. Junos-Geräte unterstützen drei Haupttypen der TCP-Authentifizierung: TCP MD5, TCP-Authentifizierungsoption (TCP-AO) und TCP-Schlüsselbund-basierte Authentifizierung. Weitere Informationen zu TCP-AO finden Sie unter TCP-Authentifizierungsoption (TCP-AO).

Hinweis:

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

Unterstützung für IP-Subnets

Vor Junos OS Evolved Version 22.4R1 erlauben Junos-Geräte nur die Verwendung der TCP-Authentifizierung mit einer bestimmten Adresse. Das bedeutet, dass Sie TCP-Verbindungen nur bei Remote-Peers mit bekannten IP-Adressen authentifizieren können.

Ab Junos OS Evolved Version 22.4R1 unterstützen TCP-AO- und TCP MD5-Authentifizierung IP-Subnets für LDP- und BGP-Sitzungen. Wenn Sie die TCP-Authentifizierung mit einer Netzwerkadresse und einer Präfixlänge konfigurieren, authentifiziert Die ausgewählte TCP-Authentifizierungsmethode TCP-Verbindungen mit dem gesamten Adressbereich unter diesem Subnetz. Das bedeutet, dass Sie TCP-Verbindungen authentifizieren können, ohne die genauen IP-Adressen der Zielgeräte kennen zu müssen.

Wenn SICH IP-Subnets überschneiden, verwendet die Authentifizierungsmethode die längste Prefix-Übereinstimmung (LPM), um den genauen Authentifizierungsschlüssel für eine bestimmte TCP-Sitzung zu bestimmen.

BGP

Um die präfixbasierte Authentifizierung für BGP-Sitzungen zu konfigurieren, fügen Sie die allow (all | prefix-list) Anweisung in einer der folgenden Hierarchien ein:

  • [edit protocols bgp group group-name]

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

Sie können IPV4- oder IPV6-Adressen für das Subnetz verwenden.

In diesem Beispiel authentifiziert TCP MD5 TCP-Verbindungen mit Geräten im Subnetz 10.0.3.0/24 für alle BGP-Sitzungen:

LDP

Um präfixbasierte Authentifizierung für LDP zu konfigurieren, konfigurieren Sie die TCP-Authentifizierung in der session-group ip-prefix Hierarchie. Sie müssen eine IPv4-Adresse verwenden.

In diesem Beispiel verwendet LDP TCP-AO, um jede TCP-Verbindung mit einem Gerät zu authentifizieren, das eine Adresse im 10.0.0.0/24-Subnetz hat:

Informationen zur Konfiguration Des TCP-AO-Schlüsselbundes finden Sie unter TCP-Authentifizierungsoption (TCP-AO).

VRF-Support

In Versionen vor Junos OS Evolved Version 22.4R1 ignorieren TCP MD5 und TCP-AO virtuelle Routing- und Weiterleitungsinstanzen (VRF). Das Gerät ignoriert TCP MD5- und TCP-AO-Konfigurationen in nicht standardmäßigen Routinginstanzen. Wenn Sie TCP MD5 oder TCP-AO unter der Standard-VRF-Instanz konfigurieren, wendet das Gerät diese Authentifizierungsmethode auf alle TCP-Sitzungen an, die Ziele innerhalb des IP-Adressbereichs für diese VRF-Instanz haben. Wenn eine TCP-Sitzung zu einer nicht standardmäßigen VRF-Instanz gehörte, aber die gleiche Ziel-IP-Adresse wie die Standard-VRF-Instanz hatte, wenden TCP MD5 und TCP-AO den gleichen Authentifizierungsschlüssel auf zwei TCP-Verbindungen mit derselben Ziel-IP-Adresse an.

Ab Junos OS Evolved Version 22.4R1 sind TCP-AO und TCP MD5-Authentifizierung VRF-fähig in BGP- und LDP-Sitzungen. Sie können TCP-AO und TCP MD5 unter nicht standardmäßigen Routinginstanzen konfigurieren. Die TCP-Authentifizierungsmethode, die Sie unter einer Routing-Instanz konfigurieren, wird nur auf die TCP-Sitzungen innerhalb dieser VRF-Instanz angewendet. Wenn eine TCP-Verbindung in einer anderen VRF-Instanz dieselbe Ziel-IP-Adresse hat, wird die TCP-Authentifizierungsmethode nicht auf diese TCP-Verbindung angewendet, wenn auf der VRF-Instanz keine TCP-Authentifizierung für den Peer konfiguriert ist.

Konfigurieren Sie die VRF-basierte TCP-Authentifizierung wie normalerweise, aber unter einer routing-instances Hierarchieebene. Um die TCP MD5-Authentifizierung zu verwenden, fügen Sie die Anweisung ein authentication-key authentication-key . Um TCP-AO zu verwenden, fügen Sie die folgenden Anweisungen ein:

Informationen zur Konfiguration Des TCP-AO-Schlüsselbundes finden Sie unter TCP-Authentifizierungsoption (TCP-AO).

Sie können VRF-fähige Konfigurationen mit IP-Subnetzen kombinieren. Auf diese Weise können Sie Verbindungen mit einer Reihe von Adressen innerhalb der VRF-Instanz authentifizieren.

BGP

Konfigurieren Sie DIE VRF-basierte TCP-Authentifizierung für BGP-Sitzungen auf einer der folgenden Hierarchieebenen:

  • [edit routing-instances vrf-instance protocols bgp]

  • [edit routing-instances vrf-instance protocols bgp group group-name]

  • [edit routing-instances vrf-instance protocols bgp group group-name neighbor neighbor-ip]

  • [edit routing-instances vrf-instance protocols bgp group group-name dynamic-neighbor dyn-name]

Wenn Sie die VRF-basierte Authentifizierung auf der dynamic-neighbor Ebene konfigurieren, fügen Sie die Anweisung zusammen mit der allow Konfiguration Ihrer gewählten Authentifizierungsmethode ein. Um beispielsweise TCP-AO mit einem dynamischen Nachbarn zu verwenden,

Im folgenden Beispiel verwendet BGP die TCP-Authentifizierung, um die Sicherheit von TCP-Verbindungen in einer VRF-Instanz namens vrf-one. In Gruppe 1 verwendet BGP TCP MD5, um Verbindungen mit dem Nachbarn mit der IP-Adresse 10.0.1.1 zu authentifizieren. Er verwendet TCP-AO, um Verbindungen mit dem Nachbarn mit der IP-Adresse 10.0.1.2 zu authentifizieren.

In Gruppe 2 verwendet BGP TCP-AO, um Verbindungen mit jedem Gerät im 10.0.0.0/24-Subnetz zu authentifizieren.

LDP

Konfigurieren Sie VRF-basierte Authentifizierung für LDP-Sitzungen auf einer der folgenden Hierarchieebenen:

  • [edit routing-instances vrf-instance protocols ldp]

  • [edit routing-instances vrf-instance protocols ldp session session-ip]

  • [edit routing-instances vrf-instance protocols ldp session-group ip-prefix]

In diesem Beispiel authentifiziert TCP-AO TCP-Verbindungen in einer VRF-Instanz namens vrf-two. Er authentifiziert TCP-Verbindungen mit der Adresse 10.0.1.1 sowie jede Beliebige Adresse im 10.0.0.0/24-Subnetz.

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.