Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Neighbor Discovery Cache-Schutz

Mit NDP Cache Protection können Sie die Routing-Engine vor bestimmten Arten von Denial-of-Service-Angriffen (DoS) in IPv6-Bereitstellungsszenarien schützen.

Neighbor Discovery Cache-Schutz – Übersicht

Routing-Engines können in IPv6-Bereitstellungsszenarien anfällig für bestimmte Denial-of-Service-Angriffe (DoS) sein. IPv6-Subnetze sind in der Regel sehr groß – ein /64 Subnetz kann z. B. eine große Anzahl nicht zugewiesener Adressen aufweisen. Die Steuerungsebene der Routing-Engine führt die Adressauflösung für unbekannte Adressen durch. Ein Angreifer kann die Steuerungsebene der Routing-Engine schnell überlasten, indem er Auflösungsanforderungen für diesen nicht zugewiesenen Adressraum generiert, was zu einem Cacheüberlauf führt. Der Angreifer stützt sich sowohl auf die Anzahl der generierten Anforderungen als auch auf die Geschwindigkeit, mit der Anforderungen in die Warteschlange gestellt werden. Solche Szenarien können Routerressourcen binden und verhindern, dass die Routing-Engine gültige Nachbarschaftsanfragen beantwortet und vorhandene Nachbarcacheeinträge verwaltet, was zu einem DoS-Angriff für legitime Benutzer führt.

Die Strategien zur Abwehr solcher DoS-Angriffe lauten wie folgt:

  • Filtern Sie ungenutzten Adressraum.

  • Minimieren Sie die Größe von Subnetzen.

  • Konfigurieren Sie Verwerfungsrouten für Subnetze.

  • Erzwingen Sie Grenzwerte für die Größe und die Auflösungsrate für Einträge im Nachbarermittlungscache.

Die Auswirkungen auf den Nachbarerkennungscache können minimiert werden, indem die Anzahl der IPv6-Nachbarn und neuen nicht aufgelösten Next-Hop-Adressen, die dem Cache hinzugefügt werden können, eingeschränkt wird. Sie können Grenzwerte pro Schnittstelle mithilfe der nd6-max-cache nd6-new-hold-limit Konfigurationsanweisung und oder systemweit mit der nd-system-cache-limit Konfigurationsanweisung festlegen.

Anmerkung:
  • Für kleine Plattformen wie ACX, EX22XX, EX3200, EX33XX und SRX ist der Standardwert 20.000.

  • Für mittelgroße Plattformen wie EX4200, EX45XX, EX4300, EX62XX, QFX und MX ist der Standardwert 75.000.

  • Für die übrigen Plattformen ist der Standardwert 100.000.

Konfigurieren des Schutzes des Nachbarermittlungscaches

Routing-Engines können in IPv6-Bereitstellungsszenarien für bestimmte Arten von Denial-of-Service-Angriffen (DoS) anfällig sein. IPv6-Subnetze sind in der Regel sehr groß. Ein /64 Subnetz kann z. B. eine hohe Anzahl nicht zugewiesener Adressen aufweisen. Die Steuerungsebene der Routing-Engine führt die Adressauflösung für unbekannte Adressen durch. Ein Angreifer kann die Steuerungsebene der Routing-Engine schnell überlasten, indem er Auflösungsanforderungen für diesen nicht zugewiesenen Adressraum generiert, was zu einem Cacheüberlauf führt. Ein Angreifer verlässt sich sowohl auf die Anzahl der generierten Anforderungen als auch auf die Geschwindigkeit, mit der Anforderungen in die Warteschlange gestellt werden.

Der Nachbarermittlungsprozess ist der Teil der Steuerungsebene, der das Nachbarermittlungsprotokoll implementiert. Er ist für die Adressauflösung und die Verwaltung der Einträge im Nachbarcache verantwortlich. Eine Möglichkeit, die DoS-Angriffe zu entschärfen, besteht darin, Beschränkungen für die Größe des Neighbor-Discovery-Caches und die Auflösungsrate neuer Next-Hop-Einträge durchzusetzen und bestimmte Kategorien von Neighbor-Discovery-Datenverkehr zu priorisieren. Sie können Grenzwerte für den Nachbarermittlungscache pro Schnittstelle und systemweit konfigurieren.

Bevor Sie beginnen, stellen Sie sicher, dass Sie Junos OS Version 15.1 oder höher ausführen.

Lokale Grenzwerte gelten für einzelne Schnittstellen und werden für aufgelöste und nicht aufgelöste Einträge in der Nachbarschaftserkennungswarteschlange definiert, während globale Grenzwerte systemweit gelten.

So konfigurieren Sie den Cacheschutz für die Nachbarsuche auf einer Schnittstelle:

  1. Konfigurieren Sie die IPv6-Familie für die Schnittstelle.
  2. Konfigurieren Sie die maximale Größe des Nachbarermittlungscaches für die Schnittstelle.
  3. Konfigurieren Sie die maximale Anzahl von nicht aufgelösten Einträgen im Nachbarermittlungscache, die an die Schnittstelle angefügt werden können.

Um die Konfiguration zu überprüfen, führen Sie den show interfaces interface-name Betriebsbefehl aus.

So konfigurieren Sie den Cacheschutz für die Nachbarsuche systemweit:

  • Konfigurieren Sie den systemweiten Grenzwert für den Nachbarermittlungscache.

Um die konfigurierten systemweiten Grenzwerte zu überprüfen, führen Sie den show system statistics icmp6 Betriebsbefehl aus.

Anmerkung:
  • Für kleine Plattformen wie ACX, EX22XX, EX3200, EX33XX und SRX ist der Standardwert 20.000.

  • Für mittelgroße Plattformen wie EX4200, EX45XX, EX4300, EX62XX, QFX und MX ist der Standardwert 75.000.

  • Für die übrigen Plattformen ist der Standardwert 100.000.

Beispiel: Konfigurieren des Cacheschutzes für die Nachbarsuche zum Verhindern von Denial-of-Service-Angriffen

In diesem Beispiel wird gezeigt, wie ein Grenzwert für die Anzahl der IPv6-Nachbareinträge konfiguriert wird, die der Nachbarermittlung hinzugefügt werden können. Durch das Erzwingen von Begrenzungen für die Anzahl der Einträge im Cache werden Denial-of-Service-Angriffe (DoS) abgewehrt. Die Nachbarschaftsermittlungs-Cachefunktion unterstützt zwei Arten von Grenzwerten:

  • Lokal: Lokale Grenzwerte werden pro Schnittstelle konfiguriert und für aufgelöste und nicht aufgelöste Einträge im Nachbarermittlungs-Cache definiert.

  • Global: Globale Grenzwerte gelten systemweit. Ein globales Limit wird für die öffentlichen Schnittstellen und Verwaltungsschnittstellen separat definiert, z. B. fxp0. Die Verwaltungsschnittstelle hat einen einzelnen globalen Grenzwert und keinen lokalen Grenzwert. Das globale Limit erzwingt eine systemweite Obergrenze für Einträge für den Nachbarermittlungscache, einschließlich der Loopbackschnittstelle für die interne Routinginstanz sowie für Verwaltungsschnittstellen und die öffentlichen Schnittstellen.

Anforderungen

Für dieses Beispiel sind Router der MX-Serie erforderlich, auf denen Junos OS Version 15.1 oder höher ausgeführt wird.

Überblick

Routing-Engines können für bestimmte Arten von DoS-Angriffen in IPv6-Bereitstellungsszenarien anfällig sein. IPv6-Subnetze sind in der Regel sehr groß – ein /64 Subnetz kann z. B. eine große Anzahl nicht zugewiesener Adressen aufweisen, die für DoS-Angriffe verwendet werden können. Die Steuerungsebene der Routing-Engine führt die Adressauflösung für unbekannte Adressen durch. Ein Angreifer kann die Steuerungsebene der Routing-Engine schnell überlasten, indem er Auflösungsanforderungen für diesen nicht zugewiesenen Adressraum generiert und die Warteschlange überläuft. Der Angreifer stützt sich sowohl auf die Anzahl der generierten Anforderungen als auch auf die Geschwindigkeit, mit der Anforderungen in die Warteschlange gestellt werden.

Der Nachbarermittlungsprozess ist der Teil der Steuerungsebene, der das Nachbarermittlungsprotokoll implementiert. Er ist für die Adressauflösung und die Verwaltung des Nachbarcaches verantwortlich. Eine Möglichkeit zur Abwehr von DoS-Angriffen besteht darin, Grenzwerte für die Nachbarermittlungswarteschlangen durchzusetzen, was durch Einschränken der Warteschlangengröße und der Lösungsrate sowie durch Priorisierung bestimmter Kategorien von Nachbarermittlungsdatenverkehr erreicht werden kann.

Konfiguration

Führen Sie die folgenden Aufgaben aus, um den Schutz des Nachbarermittlungscaches zu konfigurieren:

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 erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie auf der [edit] Hierarchieebene in die CLI ein, und wechseln commit Sie dann aus dem Konfigurationsmodus.

Sie können auch eine systemweite Begrenzung für die Anzahl der IPv6-Nachbareinträge im Nachbarerkennungscache konfigurieren. Dieser Grenzwert umfasst auch die Loopback-Schnittstelle, Verwaltungsschnittstellen und die öffentlichen Schnittstellen.

Die Limitverteilung aus der nd-system-cache-limit Anweisung für verschiedene Schnittstellentypen erfolgt nach bestimmten festen Prozentsätzen. Wenn nd-system-cache-limit definiert ist als X und das Limit Y für den Nachbar-Ermittlungscache der internen Routingschnittstelle (Standard ist 200), dann:

  • Maximales Cache-Limit Z für die Öffentlichkeit = 80 % von (X- Y)

  • Maximale Cache-Begrenzung der Verwaltungsschnittstelle (z. B. fxp0) M = 20 % von (X-Y)

Konfigurieren des Schutzes des Nachbarermittlungscaches

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 CLI-Benutzerhandbuch.

So konfigurieren Sie den Cacheschutz für die Nachbarsuche pro Schnittstelle:

  • Konfigurieren Sie die nd6-max-cache und nd6-new-hold-limit.

Befund

Um den Cacheschutz für die Nachbarsuche lokal zu bestätigen, geben Sie show interfaces ge-0/3/0 den Konfigurationsmodus ein. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.

Verifizierung

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

Globale Überprüfung des Schutzes des Neighbor Discovery-Caches

Zweck

Stellen Sie sicher, dass die Ausgabe den systemweiten Grenzwert für den Nachbarermittlungscache widerspiegelt.

Aktion

Führen Sie den show system statistics icmp6 Befehl im Betriebsmodus aus.

Bedeutung

Die systemweite Obergrenze, die für die Cacheeinträge für die Nachbarsuche erzwungen wird, beträgt 100000.

Management ND nexthops creation failed as mgt limit reached Gibt die Anzahl der Verluste für die Verwaltungsschnittstelle an, wenn der systemweite Grenzwert erreicht ist. Total ND nexthops creation failed as limit reached Gibt Fehler für Management-, öffentliche oder interne Routinginstanzschnittstellen an und Public ND nexthops creation failed as public limit reached gibt die Anzahl der Verluste für öffentliche Schnittstellen an, wenn der systemweite Grenzwert für die Anzahl der Einträge erreicht ist.

Lokales Überprüfen des Schutzes des Neighbor Discovery-Caches

Zweck

Vergewissern Sie sich, dass die Ausgabe die konfigurierten Schnittstellengrenzwerte widerspiegelt.

Aktion

Führen Sie den show interfaces ge-0/3/0 Befehl im Betriebsmodus aus.

Bedeutung

Die maximale Anzahl der Gesamteinträge und die maximale Anzahl der Einträge für neue nicht aufgelöste Next-Hop-Adressen, die an die Schnittstelle ge-0/3/0 angehängt werden können, ist 100000.

NH drop cnt Bezieht sich auf die Anzahl der Nachbarermittlungsanforderungen, die nicht verarbeitet wurden, da die maximalen Grenzwerte für die Warteschlangengröße der Schnittstelle erreicht wurden.