Yandex implémente RPKI

Bonjour, je m'appelle Alexandre Azimov. Chez Yandex, je développe divers systèmes de surveillance, ainsi que l'architecture des réseaux de transport. Mais aujourd'hui, nous allons parler du protocole BGP.

Yandex implémente RPKI

Il y a une semaine, Yandex a activé le ROV (Route Origin Validation) aux interfaces avec tous les partenaires de peering, ainsi qu'aux points d'échange de trafic. Découvrez ci-dessous pourquoi cela a été fait et comment cela affectera l'interaction avec les opérateurs de télécommunications.

BGP et quel est le problème

Vous savez probablement que BGP a été conçu comme un protocole de routage interdomaine. Cependant, au fil du temps, le nombre de cas d'utilisation a réussi à croître : aujourd'hui, BGP, grâce à de nombreuses extensions, s'est transformé en un bus de messages, couvrant des tâches allant du VPN d'opérateur au désormais à la mode SD-WAN, et a même trouvé des applications comme un transport pour un contrôleur de type SDN, transformant le vecteur de distance BGP en quelque chose de similaire au protocole Links Sat.

Yandex implémente RPKI

Fig. 1. BGP-SAFI

Pourquoi BGP a-t-il reçu (et continue de recevoir) autant d’utilisations ? Il y a deux principales raisons:

  • BGP est le seul protocole qui fonctionne entre systèmes autonomes (AS) ;
  • BGP prend en charge les attributs au format TLV (type-length-value). Oui, le protocole n'est pas seul dans cela, mais comme rien ne le remplace aux jonctions entre opérateurs télécoms, il s'avère toujours plus rentable d'y rattacher un autre élément fonctionnel que de supporter un protocole de routage supplémentaire.

Quel est le problème avec lui? En bref, le protocole ne dispose pas de mécanismes intégrés pour vérifier l'exactitude des informations reçues. Autrement dit, BGP est un protocole de confiance a priori : si vous voulez dire au monde que vous possédez désormais le réseau de Rostelecom, MTS ou Yandex, s'il vous plaît !

Filtre basé sur IRRDB - le meilleur du pire

La question se pose : pourquoi Internet fonctionne-t-il encore dans une telle situation ? Oui, cela fonctionne la plupart du temps, mais en même temps, cela explose périodiquement, rendant inaccessibles des segments nationaux entiers. Bien que l’activité des pirates informatiques dans BGP soit également en augmentation, la plupart des anomalies sont toujours causées par des bugs. L'exemple de cette année est petite erreur de l'opérateur en Biélorussie, qui a rendu une partie importante d'Internet inaccessible aux utilisateurs de MegaFon pendant une demi-heure. Un autre exemple - optimiseur BGP fou a brisé l'un des plus grands réseaux CDN au monde.

Yandex implémente RPKI

Riz. 2. Interception du trafic Cloudflare

Mais encore, pourquoi de telles anomalies se produisent-elles une fois tous les six mois, et pas tous les jours ? Parce que les opérateurs utilisent des bases de données externes d'informations de routage pour vérifier ce qu'ils reçoivent des voisins BGP. Ces bases de données sont nombreuses, certaines sont gérées par des bureaux d'enregistrement (RIPE, APNIC, ARIN, AFRINIC), d'autres sont des acteurs indépendants (le plus connu est RADB), et il existe également tout un ensemble de bureaux d'enregistrement détenus par de grandes entreprises (Niveau 3). , NTT, etc.). C'est grâce à ces bases de données que le routage inter-domaines maintient la relative stabilité de son fonctionnement.

Il existe cependant des nuances. Les informations de routage sont vérifiées sur la base des objets ROUTE-OBJECTS et AS-SET. Et si la première implique une autorisation pour une partie de l'IRRDB, alors pour la seconde classe il n'y a pas d'autorisation en tant que classe. Autrement dit, n’importe qui peut ajouter n’importe qui à ses ensembles et ainsi contourner les filtres des fournisseurs en amont. Par ailleurs, l’unicité de la dénomination AS-SET entre les différentes bases IRR n’est pas garantie, ce qui peut conduire à des effets surprenants avec une perte brutale de connectivité pour l’opérateur télécom, qui, de son côté, n’a rien changé.

Un défi supplémentaire réside dans le modèle d’utilisation d’AS-SET. Il y a deux points ici:

  • Lorsqu'un opérateur obtient un nouveau client, il l'ajoute à son AS-SET, mais ne le supprime presque jamais ;
  • Les filtres eux-mêmes sont configurés uniquement au niveau des interfaces avec les clients.

De ce fait, le format moderne des filtres BGP consiste à dégrader progressivement les filtres aux interfaces avec les clients et à faire a priori confiance à ce qui vient des partenaires de peering et des fournisseurs de transit IP.

Qu'est-ce qui remplace les filtres de préfixe basés sur AS-SET ? Le plus intéressant, c’est qu’à court terme, rien. Mais des mécanismes supplémentaires émergent qui complètent le travail des filtres basés sur IRRDB, et tout d'abord, il s'agit bien sûr du RPKI.

RPKI

De manière simplifiée, l’architecture RPKI peut être considérée comme une base de données distribuée dont les enregistrements peuvent être vérifiés cryptographiquement. Dans le cas du ROA (Route Object Authorization), le signataire est le propriétaire de l'espace d'adressage, et l'enregistrement lui-même est un triple (préfixe, asn, max_length). Essentiellement, cette entrée postule ce qui suit : le propriétaire de l'espace d'adressage $prefix a autorisé le numéro AS $asn à annoncer des préfixes d'une longueur ne dépassant pas $max_length. Et les routeurs, utilisant le cache RPKI, sont capables de vérifier la conformité de la paire. préfixe - premier orateur en route.

Yandex implémente RPKI

Figure 3. Architecture RPKI

Les objets ROA sont standardisés depuis assez longtemps, mais jusqu'à récemment, ils restaient uniquement sur papier dans le journal de l'IETF. À mon avis, la raison en est effrayante : un mauvais marketing. Une fois la normalisation terminée, l’incitation était que ROA protégeait contre le détournement de BGP – ce qui n’était pas vrai. Les attaquants peuvent facilement contourner les filtres basés sur ROA en insérant le numéro AC correct au début du chemin. Et dès que cette prise de conscience s’est produite, la prochaine étape logique a été d’abandonner l’utilisation du ROA. Et vraiment, pourquoi avons-nous besoin de technologie si elle ne fonctionne pas ?

Pourquoi est-il temps de changer d’avis ? Parce que ce n’est pas toute la vérité. ROA ne protège pas contre l'activité des pirates dans BGP, mais protège contre les détournements accidentels de la circulation, par exemple à cause de fuites statiques dans BGP, qui sont de plus en plus courantes. De plus, contrairement aux filtres basés sur IRR, le ROV peut être utilisé non seulement aux interfaces avec les clients, mais également aux interfaces avec les pairs et les fournisseurs en amont. Autrement dit, parallèlement à l'introduction du RPKI, la confiance a priori disparaît progressivement de BGP.

Aujourd'hui, la vérification des itinéraires basée sur le ROA est progressivement mise en œuvre par les principaux acteurs : le plus grand IX européen élimine déjà les itinéraires incorrects ; parmi les opérateurs de niveau 1, il convient de souligner AT&T, qui a activé des filtres aux interfaces avec ses partenaires de peering. Les plus grands fournisseurs de contenu se rapprochent également du projet. Et des dizaines d’opérateurs de transport en commun de taille moyenne l’ont déjà mis en œuvre discrètement, sans en parler à personne. Pourquoi tous ces opérateurs mettent-ils en œuvre le RPKI ? La réponse est simple : protéger votre trafic sortant des erreurs des autres. C'est pourquoi Yandex est l'un des premiers en Fédération de Russie à inclure le ROV à la périphérie de son réseau.

Qu'est-ce qui va se passer?

Nous avons désormais activé la vérification des informations de routage aux interfaces avec les points d'échange de trafic et les peerings privés. Dans un avenir proche, la vérification sera également activée auprès des fournisseurs de trafic en amont.

Yandex implémente RPKI

Quelle différence cela fait-il pour vous ? Si vous souhaitez augmenter la sécurité du routage du trafic entre votre réseau et Yandex, nous vous recommandons :

  • Signez votre espace d'adressage dans le portail RIPE - c'est simple, cela prend 5 à 10 minutes en moyenne. Cela protégera notre connectivité dans le cas où quelqu'un vole involontairement votre espace d'adressage (et cela arrivera certainement tôt ou tard) ;
  • Installez l'un des caches RPKI open source (validateur mûr, routinier) et activez la vérification de l'itinéraire à la frontière du réseau - cela prendra plus de temps, mais encore une fois, cela ne posera aucune difficulté technique.

Yandex prend également en charge le développement d'un système de filtrage basé sur le nouvel objet RPKI - UN SPA (Autorisation du fournisseur de système autonome). Les filtres basés sur les objets ASPA et ROA peuvent non seulement remplacer les AS-SET « qui fuient », mais également résoudre les problèmes d'attaques MiTM utilisant BGP.

Je parlerai en détail d'ASPA dans un mois lors de la conférence Next Hop. Des collègues de Netflix, Facebook, Dropbox, Juniper, Mellanox et Yandex y prendront également la parole. Si vous êtes intéressé par la pile réseau et son développement futur, venez les inscriptions sont ouvertes.

Source: habr.com

Ajouter un commentaire