Authentification pour les protocoles de routage
Vous pouvez configurer une méthode d’authentification et un mot de passe pour les messages de protocole de routage pour de nombreux protocoles de routage, notamment BGP, IS-IS, OSPF, RIP et RSVP. Pour empêcher l’échange de paquets non authentifiés ou falsifiés, les routeurs doivent s’assurer qu’ils forment des relations de protocole de routage (relations d’appairage ou de voisinage) avec des pairs de confiance. L’un des moyens d’y parvenir est d’authentifier les messages du protocole de routage. Les routeurs voisins utilisent le mot de passe pour vérifier l’authenticité des paquets envoyés par le protocole à partir du routeur ou d’une interface de routeur.
Cette rubrique fournit une vue d’ensemble et quelques exemples de base pour l’authentification des protocoles de routage. Pour obtenir des informations détaillées sur la configuration de l’authentification pour un protocole de routage spécifique, consultez le guide de l’utilisateur de ce protocole.
Méthodes d’authentification pour les protocoles de routage
Certains protocoles de routage (BGP, IS-IS, OSPF, RIP et RSVP) vous permettent de configurer une méthode d’authentification et un mot de passe. Les routeurs voisins utilisent le mot de passe pour vérifier l’authenticité des paquets que le protocole envoie depuis le routeur ou depuis une interface de routeur. Les méthodes d’authentification suivantes sont prises en charge :
-
Authentification simple (IS-IS, OSPF et RIP) : utilise un mot de passe texte simple. Le routeur de réception utilise une clé d’authentification (mot de passe) pour vérifier le paquet. Étant donné que le mot de passe est inclus dans le paquet transmis, cette méthode d’authentification est relativement peu sécurisée. Nous vous recommandons d’éviter d’utiliser cette méthode d’authentification.
-
MD5 et HMAC-MD5 (BGP, IS-IS, OSPF, RIP et RSVP) : MD5 crée un total de contrôle encodé inclus dans le paquet transmis. HMAC-MD5, qui combine l’authentification HMAC avec MD5, ajoute l’utilisation d’une fonction de hachage cryptographique itérée. Avec les deux types d’authentification, le routeur de réception utilise une clé d’authentification (mot de passe) pour vérifier le paquet. L’authentification HMAC-MD5 est définie dans la RFC 2104, HMAC : Hachage clé pour l’authentification des messages.
En général, les mots de passe d’authentification sont des chaînes de texte comprenant un nombre maximal de lettres et de chiffres. Les mots de passe peuvent inclure n’importe quel caractère ASCII. Si vous incluez des espaces dans un mot de passe, joignez tous les caractères entre guillemets (« »).
Junos-FIPS a des exigences de mot de passe spéciales. Les mots de passe FIPS doivent comporter entre 10 et 20 caractères. Les mots de passe doivent utiliser au moins trois des cinq jeux de caractères définis (majuscules, minuscules, chiffres, marques de ponctuation et autres caractères spéciaux). Si Junos-FIPS est installé sur le routeur, vous ne pouvez pas configurer les mots de passe à moins qu’ils ne répondent à cette norme.
Exemple : Configurer la clé d’authentification pour les protocoles de routage BGP et IS-IS
La tâche principale d’un routeur est d’utiliser ses tables de routage et de transfert pour transférer le trafic utilisateur vers sa destination prévue. Les attaquants peuvent envoyer des paquets de protocole de routage falsifiés à un routeur dans l’intention de modifier ou de corrompre le contenu de sa table de routage ou d’autres bases de données, ce qui peut à son tour dégrader les fonctionnalités du routeur et du réseau. Pour éviter de telles attaques, les routeurs doivent s’assurer qu’ils forment des relations de protocole de routage (appairage ou relations voisines) avec des pairs de confiance. L’un des moyens d’y parvenir est d’authentifier les messages du protocole de routage. Nous vous recommandons vivement d’utiliser l’authentification lors de la configuration des protocoles de routage.
Junos OS prend en charge l’authentification HMAC-MD5 pour BGP, IS-IS, OSPF, RIP et RSVP. HMAC-MD5 utilise une clé secrète associée aux données transmises pour calculer un hachage. Le hachage calculé est transmis en même temps que les données. Le destinataire utilise la clé correspondante pour récomputer et valider le hachage du message. Si un attaquant a falsifié ou modifié le message, le hachage ne correspond pas et les données sont rejetées.
Dans les exemples suivants, nous configurons BGP comme protocole de passerelle extérieure (EGP) et IS-IS comme protocole de passerelle intérieure (IGP). Si vous utilisez OSPF, configurez-le de la même manière que la configuration IS-IS affichée.
Configurer BGP
L’exemple suivant illustre la configuration d’une clé d’authentification unique pour les différents groupes d’homologues BGP. Vous pouvez également configurer l’authentification BGP au niveau du voisin ou de l’instance de routage, ou pour toutes les sessions BGP. Comme pour toute configuration de sécurité, il existe un compromis entre le degré de granularité (et, dans une certaine mesure, le degré de sécurité) et la quantité de gestion nécessaire à la maintenance du système.
Cet exemple configure également un certain nombre d’options de suivi pour les événements et les erreurs de protocole de routage, qui peuvent être de bons indicateurs des attaques contre les protocoles de routage. Ces événements incluent des échecs d’authentification de protocole, qui peuvent indiquer un attaquant. L’attaquant peut envoyer des paquets de routage usurpés ou malformés au routeur pour tenter d’obtenir un comportement particulier.
[edit] protocols { bgp { group ibgp { type internal; traceoptions { file bgp-trace size 1m files 10; flag state; flag general; } local-address 10.10.5.1; log-updown; neighbor 10.2.1.1; authentication-key "$9$aH1j8gqQ1gjyjgjhgjgiiiii"; } group ebgp { type external; traceoptions { file ebgp-trace size 10m files 10; flag state; flag general; } local-address 10.10.5.1; log-updown; peer-as 2; neighbor 10.2.1.2; authentication-key "$9$aH1j8gqQ1gjyjgjhgjgiiiii"; } } }
Configurer IS-IS
Bien que Junos OS l’authentification de tous les IGP soit prise en charge, certains IGP sont intrinsèquement plus sécurisés que d’autres. La plupart des fournisseurs de services utilisent OSPF ou IS-IS pour permettre une convergence et une évolutivité internes rapides et utiliser des capacités d’ingénierie de trafic avec MPLS. Étant donné qu’IS-IS n’opère pas au niveau de la couche réseau, il est plus difficile d’usurper qu’OSPF. OSPF est encapsulé dans ip et est donc sujet à des attaques d’usurpation et de déni de service (DoS) à distance.
L’exemple suivant configure l’authentification pour IS-IS. Il configure également un certain nombre d’options de suivi pour les événements et les erreurs de protocole de routage, ce qui peut être un bon indicateur des attaques contre les protocoles de routage. Ces événements incluent des échecs d’authentification de protocole, qui peuvent indiquer un attaquant. L’attaquant peut envoyer des paquets de routage usurpés ou malformés au routeur pour tenter d’obtenir un comportement particulier.
[edit] protocols { isis { level 1 { authentication-key "$9$aH1j8gqQ1gjyjgjhgjgiiiii"; # SECRET-DATA authentication-type md5; } interface at-0/0/0.131 { lsp-interval 50; level 2 disable; level 1 { metric 3; hello-interval 5; hold-time 60; } } interface lo0.0 { passive; } traceoptions { file isis-trace size 10m files 10; flag normal; flag error; } } }
Configurer le mécanisme de mise à jour des clés d’authentification pour les protocoles de routage
Vous pouvez configurer un mécanisme de mise à jour des clés d’authentification pour les protocoles de routage BGP, LDP et IS-IS. Ce mécanisme vous permet de mettre à jour les clés d’authentification sans interrompre les protocoles de routage et de signalisation associés tels que OSPF et RSVP.
Pour configurer cette fonctionnalité, incluez l’instruction authentication-key-chains
au niveau de la [edit security]
hiérarchie. Pour appliquer la chaîne de clés, vous devez configurer l’identifiant de la chaîne de clés et l’algorithme de la chaîne de clés au niveau hiérarchique approprié pour le protocole.
Les sections suivantes fournissent plus d’informations sur la configuration des mises à jour des clés d’authentification pour les protocoles de routage. Pour obtenir des informations détaillées sur la configuration des mises à jour des clés d’authentification pour un protocole de routage spécifique, consultez le guide de l’utilisateur de ce protocole.
- Configurer les mises à jour des clés d’authentification
- Configurer BGP et LDP pour les mises à jour des clés d’authentification
Configurer les mises à jour des clés d’authentification
Pour configurer le mécanisme de mise à jour des clés d’authentification, incluez l’instruction key-chain
au niveau de la [edit security authentication-key-chains]
hiérarchie et spécifiez l’option key
de créer un trousseau comprenant plusieurs clés d’authentification.
[edit security authentication-key-chains] key-chain key-chain-name { key key { algorithm (hmac-sha-1 | md5) options (basic | isis-enhanced) secret secret-data; start-time yyyy-mm-dd.hh:mm:ss; } }
key-chain
— Attribuez un nom au mécanisme de chaîne de clés. Vous référencez ce nom aux niveaux hiérarchiques appropriés pour le protocole afin d’associer des attributs d’authentification key-chain
uniques, comme spécifié à l’aide des options suivantes :
-
algorithm
— Algorithme d’authentification pour IS-IS. -
key
: valeur entière qui identifie de manière unique chaque clé d’un trousseau. La gamme est de 0 à 63. -
options
— (IS-IS uniquement) Format d’encodage de transmission du protocole pour l’encodage du code d’authentification du message dans les paquets du protocole de routage. -
secret
— Mot de passe au format texte chiffré ou texte brut. Même si vous saisissez les données secrètes au format texte brut, le secret apparaît toujours au format chiffré. -
start-time
— Heure de début de la transmission de la clé d’authentification, spécifiée en UTC. L’heure de début doit être unique dans le trousseau.
Configurer BGP et LDP pour les mises à jour des clés d’authentification
Pour configurer le mécanisme de mise à jour des clés d’authentification pour les protocoles de routage BGP et LDP, incluez l’instruction authentication-key-chain
au niveau hiérarchique [edit protocols (bgp | ldp)]
. L’inclusion de l’instruction authentication-key-chain
associe chaque protocole de routage aux clés d’authentification [edit security authentication-key-chains]
. Vous devez également configurer l’instruction authentication-algorithm
et spécifier l’algorithme. Par exemple :
[edit protocols] bgp { group group-name { neighbor address { authentication-algorithm algorithm; authentication-key-chain key-chain-name; } } } ldp { session session-addr { authentication-algorithm algorithm; authentication-key-chain key-chain-name; } }
Lors de la configuration du mécanisme de mise à jour de la clé d’authentification pour BGP, vous ne pouvez pas valider l’instruction 0.0.0.0/allow
avec des clés d’authentification ou des trousseaux. Si vous essayez cette action, la CLI émet un avertissement et la validation échoue.