PFE RADEEF - Utilisateur Windows
PFE RADEEF - Utilisateur Windows
Tout d'abord, nous voudrions louer et remercier Dieu, le tout-puissant, qui nous a accordé
d'innombrables bénédictions, connaissances et opportunités afin que nous ayons enfin pu
accomplir ce travail.
Par la suite, nous remercions chaleureusement Pr. BOUSHABA Abdelali, notre encadrant
académique pour sa disponibilité, sa bienveillance, son implication, et surtout ses précieuses
recommandations qui nous été une aide inestimable.
Notre profond respect, et nos vifs remerciements aux autres membres du jury, Pr. MAJDA
Aicha et Pr. OUZARF Mohamed de nous avoir honorés en acceptant d’évaluer et de juger ce
modeste travail.
Nous tenons à exprimer notre profond sentiment de reconnaissance à toutes les personnes qui
ont contribué, de près ou de loin, au bon déroulement de notre projet de fin d’études et qui ont
favorisé sont aboutissement.
2
Dédicace
A nos chers parents, pour tout leur amour, leur tendresse, leurs prières et leur
soutien au long de nos parcours universitaires. Aucune dédicace ne saurait être
assez éloquente pour exprimer leurs efforts nuit et jour pour notre bien-être.
A nos professeurs qui ne cessent de nous encourager tout le temps et d’être une
source d’admiration et de profond respect. Nous vous remercions pour vos
efforts déployés afin de contribuer à notre formation.
3
Résumé
En tant que protocole de routage interdomaine, le Border Gateway Protocol (BGP) est le
ciment qui maintient ensemble les parties disparates d'Internet. Une limitation majeure de ce
protocole est son incapacité à traiter de manière adéquate la sécurité, les récentes pannes et
analyses de sécurité indiquent clairement que l'infrastructure de routage Internet est très
vulnérable.
Dans ce PFE, nous focaliserons sur les vulnérabilités actuelles du système de routage
interdomaine et à la fois aux efforts de recherche et de normalisation relatifs à la sécurité en
BGP. Nous explorons les limites et les avantages des extensions de sécurité proposées pour ce
protocole et la raison du manque d’implémentation globale de ces solutions, enfin nous
réaliserons un scénario d’une implémentation du protocole BGP, ainsi qu’une configuration
de sécurité d’une session BGP.
Abstract
As a cross-domain routing protocol, the Border Gateway Protocol (BGP) is the glue that holds
disparate parts of the Internet together. A major limitation of this protocol is its inability to
adequately handle security, recent failures and security scans have made it clear that the
Internet routing infrastructure is very vulnerable.
In this PFE, we focus on the current vulnerabilities of the interdomain routing system and
both research and standardization efforts related to security in BGP. We explore the limits and
advantages of the security extensions proposed for this protocol and the reason for the lack of
global implementation of these solutions, finally we will realize a scenario of implementation
of the BGP protocol, as well as a security configuration of a BGP session.
4
Table des matières
Remerciements ....................................................................................................................................... 2
Dédicace .................................................................................................................................................. 3
Résumé .................................................................................................................................................... 4
Abstract ................................................................................................................................................... 4
Introduction générale............................................................................................................................ 11
Conclusion ......................................................................................................................................... 31
5
3.1.2. Mauvaise configuration ................................................................................................. 34
Conclusion ......................................................................................................................................... 39
Annexe 1 ................................................................................................................................................ 48
Annexe 2 ................................................................................................................................................ 54
Webographie ......................................................................................................................................... 56
6
Liste des figures
Figure 1 : Organigramme de la RADEEF ................................................................................ 14
Figure 2 : Organigramme du Département des Systèmes d’Information ................................. 15
Figure 3 : Tableau des taches du projet .................................................................................... 16
Figure 4 : Diagramme de Gantt ................................................................................................ 16
Figure 5 : Propagation d’un préfixe IP sur l’Internet ............................................................... 19
Figure 6 : Diagramme de machine à états finis BGP ............................................................... 20
Figure 7 : relation de Peering en BGP...................................................................................... 21
Figure 8 : Relation client/transitoire......................................................................................... 21
Figure 9 : session eBGP direct ................................................................................................. 22
Figure 10 : Session eBGP multihop ......................................................................................... 22
Figure 11 : Session eBGP établies via un serveur de routes .................................................... 23
Figure 12 : session iBGP avec les adresses loopback .............................................................. 23
Figure 13 : affichage de certains attributs de chemin BGP ...................................................... 26
Figure 14 : Processus de sélection de route BGP dans un routeur Cisco ................................. 27
Figure 15 : maillage complet dans iBGP ................................................................................. 28
Figure 16 : iBGP avec réflecteur de route ................................................................................ 29
Figure 17: filtrage d’annonce d’un préfixe .............................................................................. 30
Figure 18 : diversité du routeur de bord .................................................................................. 30
Figure 26 : nombre de détournement de préfixe dans 2020 ..................................................... 33
Figure 27 : exemple de détournement de préfix. ...................................................................... 34
Figure 28 : Comparaison des incidents BGP entre 2019 et 2020............................................. 36
Figure 29 : Le taux d'implémentation du PRKI ....................................................................... 37
Figure 30 : Mécanisme de sécurité TTL .................................................................................. 38
Figure 31 : Protection de chemin avec BGPSec ...................................................................... 39
Figure 19 : topologie réalisé ..................................................................................................... 42
Figure 20 : Ping du routeur C1 vers C4 ................................................................................... 43
Figure 21 : Ping du routeur C4 vers C1 ................................................................................... 43
Figure 22 : Message OPEN ...................................................................................................... 44
Figure 23 : message KEEP ALIVE .......................................................................................... 44
Figure 24 : message UPDATE ................................................................................................. 45
Figure 25 : Message NOTIFICATION .................................................................................... 45
Figure 32 : MD5 n'est pas activée dans un routeur BGP ......................................................... 45
Figure 33 : MD5 est activée uniquement d’un côté de la session BGP ................................... 46
Figure 34 : MD5 est activée dans les deux voisins BGP ......................................................... 46
7
Figure 35 : TTL Security n'est pas activée ............................................................................... 46
Figure 36 : GTSM est activée .................................................................................................. 46
8
Liste des acronymes
AS Autonomous System
IP Internet Protocol
9
RIB Routing Information Base
10
Introduction générale
L’Internet se compose de nombreux sous-réseaux, qui sont connectés les uns aux autres. Ces
sous-réseaux sont les systèmes autonomes (AS) qui composent l’Internet : chacun en héberge
une partie. Afin d’échanger les routes d'un de ces AS à l'autre, le Border Gateway Protocol
(BGP) est utilisé. Ce protocole souffre de plusieurs failles de sécurité, et leur exploitation
peuvent rendre certaines parties d'Internet temporairement inaccessibles. Afin de lutter contre
ces failles, plusieurs solutions de sécurité ont déjà été développées. Cependant, aucun de
ceux-ci n’est déployé à grande échelle.
Dans ce travail nous listerons les différents risques de sécurité applicables aux
interconnexions de réseau. Enfin, nous détaillerons les nouveaux mécanismes mis à
disposition des opérateurs pour améliorer la sécurité de l’Internet à travers BGP, et pour lutter
contre les menaces comme le détournement des paquets d’information.
Ce rapport est composé de 4 chapitres, dans le premier chapitre nous présentons le contexte
général et la conduite du projet adoptée, le second chapitre est consacré aux généralités sur le
routage interdomaine et particulièrement le protocole BGP, le chapitre 3 expose les menaces
et les problèmes de sécurité de BGP, ainsi que quelques services de sécurité qui doivent être
déployés pour prévenir une attaque réseau à travers ce protocole, le quatrième chapitre
contient une analyse et une simulation d’un scénario d’implémentation de BGP.
11
1. CHAPITRE 1 :
CONTEXTE GENERALE
DU PROJET
Chapitre 1: Contexte
Générale du Projet
12
1.1. Présentation générale de la RADEEF
La Régie Autonome intercommunale de Distribution d'Eau et d'Electricité de la wilaya de Fès
(RADEEF) est un établissement public à caractère industriel et commercial, doté de la
personnalité morale et de l’autonomie financière, placé sous la tutelle du Ministère de
l’Intérieur.
La RADEEF a été créé par délibération du conseil municipal de la ville de Fès en date du
30 avril et 29 août 1969 en vertu du Dahir n° 1.59.315 du 23 Juin 1960 relatif à l’Organisation
communale, et ce après l’expiration du contrat de concession dont bénéficiait la Compagnie
Fassie d’Electricité (CFE) au titre de la distribution de l’énergie électrique.
La dotation en capital de la Régie, à sa création, fut constituée par l’apport initial auquel se
sont ajoutés la valeur des installations, du matériel et du stock remis par la ville ainsi que les
fonds détenus pour le compte de celle-ci par l’ancien concessionnaire.
13
1.2. Organigramme de l’organisme
14
Ce département est subdivisé en quatre divisions selon l’organigramme suivant :
15
Figure 3 : Tableau des taches du projet
16
2. Chapitre 2: Principe
deFonctionnement de BGP
Chapitre 2 : Principe de
Fonctionnement de BGP
17
Dans ce chapitre, nous présentons un aperçu détaillé sur le protocole BGP et certaines de
ses caractéristiques, nous décrivons les différents états et messages échangées lors d’une
initialisation d’une connexion BGP, puis nous expliquons l’algorithme de sélection de la
meilleure route de ce protocole.
18
Figure 5 : Propagation d’un préfixe IP sur l’Internet
• Idle : c’est la première étape d’une connexion BGP. BGP attend un événement Start,
qui est initié par un opérateur réseau (un administrateur établissant une session BGP
via la configuration d’un routeur ou en réinitialisant une session déjà existante) ce qui
provoque généralement un événement Start. Après l'événement Start, BGP initialise
ses ressources, initie une connexion TCP et commence à attendre l’initialisation d’une
connexion BGP par un voisin, BGP passe ensuite à l'état Connect. En cas d'erreur,
BGP revient à l'état Idle.
• Connect : BGP initie la connexion TCP, si la négociation TCP à trois voies se termine,
le processus de session BGP établi réinitialise le ConnectRetryTimer (la durée entre
les tentatives d’établissement d’une connexion au voisin BGP tombé en panne) et
envoie un message Open au voisin, puis passe à l'état OpenSent. Si le temporisateur
ConnectRetry s'épuise avant la fin de cette étape, une nouvelle connexion TCP est
tentée, le temporisateur ConnectRetry est réinitialisé et l'état passe à Actif. Si un autre
résultat est reçu, l'état passe à Idle.
• Active : BGP démarre une nouvelle négociation TCP à trois voies. Si une connexion
est établie, un message Open est envoyé et l'état passe à OpenSent. Si cette tentative
19
de connexion TCP échoue, l'état revient à l'état Connect et réinitialise le
ConnectRetryTimer.
• OpenSent : BGP attend un message OPEN de son voisin (les deux messages OPEN
sont vérifiés pour les erreurs), en cas d'erreurs (un mauvais numéro de version) le
système envoie un message NOTIFICATION d'erreur et repasse à l’état Idle. S'il n'y a
pas d'erreurs, BGP commence à envoyer des messages KEEPALIVE et l’état passe à
OpenConfirm.
• OpenConfirm : BGP attend un message KEEPALIVE ou NOTIFICATION. À la
réception du KEEPALIVE d'un voisin, l'état passe à Established. Si le holdtimer
expire, un événement d'arrêt se produit ou un message de NOTIFICATION est reçu,
l'état passe à Idle.
• Established : la session BGP est établie. Les voisins BGP échangent des routes via des
messages UPDATE (les messages UPDATE et KEEPALIVE sont reçus), le holdtimer
est réinitialisée. Si le holdtimer expire, une erreur est détectée et BGP remet le voisin à
l'état idle.
20
➢ La relation de Peering
La relation de Peering est une connexion point à point entre des systèmes autonomes pairs
(figure 7), on configure une session BGP sur chaque interface d’une liaison point à point de
telle façon à ce que les sessions réalisées aux points de sortie du réseau avec les hôtes voisins
en dehors d’AS. Un AS exporte uniquement les routes d’un pair vers ses clients et les routes
d’un client vers un pair, cette relation est souvent sans règlement (gratuit).
➢ La relation client/transitoire
Dans la relation client/transitoire, l’AS client attend de son transitaire de relayer l’ensemble
de ses paquets de trafic vers le reste de l’internet. Pour ce faire le client annonce au transitaire
via les sessions eBGP l’ensemble de ses propres routes, ainsi que celles des éventuels clients
(figure 8). En contrepartie, le transitaire annonce au client l’ensemble des routes de l’Internet.
Cette relation est en général fondée sur des bases contractuelles avec contrepartie financière,
le client payant son fournisseur pour le service de transit.
21
2.4.1. Mode eBGP
➢ Session eBGP directe
C’est la forme la plus traditionnelle d’établissement des sessions eBGP. En général, les deux
routeurs sont directement connectés. L’interconnexion peut être réalisée par un câble ou à
travers un équipement de transmission (figure 9) [4].
L’eBGP multihop permet une connexion voisine entre deux locuteurs eBGP (routeur parlant
BGP) qui n'ont pas de connexion directe. La configuration de cette session doit alors préciser
que la session est multihop, et contenir une information sur le nombre de sauts IP maximum
que le paquet BGP traverse entre les deux points de montage.
➢ Serveur de routes
En général, les routes IP sont directement raccordées deux à deux. Mais, dans le cas d’un
point d’échange, lorsque de nombreux opérateurs désirent se connecter ensemble, ces
raccordements nécessiteraient de réaliser un maillage complet ou un full-mesh (chaque
routeur BGP établit une relation de voisinage avec tous les autres routeurs BGP) de session
eBGP, ce qui complexifierait l’architecture, Internet eXchange Point ou (IXP) peut alors offrir
un serveur de routes, c’est-à-dire un équipement IP qui réalisera uniquement l’échange de
routes entre les AS (figure 11). Au lieu de maintenir un voisinage eBGP individuel et direct
avec tous les autres fournisseurs, un fournisseur d’accès Internet ou Internet Service Provider
(SP) ne maintient qu'une seule connexion au serveur routeur exploité par l'IXP, ce qui réduit
la complexité de la configuration sur chaque routeur frontière, les besoins en CPU et en
22
mémoire et évite la plupart des surcharges opérationnelles encourues par les accords de
voisinage individualisés [2].
23
• Les valeurs des timers à utiliser sur cette session (par exemple le hold timer, durée
maximale entre la réception de deux messages, sur la session avant de déclarer
celle-ci comme down).
• La capacité à échanger des numéros d’AS.
✓ Message KEEPALIVE : Echangés périodiquement si aucun autre message n’est
transmis sur la session, afin qu’un routeur BGP soit capable de déterminer que son
voisin est toujours disponible. Pour calculer l’intervalle de temps auquel il faut les
émettre, le routeur récupère la valeur du paramètre hold timer contenu dans le message
OPEN et le divise par 3. Lorsqu’un voisin ne reçoit aucun message sur une session
pendant la totalité de la durée du hold timer, il détecte la perte de son voisin et clôt la
session BGP.
✓ Message NOTIFICATION : Emis, lors de la clôture d’une session et spécifiant une
condition d’erreur, il contient le code et le sous-code d’erreur pour fournir des
précisions sur la nature d’erreur.
✓ Message UPDATE : Contenant les informations d’accessibilité réseau, à savoir les
annonces de nouvelles routes ou parfois d’indisponibilité d’un réseau destination, les
messages étant alors qualifiés de withdrawal, accompagnés de tous ses attributs de
routes. Pour chaque session BGP qu’il maintient avec un voisin BGP, le routeur BGP
construit une table de routage, contenant les informations de routages émises par ce
voisin.
✓ Message ROUTE-REFRESH : Le message d'actualisation de routes est utilisé pour
demander de manière dynamique à un annonceur de routes BGP de renvoyer les
messages UPDATE.
24
une erreur NOTIFICATION est générée et la session est fermée. Ceci permet de s’assurer que
toutes les implémentations BGP s’accordent sur un ensemble standard d’attributs.
Well-known discretionary (WD) : Un attribut qui est reconnu par toutes les implémentations
BGP, mais qui peut ou non être envoyé dans le message UPDATE.
Optional transitive (OT) : Un attribut qui n’est pas besoin d’être compris par toutes les
implémentations BGP, si un attribut facultatif n’est pas reconnu par l’implémentation BGP,
cette implémentation recherche un indicateur transitif pour voir s’il est défini pour cet attribut
particulier. Si l’indicateur est défini. L’implémentation BGP doit accepter l’attribut et le
transmettre à d’autres locuteurs BGP.
Optional non transitive (ON) : Lorsqu’un attribut facultatif n’est pas reconnu et que
l’indicateur transitif n’est pas défini, l’attribut doit être discrètement ignoré et non transmis à
d’autres locuteurs BGP.
AS Path : L’AS Path est un attribut obligatoire qui est présent pour tous les préfixes échangés
entre les voisins BGP. Lorsqu'un routeur BGP envoie un message UPDATE à un voisin d’un
AS différent, il ajoute son propre numéro AS à l'avant (côté gauche) du chemin AS, le chemin
AS répertorie tous les AS qui doivent être traversés pour atteindre l'emplacement d'où le
préfixe auquel le chemin est attaché est annoncé.
Next_hop : L'attribut next_hop est l'adresse IP du prochain saut qui va être utilisée pour
atteindre une certaine destination. Pour eBGP, le prochain saut est toujours l'adresse IP du
voisin spécifié dans la commande (neighbor) [7].
Weight : Le poids est également l'un des attributs uniques, car sa valeur n'est pas transmise
aux autres routeurs. Le poids est une valeur attribuée aux préfixes en tant que valeur
localement significative, c’est est un nombre simple compris entre 0 et 65535, et plus la
valeur de poids est élevée, plus la préférence pour ce chemin est élevée. Lorsque le préfixe est
généré localement, il aura un poids de 32768. Sinon, le poids par défaut est 0 pour un préfixe.
25
Local_Pref : La préférence locale est une indication à l'AS sur le chemin qui est préféré pour
sortir de l'AS, afin d'atteindre un certain réseau (un chemin avec une préférence locale plus
élevée est plus préféré), la valeur par défaut de la préférence locale est 100. Contrairement à
l'attribut de poids qui ne concerne que le routeur local, la préférence locale est un attribut qui
est échangé entre les routeurs du même AS.
Un exemple des attributs de chemin pour le préfixe 100.100.100.0/24 reçu par le routeur
TPA1 est illustré dans la figure 13.
26
Figure 14 : Processus de sélection de route BGP dans un routeur Cisco
27
changement dynamique des états de liaison. Sur Internet, le flapping (l’apparition et la
disparition d’une route dans la table de routage) peut arriver très souvent. Un protocole de
routage à état de lien (comme OSPF) n'est pas adapté pour gérer cette situation. Cependant,
iBGP n'a pas de mécanisme de détection de boucle, alors une topologie de maillage complet
doit être maintenue parmi les routeurs de bord, de sorte que chaque nœud interne doit établir
des sessions iBGP avec tous autres les routeurs de bord pour garantir une visibilité complète.
Le nombre de session nécessaire pour former cette maille complète entre n routeurs est
n (n−1)
et chaque routeur doit gérer (n-1) session (figure 15) [9].
2
28
Figure 16 : iBGP avec réflecteur de route
➢ La performance
BGP est le protocole qui consomme le plus de ressources. Actuellement, le protocole BGP
échange des dizaines de messages par seconde pour mettre à jour des centaines de routes dans
la table de routage. De plus, le protocole peut atteindre des centaines de connexions TCP avec
des routeurs voisins pour réaliser cet échange. Avec la croissance continue de l’Internet, ces
nombres de connexions vont sûrement continuer à croître Cette croissance prévue de trafic du
BGP risque de nuire aux autres protocoles qui s’exécutent sur la même interface de réseau et
pourra par la suite produire une dégradation de la performance au niveau du même routeur.
29
Figure 17: filtrage d’annonce d’un préfixe
Dans la figure 17, le routeur RTB initie le réseau 160.10.0.0 et envoie la mise à jour à RTC.
Si RTC veut arrêter la propagation des mises à jour à AS 100, on doit définir une liste d'accès
pour filtrer ces mises à jour pendant la communication avec RTA.
➢ Diversité de chemins
La conception BGP offre une flexibilité limitée en ce qui concerne la sélection de chemin.
L'objectif principal du protocole est d'offrir au moins un chemin pour chaque destination, ce
qui est suffisant dans des conditions normales. D'autre part, en cas de panne d'un lien ou d'un
routeur, l'accessibilité est interrompue et le trafic peut être perdu en attendant la reprise après
panne. Le nombre de routes disponibles pour atteindre une destination est suffisant pour
assurer la redondance. Habituellement, un préfixe peut être atteint via plusieurs AS voisins.
Les annonces de préfixe sont souvent cohérentes sur les liens vers le même AS voisin, ce qui
signifie que les chemins annoncés sont similaires (figure 18), à l'exception de l'attribut
next_hop qui désigne le routeur frontière précis envoyant le message BGP UPDATE. Ceci est
quantifié par le terme next-hop-router diversity.
30
Dans la figure 18, le routeur Rb reçoit deux chemins P2 et P3 des voisins eBGP. Cependant
BGP ne génère qu’un seul meilleur chemin que Rb peut propager dans le réseau interne.
Conclusion
Dans ce chapitre nous avons présenté un état de l’art sur le principe de fonctionnement de
BGP, commençant par un aperçu détaillé du BGP, passant à l’initialisation d’une connexion
BGP, suivie par examiner quelques attributs du BGP et leur rôle dans la sélection du meilleur
chemin. D’autre part, on a cité d’autres caractéristiques spécifiques à ce protocole. Puisque le
BGP n'effectue aucune validation des données, il est donc vulnérable aux attaques qui
modifient les données envoyées. Dans le prochain chapitre, nous discuterons les attaques les
plus courantes contre BGP et quelques solutions disponibles qui aident à empêcher ces
attaques.
31
3. Chap
32
3.1. Problèmes de sécurité
En raison de ses failles de sécurité permettant de nombreuses attaques possibles, plusieurs
solutions ont été proposées pour améliorer la sécurité de BGP. Ces solutions de sécurité vont
de solutions assez basiques qui se concentrent uniquement sur la défense contre une attaque
(par exemple, le détournement de préfixe) à des solutions conçues pour résoudre la plupart
des failles de sécurité dans BGP en même temps. Ce chapitre décrit en détail les attaques les
plus fréquentes contre ce protocole, ainsi que certaines solutions proposées pour se protéger
contre ces attaques.
Dans la figure 20, AS 2 et AS 3 sélectionneront une fausse route vers le préfixe 12.34.0.0/16,
tandis que les autres AS sélectionneront la bonne route. Même si AS4 et AS 7 propage la
route légitime vers AS 3, le nombre de sauts dans la route correcte sera supérieur au nombre
33
de sauts dans la route incorrecte déjà sélectionnée, ceci combiné sans authentifier quelle route
est correcte ou quel AS possède réellement le préfixe mentionné, signifie que certains AS
sélectionneront une mauvaise route vers un préfixe tandis que d'autres en sélectionneront une
correcte [12].
Une variante du détournement de préfixe est le détournement de sous-préfixe, qui peut être
encore plus efficace qu'un détournement de préfixe ordinaire si une série de sous-préfixes est
annoncée qui combinés constitue le préfixe d'origine. Un détournement de sous-préfixe
implique qu’un AS prétend de posséder un préfixe qui est plus spécifique qu'un autre préfixe.
34
Violation de la politique : par définition, les erreurs de configuration enfreignent la politique
de l'AS, un préfixe peut être divulgué de manière incorrecte sur l'ensemble d'Internet, la route
annoncée par erreur peut être choisie par rapport à une autre.
Les incidents BGP les plus fréquents sont le détournement de préfixe ou Route
Misoriginations et les fuites de route BGP ou Route Leak (se produit lorsqu'une organisation
annonce accidentellement à un SP qu'elle dispose d'une route vers une destination via un autre
SP, qu'il s'agisse ou non d'un chemin souhaitable). Aujourd’hui les incidents de fuites en BGP
ont diminué grâce à l’implémentation des filtres de préfixes IP par la plupart des AS
(figure21) [16].
35
Figure 21 : Comparaison des incidents BGP entre 2019 et 2020
36
d’expiration). Par exemple, si AS 100 signe un ROA pour 193.0.0.0/21 avec une longueur de
préfixe maximale de /22, alors il est autorisé à provenir 193.0.0.0/21, 193.0.0.0/22 mais pas
193.0.2.0/23. Les certificats et les ROA sont publiés dans des référentiels accessibles au
public, où ils peuvent être téléchargés et utilisés pour gérer les listes des préfixes qui peuvent
provenir d’un AS. La figure 22 nous montre le taux actuel d’implémentation du RPKI dans le
monde, Valid signifie qu’il existe un ROA pour le trafic sous ce préfixe de destination, et les
annonces BGP pour celui-ci sont annoncées par l'ASN correct, Unknown signifie qu’aucun
ROA n'a été trouvé associé au trafic entrant, Invalid (incorrect numéro d’origine d’AS)
signifie que la route choisie n’est pas générée par l’ASN spécifié dans le ROA [18].
➢ MD5 Intergity
Le système de mot de passe MD5 est décrit dans la RFC 2385 [19], publiée en 1998. Le
mécanisme calcule un hachage cryptographique MD5 sur le « pseudo-en-tête » TCP, qui
comprend les adresses IP utilisées, le paquet BGP transporté dans le segment TCP et un mot
de passe secret. Le hachage MD5 résultant est ensuite placé dans une option TCP dans l’en-
tête TCP et le paquet est envoyé sur son chemin (le mot de passe n’est pas transmis.) L’autre
côté effectue le même calcul MD5 et vérifie le résultat par rapport au hachage MD5 dans l’en-
tête TCP. Si les deux hachages MD5 sont identiques, nous pouvons être sûrs de deux choses :
37
• Le segment TCP et son contenu n’ont pas été modifiés en transit
Ainsi, si un attaquant envoie des paquets de réinitialisation TCP falsifiés, le hachage MD5
sera manquant ou incorrect, de sorte que le routeur ignore simplement ces paquets et la
session BGP ne sera pas affectée [23].
GTSM est simple, peu coûteux et généralement efficace contre attaquants non avertis.
Cependant, l'efficacité de la solution pour atténuer les attaquants motivés est limitée.
38
l’attribut AS_PATH dans les mises à jour BGP par un nouvel attribut BGPSec_Path, qui
remplit la même fonction, mais désormais en toute sécurité. Avec chaque saut dans le chemin
AS maintenant protégé par une signature, un routeur recevant un BGP UPDATE avec un
attribut BGPSec_Path peut vérifier si le chemin AS est correct. Supposons que l’AS-path dans
la figure 24 soit le suivant : 3 2 1. Le routeur de réception vérifie d’abord la signature de l’AS
1. La signature contient un « Subject Key Identifier » qui fait référence au certificat RPKI du
routeur qui a créé la signature, c’est à dire que le routeur de réception utilise ce certificat
pour vérifier la signature. Le routeur vérifie également qu’AS1 avait l’intention d’envoyer la
mise à jour à AS2, il vérifie ensuite la signature qui a été générée à l’AS2 et s’il avait
l’intention d’envoyer la mise à jour à 3, si la signature de l’AS 3 est également vérifiée, le
chemin de l’AS est validé et les informations RPKI peuvent être utilisés pour lier les préfixes
provenant de l’AS1 à ce chemin.
Conclusion
Dans ce chapitre nous avons examinées les vulnérabilités du protocole BGP. En outre, nous
avons différentiées entre les solutions existantes et proposées pour sécuriser ce protocole
contre ces failles.
39
ne configuration de BGP
Chapitre 4: Simulation
d’une configuration de BGP
40
4.1. La modélisation par simulation
Une simulation est un modèle animé qui imite le fonctionnement d'un système existant ou
proposé à l'aide d'un logiciel de simulation intuitif. La modélisation par simulation résout les
problèmes du monde réel de manière sûre et efficace. Il fournit une méthode d'analyse
importante qui est facilement vérifiée, communiquée et comprise en donnant un aperçu clair
des systèmes complexes.
➢ Logiciel utilisé
Wireshark : Pour mieux analyser les performances du BGP lorsqu’il est implémenté dans un
réseau, nous avons opté à utiliser Wireshark. Le Wireshark est un analyseur de paquets réseau
où il peut capturer des données de paquets en direct à partir d’une interface réseau et les
afficher avec toutes les informations de protocoles détaillées.
GNS 3 : GNS3 est un logiciel libre et open source qui est utilisé par des centaines de milliers
d'ingénieurs réseau dans le monde pour émuler, configurer, tester et dépanner des réseaux
virtuels et réels.
VMware Station : VMware Workstation Pro est un hyperviseur hébergé qui s'exécute sur les
versions x64 des systèmes d'exploitation Windows et Linux, il permet aux utilisateurs de
configurer plusieurs machines virtuelles (VM) sur une seule machine physique et de les
utiliser simultanément avec la machine hôte. Chaque machine virtuelle peut exécuter son
propre système d'exploitation.
➢ Matériels utilisés
Routeur : un périphérique qui connecte au moins deux réseaux ou sous-réseaux à
commutation de paquets. Un routeur fonctionne sur la troisième couche du modèle OSI [2], et
il est basé sur l’adresse IP d’une machine. Sa fonction principale est de gérer le trafic entre
des réseaux en transférant les paquets de données vers leurs adresses IP prévues.
Switch : un appareil de haut débit qui reçoit les paquets de données entrants et les redirige
vers leur destination sur un réseau local (LAN). Un commutateur dans un réseau local basé
sur Ethernet lit les paquets/trames de données TCP/IP [22] entrantes contenant des
informations de destination lorsqu'ils passent dans un ou plusieurs ports d'entrée. Les
informations de destination dans les paquets sont utilisées pour déterminer quels ports de
sortie seront utilisés pour envoyer les données vers leur destination prévue. Un commutateur
fonctionne au niveau de la deuxième couche du modèle OSI.
41
Câble Fast Ethernet : Un câble Ethernet est un type courant de câble réseau utilisé avec les
réseaux câblés. Les câbles Fast Ethernet connectent des périphériques tels que des PC, des
routeurs et des commutateurs au sein d'un réseau local, implémentation de Fast Ethernet se
fait au niveau de la couche physique, et son débit varie jusqu'à 100 Mbit/s.
42
o Le trafic vers AS 100 doit être envoyé depuis ISP6 en tant que principal.
• AS 200 doit préférer d’envoyer le trafic à travers ISP5 principalement avec ISP2
comme (primary back-up) et ISP7 (secondary back-up).
• Le trafic à AS 200 doit être envoyé depuis ISP5 comme principal périphérique
entrant en utilisant l’attribut MED.
On fait un ping entre les AS clients, du routeur C1 au routeur C4 (figure 26). On remarque
que la connectivité a été bien aboutie et le chemin configuré est bien respecté.
On fait un ping à l’inverse entre les AS clients du routeur C4 au routeur C1 (figure 27). Le
ping est validé et le chemin parcouru est celui demandée.
43
➢ Analyse des paquets BGP
Juste après la configuration de la relation de voisinage BGP entre les routeurs de bord C5 et
ISP6, un message OPEN est échangé entre les deux routeurs pour établir une session BGP
(figure 28).
Ensuite, Un message KEEP ALIVE est échangé pour s’assurer que les deux voisins sont
toujours en vie (figure 29).
Une fois que la session BGP est établie, un message UPDATE (en spécifiant les différents
attributs associés à chaque préfixe) est généré pour échanger les routes possibles, retirer les
routes précédemment annoncées (figure 30).
44
Figure 30 : message UPDATE
Par défaut, l’option MD5 n’est pas activée dans un routeur BGP (figure 32).
Lorsqu’on configure le MD5 uniquement dans le routeur ISP6 (figure 33), une série de
message de notification sera générée automatiquement indiquent que le routeur voisin C5 n’a
pas encore configuré le MD5, dans ce moment la session BGP est dans l’état idle.
45
Figure 33 : MD5 est activée uniquement d’un côté de la session BGP
Une fois que les deux routeurs voisins ont configuré le même mot de passe MD5, l’option
MD5 est activée dans les deux routeurs (figure 34), la session BGP devient établie et les deux
voisins peuvent échanger les routes ente eux.
➢ GTSM
Puisque les deux voisins C5 et IPS6 ont une session eBGP direct, la valeur par défaut du TLL
associé égale à 1(figure 35).
En activant l’option de GTSM dans les deux routeurs C5 et ISP6, ils négocient que la session
BGP ne peut pas être de type multihop, mais plutôt directement connecté.
46
Conclusion générale
Personne ne peut nier que le protocole BGP réussit à fournir un routage interdomaine stable et
robuste, ainsi que le contrôle du trafic. Cependant, il est vulnérable aux interruptions et aux
pannes de communication. Dans ce PFE, nous avons débuté le fonctionnement du protocole
BGP par un aperçu détaillé de ce dernier, suivi par les différents états d’établissement d’une
session BGP. De plus on a expliqué le processus utilisés par le BGP pour sélectionner le
meilleur chemin. Enfin nous avons examiné les différentes menaces de sécurité contre ce
protocole, en analysant certaines solutions proposées pour améliorer la sécurité en BGP.
Néanmoins, le développement de la sécurité en BGP rendra l’Internet plus fiable et utile pour
la communication entre les domaines de l’Internet.
47
Annexe 1
Configuration de la topologie (sans sécurité) :
➢ Router C1
C1#sh run
interface Loopback0
interface Ethernet0/0
➢ Router C5
C5#sh run
interface Loopback0
interface Ethernet0/0
48
neighbor 17.17.17.1 update-source Loopback0
➢ Router C2
C2#sh run
interface Loopback0
interface Ethernet0/0
interface Ethernet0/1
49
neighbor 17.17.17.1 next-hop-self
➢ Router C3
C3#sh run
interface Ethernet0/0
interface Ethernet0/1
interface Ethernet0/2
interface Ethernet0/3
50
neighbor 8.1.12.1 remote-as 500
➢ ISP6
ISP6#sh run
interface Ethernet0/0
interface Ethernet0/1
➢ ISP3
ISP3#sh run
interface Loopback0
interface Ethernet0/0
51
interface Ethernet0/1
interface Ethernet0/2
interface Ethernet0/3
redistribute connected
52
neighbor 8.8.8.5 route-reflector-client
53
Annexe 2
Configuration de la sécurité en BGP
✓ Configuration du MD5
➢ Router C5
C5#sh run
➢ ISP6
ISP6#sh run
✓ configuration du GTSM
➢ ISP6
ISP6#sh run
➢ ISP4
ISP4#sh run
interface Loopback0
interface Ethernet0/0
interface Ethernet0/2
interface Ethernet0/3
54
ip address 8.1.2.2 255.255.255.252
55
Webographie
[1]_Présentation de la RADEEF.
http://www.radeef.ma/Accueil/Pr%C3%A9sentationetactivit%C3%A9s/Pr%C3%A9sentation/
Pr%C3%A9sentationg%C3%A9n%C3%A9rale.aspx.
[3]_Etats_finis_du_BGP._https://www.ciscopress.com/articles/article.asp?p=2756480&seqNu
m=4.
[4]_Session_eBGP_direct._https://www.cisco.com/c/fr_ca/support/docs/ip/border-gateway-
protocol-bgp/26634-bgp-toc.html#ebgpibgp.
[5]_Session_iBGP._https://www.exam4training.com/assuming-the-ibgp-session-within-as-
64500-was-established-using-the-loopback-0-interface-between-the-two-routers-by-default-
what-will-be-the-next-hop-of-the-routes-from-as-64501-when-the-routes-appe-2/.
[7]_Liste_des_attributs_de_BGP._http://www.ittc.ku.edu/EECS/EECS_800.ira/bgp_tutorial/1
4.html.
[8]_BGP_sélection_du_meilleur_chemin._https://networklessons.com/bgp/bgp-attributes-
and-path-selection.
[10]_Filtrage_de_route_en_BGP_.https://www.cisco.com/c/fr_ca/support/docs/ip/border-
gateway-protocol-bgp/26634-bgp-toc.html.
[11]_Détournement_de_routes_BGP._https://www.manrs.org/2020/09/what-is-bgp-prefix-
hijacking-part-1/.
[12]_Exemple_de_détournement_de_route._https://www.cise.ufl.edu/~butler/pubs/bgpsurvey.
pdf.
56
[13]_Misconfiguration_dans_BGP._https://conferences.sigcomm.org/sigcomm/2002/papers/b
gpmisconfig.pdf.
[14]_Attaque_déni_de_service._https://www.researchgate.net/publication/224092573_A_Sur
vey_of_BGP_Security_Issues_and_Solutions.
[15]_CloudFlare. https://www.cloudflare.com.
[17]_Rfc6480, https://datatracker.ietf.org/doc/html/rfc6480.
[19]_Rfc2385, https://datatracker.ietf.org/doc/html/rfc2385.
[20]_Rfc8205, https://datatracker.ietf.org/doc/html/rfc8205.
57