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 des routeurs pour BGP

L’utilisation de l’authentification du routeur et du routage et de l’intégrité de la route atténue 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 trompé pour créer une boucle de routage, ou la table de routage du routeur attaqué peut être considérablement augmentée, impactant ainsi les performances, ou les informations de routage peuvent être redirigées vers un endroit du réseau pour que l’attaquant puisse les analyser. Des publicités de routage fausses peuvent être envoyées sur un segment. Ces mises à jour peuvent être acceptées dans les tables de routage des routeurs voisins, sauf si un mécanisme d’authentification est 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, en fonction d’un mot de passe (clé). Dans cette méthode, une clé hachage est envoyée avec le routage envoyé à un autre routeur. Le routeur de réception compare la clé envoyée à sa propre clé configurée. S’ils sont les mêmes, il accepte le routage. 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, ainsi que la clé, dans la fonction de hachage. Ce hachage est envoyé avec la mise à jour du routage vers le routeur de réception. Le routeur de réception compare le hachage reçu avec un hachage qu’il génère lors de la mise à jour du routage à l’aide de la clé prépartage configurée dessus. Si les deux hachages sont identiques, le routage 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 de clés). Chaque clé a un temps de démarrage unique dans le trousseau. L’authentification du keychain vous permet de modifier régulièrement les informations de mot de passe sans réduire les sessions d’appairage. Cette méthode d’authentification du trousseau de clés est appelée « hitless » (hitless), car les clés se déploient de l’une à l’autre sans réinitialisation des sessions d’appairage ou interruption du protocole de routage.

L’homologue d’envoi 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 à l’avenir).

  • Le temps de démarrage est supérieur à celui de toutes les autres clés de la chaîne dont le temps de démarrage est inférieur à l’heure actuelle (en d’autres termes, le plus proche de l’heure en cours).

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

L’homologue d’envoi 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 d’envoi insère ensuite un objet d’option d’authentification TCP dans le message de mise à jour BGP. L’objet contient un ID d’objet (assigné par l’IANA), la longueur de l’objet, la clé actuelle et une valeur de hachage.

L’homologue destinataire examine l’option d’authentification tcp entrante, recherche la clé d’authentification reçue et détermine si la clé est acceptable en fonction de l’heure de démarrage, de l’heure système et du paramètre de tolérance. Si la clé est acceptée, l’homologue destinataire 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 de réinitialisation de la session TCP. En outre, 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 ET de préfixe TCP

Les équipements Junos prennent en charge l’authentification TCP auprès des pairs BGP qui sont découverts via des sous-réseaux de préfixe 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) dans les 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, voir TCP.

Exemple : Configuration de l’authentification du routeur pour BGP

Tous les échanges de protocoles BGP peuvent être authentifiés pour garantir que seuls les équipements de routage de confiance participent aux mises à jour du routage autonome du système (AS). Par défaut, l’authentification est désactivée.

Conditions préalables

Avant de commencer :

  • Configurez les interfaces du routeur.

  • Configurez un protocole IGP (Interior Gateway Protocol).

Présentation

Lorsque vous configurez l’authentification, l’algorithme crée une somme de contrôle encodée qui est incluse dans le paquet transmis. L’équipement 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 configurer et appliquer le trousseau :

  • key— Un porte-clés peut avoir plusieurs clés. Chaque clé d’une chaîne de clés doit être identifiée par une valeur entière unique. La plage de valeurs d’identification valides est comprise entre 0 et 63.

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

  • tolerance—(Facultatif) Pour chaque trousseau de clés, vous pouvez configurer une valeur de tolérance d’inclinaison en quelques secondes. La tolérance d’inclinaison s’applique au récepteur acceptant les clés pour les mises à jour BGP. La plage de configuration est de 0 à 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 : bgp-auth. Vous pouvez avoir plusieurs chaînes de clés sur un équipement de routage. Par exemple, vous pouvez avoir un porte-clés 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 entré au format chiffré ou texte brut dans l’instruction secret . Il est toujours affiché au format chiffré.

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

  • authentication-key-chain: vous permet d’appliquer un keychain au niveau BGP global pour tous les pairs, pour un groupe ou pour un voisin. Cet exemple applique la chaîne de clés aux pairs définis dans le groupe BGP externe (EBGP) appelé ext.

  • authentication-algorithm— Pour chaque chaîne de clés, vous pouvez spécifier un algorithme de hachage. L’algorithme peut être AES-128, MD5 ou SHA-1.

    Vous associez une chaîne de clés 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 de 2011-6-23.20:19:33 -0700, et cessera d’être envoyée et acceptée lorsque la clé suivante du trousseau (clé 1) sera active. La clé 1 devient active un an plus tard à 2012-6-23.20:19:33-0700, et ne cesse pas d’être envoyée et acceptée à moins qu’une autre clé ne soit configurée avec une heure de démarrage postérieure à l’heure de début de la clé 1. Une tolérance d’inclinaison de 30 secondes s’applique au récepteur acceptant les clés. Pendant la période de tolérance, la clé actuelle ou précédente est acceptable. Les clés sont des mots de passe secrets partagés. 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). Les routeurs R0 et R1 doivent donc avoir la même configuration d’authentification-clé-chaîne s’ils sont configurés en tant que pairs. Cet exemple illustre la configuration sur un seul des équipements 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 cli

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à votre configuration réseau, puis copiez et collez les commandes dans la CLI au niveau de la [edit] hiérarchie.

Procédure

Procédure étape par étape

L’exemple suivant exige que vous parcouriez différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface cli, consultez Utilisation de l’éditeur CLI en mode de configuration dans le Guide de l’utilisateur de l’interface cli Junos OS.

Pour configurer le routeur R1 afin qu’il accepte les filtres de route de l’équipement 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émarrage de chaque clé doit être unique dans le trousseau.

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

  5. (Facultatif) Appliquez une valeur de tolérance faussée en quelques secondes.

Résultats

À partir du mode de configuration, confirmez votre configuration en entrant le show protocols, show routing-optionset show security les commandes. 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 fini de configurer l’équipement, saisissez commit à partir du mode de configuration.

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

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification de l’authentification pour le voisin

But

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

Action

Depuis le mode opérationnel, saisissez la show bgp neighbor commande.

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

But

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

Action

Depuis le mode opérationnel, saisissez la monitor traffic interface fe-0/0/1 commande.

Vérification des erreurs d’authentification

But

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

Action

Depuis le mode opérationnel, saisissez la show system statistics tcp | match auth commande.

Vérifier le fonctionnement du trousseau

But

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

Action

Depuis le mode opérationnel, saisissez la show security keychain detail commande.

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