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 par routeur pour BGP

L’utilisation d’un routeur, de l’authentification de routage et de l’intégrité du routage réduit considérablement le risque d’attaque 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 de routes 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, sur la base d’un mot de passe (clé). Dans cette méthode, une clé hachée est envoyée avec la route envoyée à un autre routeur. Le routeur récepteur compare la clé envoyée à sa propre clé configurée. S’ils sont identiques, il accepte la route. En utilisant un algorithme de hachage, la clé n’est pas envoyée sur le fil en texte clair. Au lieu de cela, un hachage est calculé à l’aide de la clé configurée. La mise à jour de 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 route au routeur récepteur. Le routeur récepteur compare le hachage reçu avec un hachage qu’il génère lors de la mise à jour de route à 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 approuvée. La clé n’est connue que des routeurs émetteur et récepteur.

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 du mot de passe sans interrompre les sessions d’appairage. Cette méthode d’authentification par trousseau est dite sans impact, car les clés passent d’une unité à l’autre sans réinitialiser les sessions d’appairage ni interrompre le 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 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 destinataire détermine la clé avec laquelle il s’authentifie en fonction de l’identifiant de clé entrant.

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

L’homologue récepteur 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ébut, 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 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.

Junos OS prend en charge deux méthodes d’authentification de route BGP : la clé d’authentification statique et les trousseaux. Les deux approches permettent de garantir que les homologues BGP échangent des informations de routage en toute sécurité.

  • La méthode de clé d’authentification statique consiste à spécifier une clé fixe directement dans la configuration BGP. Cette méthode est plus simple dans les environnements où la gestion des clés est simple.

  • La méthode du porte-clés offre une plus grande flexibilité et prend en charge la rotation des clés pour une sécurité accrue.

Pour obtenir une configuration détaillée et des exemples, consultez :

Méthodes d’authentification BGP

Toutes les informations d’authentification BGP sont stockées dans l’en-tête du paquet TCP. Il existe deux types de méthodes d’authentification BGP. Authentification TCP MD5 et option d’authentification TCP (TCP-AO). Vous pouvez configurer l’un ou l’autre, mais pas les deux, simultanément pour la même session.

Types d’authentification BGP
  1. L’authentification TCP MD5 (RFC 2385) est une méthode largement utilisée qui utilise un hachage à clé à l’aide de l’algorithme MD5 appliqué aux segments TCP. Les deux pairs ont besoin d’une clé secrète partagée. Bien que simple, elle présente des limites en matière de sécurité.

    Si vous configurez l’authentification MD5 pour un protocole de routage sur des appareils Juniper, vous n’avez pas besoin de configurer séparément une méthode d’authentification par trousseau. Au lieu de cela, vous configurez la clé MD5 directement ou utilisez un collier de clés d’authentification qui contient les clés MD5. L’authentification MD5 nécessite la même configuration de clé MD5 aux deux extrémités. La méthode d’authentification est MD5 et le trousseau est utilisé pour gérer les clés. Vous ne configurez pas de « méthode d’authentification par trousseau » distincte de MD5.

    L’option d’authentification TCP (TCP-AO) (RFC 5925) est une option plus robuste que MD5, qui utilise une clé principale pour générer et modifier périodiquement les clés de session, généralement avec AES. Il offre une protection renforcée et permet de basculer les touches sans heurts.

  2. TCP-AO est une amélioration ou une extension de TCP MD5. Il améliore l’authentification en autorisant plusieurs phrases de passe qui changent selon un calendrier prédéfini. Il améliore également TCP MD5 en autorisant plus de méthodes d’authentification que MD5.

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]

Authentification TCP et sous-réseaux de préfixes

Les appareils Junos prennent en charge l’authentification TCP auprès des homologues BGP 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 les préfixes pour TCP-AO ou TCP MD5 pour les sessions BGP, vous pouvez configurer l’instruction allow (all | prefix-list) au niveau des 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 de routeur pour BGP

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

Exigences

Avant de commencer :

  • Configurez les interfaces du routeur.

  • Configurez un Interior Gateway Protocol (IGP).

Vue d’ensemble

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 récepteur utilise une clé d’authentification (mot de passe) pour vérifier la somme de contrôle du paquet.

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

  • key: un trousseau peut comporter plusieurs clés. Chaque clé d’un trousseau 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 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 d’inclinaison d’horloge en secondes. La tolérance d’inclinaison d’horloge s’applique au destinataire 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 : bgp-auth. Vous pouvez avoir plusieurs trousseaux sur un équipement 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 chiffré ou en texte brut dans la secret déclaration. Il est toujours affiché dans un format crypté.

  • start-time: chaque touche doit spécifier une heure de début au format UTC. Le contrôle est transmis d’une touche à 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ébut devient active. Les heures de début 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 trousseau au niveau BGP global à tous les pairs, à 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 clé suivante du trousseau (clé 1) deviendra active. La clé 1 devient active un an plus tard au 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 d’inclinaison de l’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 secrets partagés. Cela signifie que les voisins qui reçoivent les mises à jour de routage authentifiées doivent avoir la même configuration de trousseau de clés d’authentification, y compris les mêmes clés (mots de passe). Ainsi, le routeur R0 et le routeur R1 doivent avoir la même configuration de trousse de clés d’authentification s’ils sont configurés en tant qu’homologues. Cet exemple montre la configuration sur un seul des équipements de routage.

Diagramme de topologie

La figure 1 illustre la topologie utilisée dans cet exemple.

Figure 1 : Authentification pour BGP Authentication for BGP

La configuration

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, puis copiez-collez les commandes dans le CLI 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 la CLI, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI de 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 sortante à 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 à BGP et définissez l’algorithme de hachage.

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

Résultats

En mode configuration, confirmez votre configuration en entrant les show protocolscommandes , 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, entrez en commit mode configuration.

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

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification de l’authentification pour le voisin

Objet

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

Mesures à prendre

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

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

Objet

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

Mesures à prendre

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

Vérification des erreurs d’authentification

Objet

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

Mesures à prendre

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

Vérification du fonctionnement du trousseau

Objet

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

Mesures à prendre

À 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’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.

Libération
Descriptif
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 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
À partir de la version 19.1R1 de Junos OS, 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.