Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Authentification de route BGP

Comprendre l’authentification du routeur pour BGP

L’utilisation de l’authentification et de l’intégrité des routeurs et des routes réduit considérablement le risque d’être attaqué par une machine ou un routeur configuré pour partager des informations de routage incorrectes avec un autre routeur. Dans ce type d’attaque, le routeur attaqué peut être amené à créer une boucle de routage, ou la table de routage du routeur attaqué peut être considérablement augmentée, ce qui a un impact sur les performances, ou les informations de routage peuvent être redirigées vers un endroit du réseau pour que l’attaquant les analyse. De fausses annonces d’itinéraires peuvent être envoyées sur un segment. Ces mises à jour peuvent être acceptées dans les tables de routage des routeurs voisins, à moins qu’un mécanisme d’authentification ne soit en place pour vérifier la source des routes.

L’authentification des routeurs et des routes permet aux routeurs de partager des informations uniquement s’ils peuvent vérifier qu’ils parlent à une source fiable, sur la base d’un mot de passe (clé). Dans cette méthode, une clé de hachage est envoyée avec la route envoyée à un autre routeur. Le routeur de réception compare la clé envoyée à sa propre clé configurée. S’ils sont identiques, il accepte l’itinéraire. En utilisant un algorithme de hachage, la clé n’est pas envoyée sur le fil en texte brut. Au lieu de cela, un hachage est calculé à l’aide de la clé configurée. La mise à jour du routage est utilisée comme texte d’entrée, avec la clé, dans la fonction de hachage. Ce hachage est envoyé avec la mise à jour de la route au routeur récepteur. Le routeur de réception compare le hachage reçu avec un hachage qu’il génère lors de la mise à jour de l’itinéraire à l’aide de la clé prépartagée configurée sur celui-ci. Si les deux hachages sont identiques, l’itinéraire est supposé provenir d’une source fiable. La clé n’est connue que des routeurs d’envoi et de réception.

Pour renforcer encore la sécurité, vous pouvez configurer une série de clés d’authentification (un trousseau). Chaque clé a une heure de début unique dans le trousseau. L’authentification par trousseau vous permet de modifier régulièrement les informations de mot de passe sans interrompre les sessions d’appairage. Cette méthode d’authentification de trousseau est dite « sans accès », car les clés passent de l’une à l’autre sans réinitialiser les sessions d’appairage ni interrompre le protocole de routage.

L’homologue émetteur utilise les règles suivantes pour identifier la clé d’authentification active :

  • L’heure de début est inférieure ou égale à l’heure actuelle (en d’autres termes, pas dans le futur).

  • L’heure de début est supérieure à celle de toutes les autres clés de la chaîne dont l’heure de début est inférieure à l’heure actuelle (en d’autres termes, la plus proche de l’heure actuelle).

L’homologue récepteur détermine la clé avec laquelle il s’authentifie en fonction de l’identificateur de clé entrant.

L’homologue émetteur identifie la clé d’authentification actuelle en fonction d’une heure de début configurée, puis génère une valeur de hachage à l’aide de la clé actuelle. L’homologue émetteur insère ensuite un objet d’option d’authentification améliorée TCP dans le message de mise à jour BGP. L’objet contient un ID d’objet (attribué par IANA), la longueur de l’objet, la clé actuelle et une valeur de hachage.

L’homologue récepteur examine l’option d’authentification améliorée TCP entrante, recherche la clé d’authentification reçue et détermine si la clé est acceptable en fonction de l’heure de début, de l’heure système et du paramètre de tolérance. Si la clé est acceptée, l’homologue récepteur calcule un hachage et authentifie le message de mise à jour.

L’application initiale d’un trousseau à une session TCP entraîne la réinitialisation de la session. Toutefois, une fois le trousseau appliqué, l’ajout ou la suppression d’un mot de passe du trousseau n’entraîne pas la réinitialisation de la session TCP. De plus, la session TCP ne se réinitialise pas lorsque le trousseau passe d’un algorithme d’authentification à un autre.

Authentification TCP

En règle générale, vous configurez l’authentification TCP aux niveaux hiérarchiques suivants :

  • [edit protocols bgp]

  • [edit protocols bgp group group-name]

  • [edit protocols bgp group group-name neighbor address]

Sous-réseaux d’authentification TCP et de préfixe

Les équipements Junos prennent en charge l’authentification TCP auprès des homologues BGP découverts via des sous-réseaux de préfixes autorisés configurés dans un groupe BGP.

Pour configurer l’authentification basée sur des préfixes pour TCP-AO ou TCP MD5 pour les sessions BGP, vous pouvez configurer l’instruction allow (all | prefix-list) aux hiérarchies suivantes :

  • [edit protocols bgp group group-name]

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

Pour plus d’informations sur l’authentification TCP, consultez TCP.

Exemple : Configuration de l’authentification du routeur pour BGP

Tous les échanges de protocole BGP peuvent être authentifiés pour garantir que seuls les équipements de routage approuvés participent aux mises à jour de routage des systèmes autonomes (AS). Par défaut, l’authentification est désactivée.

Conditions préalables

Avant de commencer :

  • Configurez les interfaces des routeurs.

  • Configurez un protocole IGP (Interior Gateway Protocol).

Présentation

Lorsque vous configurez l’authentification, l’algorithme crée une somme de contrôle codée qui est incluse dans le paquet transmis. Le périphérique de routage de réception utilise une clé d’authentification (mot de passe) pour vérifier la somme de contrôle du paquet.

Cet exemple inclut les instructions suivantes pour la configuration et l’application du trousseau :

  • key: un trousseau peut avoir plusieurs clés. Chaque clé d’un trousseau doit être identifiée par une valeur entière unique. La plage de valeurs d’identificateur valides est comprise entre 0 et 63.

    La clé peut comporter jusqu’à 126 caractères. Les caractères peuvent inclure n’importe quelle chaîne ASCII. Si vous incluez des espaces, placez tous les caractères entre guillemets ( » « ).

  • tolerance—(Facultatif) Pour chaque trousseau, vous pouvez configurer une valeur de tolérance de décalage d’horloge en secondes. La tolérance de décalage d’horloge s’applique au récepteur acceptant les clés pour les mises à jour BGP. La plage configurable est comprise entre 0 et 999 999 999 secondes. Pendant la période de tolérance, le mot de passe actuel ou précédent est acceptable.

  • key-chain: pour chaque trousseau, vous devez spécifier un nom. Cet exemple définit un trousseau de clés : bgp-auth. Vous pouvez avoir plusieurs trousseaux sur un périphérique de routage. Par exemple, vous pouvez avoir un trousseau pour BGP, un trousseau pour OSPF et un trousseau pour LDP.

  • secret: pour chaque clé du trousseau, vous devez définir un mot de passe secret. Ce mot de passe peut être saisi en format crypté ou en texte brut dans le secret relevé. Il est toujours affiché au format crypté.

  • start-time: chaque clé doit spécifier une heure de début au format UTC. Le contrôle passe d’une touche à l’autre. Lorsqu’une heure de début configurée arrive (en fonction de l’horloge du périphérique de routage), la touche avec cette heure de début devient active. Les heures de début sont spécifiées dans le fuseau horaire local d’un périphérique de routage et doivent être uniques dans le trousseau.

  • authentication-key-chain: permet d’appliquer un trousseau au niveau BGP global à tous les homologues, à un groupe ou à un voisin. Cet exemple applique le trousseau aux homologues définis dans le groupe BGP externe (EBGP) appelé ext.

  • authentication-algorithm: pour chaque trousseau, vous pouvez spécifier un algorithme de hachage. L’algorithme peut être AES-128, MD5 ou SHA-1.

    Vous associez un trousseau et un algorithme d’authentification à une session voisine BGP.

Cet exemple configure un trousseau nommé bgp-auth. La clé 0 sera envoyée et acceptée à partir du 2011-6-23.20 :19 :33 -0700, et cessera d’être envoyée et acceptée lorsque la prochaine clé du trousseau (clé 1) deviendra active. La clé 1 devient active un an plus tard à l’adresse 2012-6-23.20 :19 :33 -0700 et ne cessera pas d’être envoyée et acceptée à moins qu’une autre clé ne soit configurée avec une heure de début postérieure à l’heure de début de la clé 1. Une tolérance de décalage d’horloge de 30 secondes s’applique au récepteur acceptant les touches. Pendant la période de tolérance, la clé actuelle ou précédente est acceptable. Les clés sont des mots de passe partagés-secrets. Cela signifie que les voisins recevant les mises à jour de routage authentifiées doivent avoir la même configuration de trousseau d’authentification, y compris les mêmes clés (mots de passe). Par conséquent, les routeurs R0 et R1 doivent avoir la même configuration de trousseau de clés d’authentification s’ils sont configurés en tant qu’homologues. Cet exemple montre la configuration sur un seul des périphériques de routage.

Diagramme de topologie

Figure 1 Affiche la topologie utilisée dans cet exemple.

Figure 1 : Authentification pour BGPAuthentification pour BGP

Configuration

Configuration rapide de l’interface de ligne de commande

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, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie.

Procédure

Procédure étape par étape

L’exemple suivant nécessite que vous naviguiez à 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 configuration du Guide de l’utilisateur de l’interface de ligne de commande Junos OS.

Pour configurer le routeur R1 afin qu’il accepte les filtres de route de l’appareil CE1 et effectue un filtrage de route sortant à l’aide des filtres reçus :

  1. Configurez le système autonome local.

  2. Configurez un ou plusieurs groupes BGP.

  3. Configurez l’authentification avec plusieurs clés.

    L’heure de début de chaque clé doit être unique dans le trousseau.

  4. Appliquez le trousseau d’authentification au BGP et définissez l’algorithme de hachage.

  5. (Facultatif) Appliquez une valeur de tolérance de décalage d’horloge en secondes.

Résultats

À partir du mode de configuration, confirmez votre configuration en saisissant les commandes show protocols, show routing-optionset show security. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.

Si vous avez terminé de configurer l’appareil, passez commit en mode de configuration.

Répétez la procédure pour chaque périphérique BGP du réseau, en utilisant les noms et adresses d’interface appropriés pour chaque périphérique compatible BGP.

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification de l’authentification du voisin

But

Assurez-vous que l’option AutheKeyChain apparaît dans la sortie de la show bgp neighbor commande.

Action

À partir du mode opérationnel, entrez la show bgp neighbor commande.

Vérification de l’envoi des messages d’autorisation

But

Vérifiez que BGP dispose de l’option d’autorisation améliorée.

Action

À partir du mode opérationnel, entrez la monitor traffic interface fe-0/0/1 commande.

Vérification des erreurs d’authentification

But

Vérifiez le nombre de paquets abandonnés par TCP en raison d’erreurs d’authentification.

Action

À partir du mode opérationnel, entrez la show system statistics tcp | match auth commande.

Vérification du fonctionnement du trousseau

But

Vérifiez le nombre de paquets abandonnés par TCP en raison d’erreurs d’authentification.

Action

À partir du mode opérationnel, entrez la show security keychain detail commande.

Tableau de l'historique des modifications

La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l' Feature Explorer pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.

Version
Description
22.4R1
À partir de Junos OS Evolved version 22.4R1, vous pouvez configurer l’authentification TCP-AO ou TCP MD5 avec un sous-réseau IP afin d’inclure toute la plage d’adresses de ce sous-réseau.
22.4R1
À partir de Junos OS Evolved version 22.4R1, l’authentification TCP prend en charge VRF.
19.1R1
À compter de Junos OS version 19.1R1, Junos OS étend la prise en charge de l’authentification TCP aux homologues BGP découverts via des sous-réseaux de préfixe autorisés configurés dans un groupe BGP.