Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Protection du cache de découverte voisine

La protection de cache NDP vous permet de protéger le moteur de routage contre certains types d’attaques par déni de service (DoS) dans les scénarios de déploiement IPv6.

Vue d’ensemble de la protection du cache Neighbor Discovery

Les moteurs de routage peuvent être sensibles à certaines attaques par déni de service (DoS) dans les scénarios de déploiement IPv6. En général, les sous-réseaux IPv6 ont tendance à être très volumineux (par exemple, un /64 sous-réseau peut avoir un grand nombre d’adresses non attribuées). Le plan de contrôle du moteur de routage effectue la résolution d’adresse pour les adresses inconnues. Un attaquant peut rapidement submerger le plan de contrôle du moteur de routage en générant des demandes de résolution pour cet espace d’adressage non affecté, ce qui entraîne un débordement du cache. L’attaquant s’appuie à la fois sur le nombre de requêtes générées et sur la vitesse à laquelle les requêtes sont mises en file d’attente. De tels scénarios peuvent immobiliser les ressources du routeur et empêcher le moteur de routage de répondre aux sollicitations de voisinage valides et de conserver les entrées de cache de voisinage existantes, ce qui entraîne une attaque par déni de service pour les utilisateurs légitimes.

Les stratégies d’atténuation de ces attaques DoS sont les suivantes :

  • Filtrez l’espace d’adressage inutilisé.

  • Réduisez la taille des sous-réseaux.

  • Configurez les routes d’abandon pour les sous-réseaux.

  • Appliquez des limites à la taille et au taux de résolution des entrées dans le cache de découverte voisin.

L’impact du cache de découverte des voisins peut être réduit en limitant le nombre de voisins IPv6 et de nouvelles adresses de saut suivant non résolues pouvant être ajoutées au cache. Vous pouvez définir des limites par interface à l’aide des instructions de nd6-max-cache configuration et nd6-new-hold-limit ou à l’échelle du système à l’aide de l’instruction de nd-system-cache-limit configuration.

Note:
  • Pour les plates-formes de petite taille telles que ACX, EX22XX, EX3200, EX33XX et SRX, la valeur par défaut est 20 000.

  • Pour les plates-formes de taille moyenne telles que EX4200, EX45XX, EX4300, EX62XX, QFX et MX, la valeur par défaut est 75 000.

  • Pour les autres plates-formes, la valeur par défaut est 100 000.

Configuration de la protection du cache Neighbor Discovery

Les moteurs de routage peuvent être vulnérables à certains types d’attaques par déni de service (DoS) dans les scénarios de déploiement IPv6. En général, les sous-réseaux IPv6 ont tendance à être très volumineux. Par exemple, un /64 sous-réseau peut avoir un nombre élevé d’adresses non attribuées. Le plan de contrôle du moteur de routage effectue la résolution d’adresse pour les adresses inconnues. Un attaquant peut rapidement submerger le plan de contrôle du moteur de routage en générant des demandes de résolution pour cet espace d’adressage non affecté, ce qui entraîne un débordement du cache. Un attaquant s’appuie à la fois sur le nombre de requêtes générées et sur la vitesse à laquelle les requêtes sont mises en file d’attente.

Le processus de découverte de voisinage est la partie du plan de contrôle qui implémente le protocole de découverte de voisinage. Il est responsable de la résolution des adresses et de la maintenance des entrées dans le cache voisin. Une façon d’atténuer les attaques par déni de service consiste à appliquer des limites à la taille du cache de découverte voisin et au taux de résolution des nouvelles entrées de saut suivant, et à donner la priorité à certaines catégories de trafic de découverte de voisinage. Vous pouvez configurer des limites au cache de découverte de voisinage par interface et à l’échelle du système.

Avant de commencer, assurez-vous que vous utilisez Junos OS version 15.1 ou ultérieure.

Les limites locales s’appliquent aux interfaces individuelles et sont définies pour les entrées résolues et non résolues dans la file d’attente de découverte des voisins, tandis que les limites globales s’appliquent à l’ensemble du système.

Pour configurer la protection du cache de découverte de voisinage sur une interface :

  1. Configurez la famille IPv6 pour l’interface.
  2. Configurez la taille maximale du cache de découverte de voisinage pour l’interface.
  3. Configurez le nombre maximal d’entrées non résolues dans le cache de découverte voisine qui peuvent être attachées à l’interface.

Pour vérifier la configuration, exécutez la show interfaces interface-name commande opérationnelle.

Pour configurer la protection du cache de découverte de voisinage à l’échelle du système :

  • Configurez la limite à l’échelle du système pour le cache de découverte des voisins.

Pour vérifier les limites configurées à l’échelle du système, exécutez la show system statistics icmp6 commande opérationnelle.

Note:
  • Pour les plates-formes de petite taille telles que ACX, EX22XX, EX3200, EX33XX et SRX, la valeur par défaut est 20 000.

  • Pour les plates-formes de taille moyenne telles que EX4200, EX45XX, EX4300, EX62XX, QFX et MX, la valeur par défaut est 75 000.

  • Pour les autres plates-formes, la valeur par défaut est 100 000.

Exemple : Configuration de la protection du cache Neighbor Discovery pour empêcher les attaques par déni de service

Cet exemple montre comment configurer une limite au nombre d’entrées de voisinage IPv6 qui peuvent être ajoutées à la découverte de voisinage. Appliquer des limites au nombre d’entrées dans le cache atténue les attaques par déni de service (DoS). La fonctionnalité de cache de découverte voisine prend en charge deux types de limites :

  • Local (Local) : les limites locales sont configurées par interface et sont définies pour les entrées résolues et non résolues dans le cache de découverte des voisins.

  • Global (Global) : les limites globales s’appliquent à l’ensemble du système. Une limite globale est définie séparément pour les interfaces publiques et les interfaces de gestion, par exemple, fxp0. L’interface de gestion n’a qu’une seule limite globale et aucune limite locale. La limite globale applique une limite à l’échelle du système sur les entrées pour le cache de découverte voisin, y compris pour l’interface de bouclage pour l’instance de routage interne, ainsi que pour les interfaces de gestion et les interfaces publiques.

Exigences

Cet exemple nécessite des routeurs MX Series exécutant Junos OS version 15.1 ou ultérieure.

Aperçu

Les moteurs de routage peuvent être vulnérables à certains types d’attaques DoS dans les scénarios de déploiement IPv6. En général, les sous-réseaux IPv6 ont tendance à être très volumineux (par exemple, un /64 sous-réseau peut avoir un grand nombre d’adresses non attribuées, qui peuvent être utilisées pour effectuer des attaques DoS). Le plan de contrôle du moteur de routage effectue la résolution d’adresse pour les adresses inconnues. Un attaquant peut rapidement submerger le plan de contrôle du moteur de routage en générant des demandes de résolution pour cet espace d’adressage non attribué et faire déborder la file d’attente. L’attaquant s’appuie à la fois sur le nombre de requêtes générées et sur la vitesse à laquelle les requêtes sont mises en file d’attente.

Le processus de découverte de voisinage est la partie du plan de contrôle qui implémente le protocole de découverte de voisinage. Il est responsable de la résolution des adresses et de la maintenance du cache voisin. Une façon d’atténuer les attaques par déni de service consiste à appliquer des limites aux limites de la file d’attente de découverte voisine, ce qui peut être fait en limitant la taille de la file d’attente et le taux de résolution, et en hiérarchisant certaines catégories de trafic de découverte voisine.

Configuration

Pour configurer la protection du cache de découverte de voisinage, effectuez les tâches suivantes :

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie, puis passez commit en mode de configuration.

Vous pouvez également configurer une limite à l’échelle du système au nombre d’entrées de voisinage IPv6 dans le cache de découverte des voisins. Cette limite inclut également l’interface de bouclage, les interfaces de gestion et les interfaces publiques.

La distribution des limites de l’instruction nd-system-cache-limit pour les différents types d’interfaces est effectuée selon certains pourcentages fixes. Lorsque nd-system-cache-limit est défini comme X et que la limite du cache de découverte de voisin de l’interface de routage interne est (la valeur par défaut est Y 200), alors :

  • Limite de cache maximale publique, Z = 80 % de (X- Y)

  • Limite maximale de cache de l’interface de gestion (par exemple, fxp0), M = 20 % de (X-Y)

Configuration de la protection du cache Neighbor Discovery

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface de ligne de commande, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le Guide de l’utilisateur de l’interface de ligne de commande.

Pour configurer la protection du cache de découverte de voisinage par interface :

  • Configurez les et nd6-new-hold-limit.nd6-max-cache

Résultats

Pour confirmer localement la protection du cache de découverte de voisinage, passez show interfaces ge-0/3/0 en mode de configuration. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification globale de la protection du cache Neighbor Discovery

But

Vérifiez que la sortie reflète la limite à l’échelle du système pour le cache de découverte du voisin.

Action

À partir du mode opérationnel, exécutez la show system statistics icmp6 commande.

Signification

La limite à l’échelle du système appliquée aux entrées du cache de découverte voisine est 100000.

Management ND nexthops creation failed as mgt limit reached Indique le nombre d’abandons pour l’interface de gestion lorsque la limite à l’échelle du système est atteinte. Total ND nexthops creation failed as limit reached indique l’échec des interfaces de gestion, publiques ou d’instance de routage interne, et Public ND nexthops creation failed as public limit reached indique le nombre d’abandons pour les interfaces publiques lorsque la limite du nombre d’entrées à l’échelle du système est atteinte.

Vérification locale de la protection du cache Neighbor Discovery

But

Vérifiez que la sortie reflète les limites de l’interface configurée.

Action

À partir du mode opérationnel, exécutez la show interfaces ge-0/3/0 commande.

Signification

Le nombre maximal d’entrées totales et le nombre maximal d’entrées pour les nouvelles adresses de saut suivant non résolues qui peuvent être attachées à l’interface ge-0/3/0 est 100000.

NH drop cnt fait référence au nombre de demandes de découverte de voisinage qui ne sont pas traitées parce que les limites de taille maximale de file d’attente de l’interface ont été atteintes.