Par Melchior Aelmans, Juniper Networks
Une des étapes essentielles pour sécuriser une table de routage est de s’assurer que les utilisateurs légitimes enregistrent leur propre annonce de route, c’est-à-dire qu’ils créent une autorisation d’origine de route (ROA), afin de permettre au système RPKI (Resource Public Key Infrastructure) de comparer les routes reçues et annoncées.
Découvrir le système RPKI
Le RPKI est un système communautaire auquel participent tous les RIR, divers éditeurs de logiciels et d’importants fournisseurs de routeurs. Il permet de vérifier l’origine du routage via le protocole BGP. Son objectif est donc de répondre à la question suivante : « Cette annonce de routage spécifique est-elle autorisée par le propriétaire légitime de la zone d’adresse en question ?« .
Il convient également de noter que le RPKI ne permet pas de valider l’ensemble de l’AS-PATH. Il indique seulement si l’AS d’origine peut annoncer ce préfixe particulier. Pour l’instant, il n’existe pas de véritable moyen de valider l’intégralité de la succession des AS contenus dans l’AS-PATH, mais l’IETF travaille sur cela. Vous trouverez de plus amples informations sur les sites https://datatracker.ietf.org/doc/draft-ietf-grow-rpki-as-cones/ et https://tools.ietf.org/html/draft-azimov-sidrops-aspa-verification-01.
Le recours au système RPKI requiert les deux types d’actions suivants :
- Le propriétaire légitime d’un préfixe IP doit créer un certificat, ou ROA, indiquant à partir de quel AS les préfixes seront annoncés (origine) et la longueur maximale autorisée des préfixes.
ATTENTION : seul le propriétaire du range d’adresses IP attribué peut créer une ROA pour cette utilisation. Cette méthode s’avère plus fiable que les autres données disponibles.
- Les autres opérateurs de réseau peuvent définir leurs politiques de routage en fonction de la validité RPKI des annonces de routes en les comparant aux ROA créées. Ce sont ces « routing-policies » qui permettront de rejeter les annonces non valides.
Comprendre ce que sont les autorisations d’origine de route (ROA)
La validation de l’origine permet notamment aux opérateurs de réseau de produire des déclarations sur les annonces de routage BGP qui peuvent être validées de manière cryptographique avec les préfixes qu’ils ont reçus. Ces déclarations sont appelées Autorisations d’Origine de Route (ROA). Elles indiquent quel AS est autorisé à annoncer un préfixe IP particulier. Elle peut en outre déterminer la longueur maximale du préfixe. Les autres administrateurs peuvent ensuite fonder leurs décisions de routage sur cette information.
La création de ROA pour la zone d’adresse IP au sein du système autonome (AS) implique que d’autres réseaux puissent toujours tenter de détourner les préfixes IP. Toutefois, les réseaux qui ont mis en œuvre le RPKI peuvent bloquer ces détournements.
Rejeter les routages invalides
Le système RPKI fait appel à un valideur doté d’une base de données de ROA qui permet au routeur de vérifier les itinéraires reçus. Si cette base de données indique que l’un d’entre eux n’est pas valide, il ne sera alors pas intégré à la table de routage. Ainsi, en signant leurs propres routes et en vérifiant les routes reçues, les utilisateurs contribuent à sécuriser leur table de routage globale. La vérification de toutes les routes reçues sur des entrées invalides garantit également qu’elles ne soient pas transmises à d’autres opérateurs, nœuds Internet et clients.
Plusieurs (grands) opérateurs tels que Cloudflare, AT&T, Fusix Networks, Coloclue ou Atom86 ont déjà mis en place des systèmes RPKI au sein de leurs réseaux et rejettent activement les routes invalides. Des manuels détaillés expliquant comment appliquer le RPKI au sein du réseau sont disponibles sur Internet. Vous trouverez également de nombreuses informations à ce sujet sur les sites web des RIR. De plus, la plupart des fournisseurs de réseaux proposent des informations sur la configuration des routeurs sur leur site web.
Cette approche peut conduire à s’interroger sur les lacunes d’une partie de la table de routage globale. Le rejet actif des itinéraires grâce au système RPKI signifie en effet qu’environ 0,79 % de l’Internet est actuellement omis de la table. Cela représente quelques milliers d’itinéraires.
La question est cependant de savoir pourquoi quelqu’un voudrait utiliser ces routes invalides. Compte tenu des dommages que cela pourrait causer, il n’est effectivement pas judicieux de prendre ce risque.
Il convient de commencer par intégrer un validateur RPKI, puis de vérifier les itinéraires reçus par les routeurs et de rejeter activement les entrées invalides pour éviter des problèmes comme le piratage BGP. Le risque de dommages est d’autant plus réel que de plus en plus de trafic réseau passe par l’internet public, que ce soit ou non via le SD-WAN.