Authentification des protocoles de routage
-
Upload
thomas-moegli -
Category
Technology
-
view
608 -
download
5
Transcript of Authentification des protocoles de routage
Thomas Moegli Ing. HES Télécommunications - Réseaux et Sécurité IT
Authentification des protocoles de routage
AuthentificationGénéralités
Thomas Moegli
๏ Un routeur authentifie la source de chaque paquet de mise à jour de routage qu’il reçoit ๏ Plusieurs protocoles de routage supportent l’authentification
๏ OSPF, RIPv2, BGP, EIGRP
๏ Modes d’authentifications ๏ Plain-Text / Mot de passe simple ๏ Hashing / Authentification MD5/SHA
Authentification des protocoles de routage
3
Thomas Moegli
๏ Dans ce mode, un mot de passe (clé) est configuré sur chaque routeur ๏ Chaque voisin doit être configuré avec la même clé
๏ Lorsque R1 envoie des informations de routage vers R2, la clé est envoyée avec le paquet ๏ Cette clé est envoyée en clair, sans être chiffrée
๏ R2 réceptionne la clé et vérifie si elle correspond à celle contenue en mémoire ๏ Si les deux clés correspondent, R2 accepte la mise à jour reçue. ๏ Si les deux clés ne correspondent pas, R2 rejette le paquet ๏ Les protocoles de routage qui supportent l’authentification Plan-Text sont RIPv2, OSPFv2, IS-IS
Authentification des protocoles de routage Authentification : Plain-Text
4
R1 R2
Thomas Moegli
๏ Dans ce mode, une fonction de hachage est utilisée (MD5, SHA) ๏ Cette fonction prend en paramètre le paquet ainsi que la clé et génère une empreinte d’une longueur fixe ๏ R1 transmet cette empreinte avec le paquet ๏ R2 utilise la même fonction de hachage avec sa clé stockée en mémoire et le paquet reçu (sans l’empreinte) ๏ Il compare l’empreinte générée avec celle reçue
๏ Si les empreintes correspondent, R2 autorise ce paquet ๏ Si les empreintes ne correspondent pas, R2 rejette le paquet
๏ La fonction de hachage dépend du protocole utilisé. Tous les protocoles de routage utilisent MD5 mais seuls OSPFv2, OSPFv3 et EIGRP supportent les fonctions de hachage SHA
Authentification des protocoles de routage Authentification : Hashing
5
R1 R2
Paquet EIGRP
Empreinte H1
Hash
Paquet EIGRP
Empreinte H1
Hash
Paquet EIGRP
Empreinte H2
Empreinte H1 Empreinte H2=?
Thomas Moegli
๏ La sécurité du protocole de routage peut être accrue en changeant souvent les clés
๏ Toutefois, changer les clés implique de devoir temporairement interrompre les relations de voisinage entre routeurs
๏ Quelques protocoles de routage supportent la fonction de changement automatique de clés
๏ L’administrateur peut définir plusieurs clés en une seule fois et définir pour chaque clé un temps d’utilisation
๏ Le protocole de routage change automatiquement de clé suivant le temps défini par clé
๏ Pour définir plusieurs clés, il est nécessaire de définir d’abord un nouveau trousseau de clés (key-chain) puis rajouter les clés à ce trousseau
Sécurité EIGRP Authentification : Time-Based Keys Chains
6
Key-Chain
Thomas Moegli
๏ Une chaîne de clés est crée via la commande de configuration globale :
๏ Le trousseau est caractérisé par : ๏ Un identifiant de clé (Key ID) : configuré par la commande key key-id . L’identifiant peut être de 1 à 255 ๏ Un mot de passe (Password) : configuré par la commande key-string password ๏ (Opt.) Une durée de vie (Lifetime) : configuré par la commande et
๏ Chaque clé dispose de deux durées de vie : ๏ Accept lifetime : durée sur laquelle le routeur accepte la clé durant l’échange de clés avec un autre routeur ๏ Send lifetime : durée sur laquelle le routeur envoie la clé durant l’échange de clés avec un autre routeur
Authentification des protocoles de routage Authentification : Spécificité de la clé
7
Router(config)# key chain key-name
key key-id
key-string password
accept-lifetime hour datesend-lifetime hour date
Thomas Moegli
Exemple de configuration d’un trousseau de clés
Authentification des protocoles de routage Authentification : Key-Chain
8
R1(config)# key chain R1-Chain R1(config-keychain)# key 1 R1(config-keychain-key)# key-string cisco1 R1(config-keychain-key)# accept-lifetime 09:00:00 Mar 1 2015 23:59:59 Mar 31 2015 R1(config-keychain-key)# send-lifetime 09:00:00 Mar 1 2015 23:59:59 Mar 31 2015
R1(config-keychain)# key 2 R1(config-keychain-key)# key-string cisco2 R1(config-keychain-key)# accept-lifetime 09:00:00 Jun 1 2015 23:59:59 Jun 31 2015 R1(config-keychain-key)# send-lifetime 09:00:00 Jun 1 2015 23:59:59 Jun 31 2015 R1(config-keychain-key)# end
Thomas Moegli
Sécurité EIGRP Vérification : Key-Chain
9
R1# show key chain Key-chain R1-KeyChain: key 1 -- text "CISCO1" accept lifetime (09:00:00 UTC Apr 1 2015) - (23:59:59 UTC May 1 2015) [valid now] send lifetime (09:00:00 UTC Apr 1 2015) - (23:59:59 UTC May 1 2015) [valid now] key 2 -- text "CISCO2" accept lifetime (09:00:00 UTC May 1 2015) - (23:59:59 UTC May 31 2015) send lifetime (09:00:00 UTC May 1 2015) - (23:59:59 UTC May 31 2015)
Thomas Moegli
๏ Si aucune durée de vie n’est spécifiée pour une clé, elle est considérée comme valide en permanence ๏ Pour l’utilisation des clés dans le cas d’une chaîne contenant plusieurs clés, les règles suivantes
s’appliquent ๏ Envoi de messages : Utilise la clé ayant l’identifiant le plus petit parmi toutes les clés valides ๏ Réception de messages : Vérifie l’empreinte MD5 en utilisant toutes les clés valides
Authentification des protocoles de routage Authentification : Key-Chain
10
Thomas Moegli
Exemple ๏ La durée de vie configurée pour la clé 1 est expirée
๏ Les clés 2 et 3 ont des durées de vie valides
๏ La clé 4 possède une durée de vie qui commence ultérieurement. Elle n’est donc pas encore valide
๏ Lors de la réception d’un paquet entrant, les clés valides (2 et 3) sont utilisées pour vérifier l’empreinte. Chaque clé est testée pour trouver une empreinte qui correspond au paquet entrant
๏ Lors de l’envoi d’un paquet, la clé avec l’identifiant le plus petit parmi les clés valides (ici, la clé 2) est utilisé pour la fonction de hachage
Authentification des protocoles de routage Authentification : Key-Chain
11
1
2
3
4
Durée de vie expirée
Pas encore active
Paquet EIGRPHashEmpreinte MD5
Valide ?
Valide ?
Paquet EIGRP
Hash Empreinte MD5
Thomas Moegli
Authentification des protocoles de routage Résumé
12
Authentification Plain Text Authentification hachage MD5
Authentification hachage SHA
Gestion des trousseaux de clés
RIPv2 Oui Oui Non Oui
EIGRP Non Oui Oui (avec EIGRP nommé) Oui
OSPFv2 Oui Oui Oui (avec trousseaux de clés) Oui
OSPFv3 Non Oui Oui Non
BGP Non Oui Non Non
AuthentificationAuthentification sur RIPv2
Thomas Moegli
๏ Création de la chaîne de clés
๏ Ajout d’une clé
๏ Configuration du mode d’authentification pour RIPv2
๏ Liaison avec la chaîne de clés
Authentification des protocoles de routage Configuration RIPv2
14
Router(config)# key-chain name-of-chain
Router(config-keychain)# key key-id Router(config-keychain-key)# key-string password Router(config-keychain-key)# exit
Router(config-keychain)# interface interface-id Router(config-if)# ip rip authentication mode [md5 | text]
Router(config-if)# ip rip authentication key-chain name-of-chain Router(config-if)# end
Thomas Moegli
172.10.1.0/24 172.20.1.0/24R1 R2
S0/0 S0/0.1 .210.12.0.0/24
RIPv2
R2(config)# router rip R2(config-router)# version 2 R2(config-router)# no auto-summary R2(config-router)# network 172.10.1.0 R2(config-router)# network 10.12.0.0
R2(config)# key-chain MYPASSWORDS R2(config-keychain)# key 1 R2(config-keychain-key)# key-string Pa$w0rd1 R2(config-keychain-key)# exit
R2(config)# interface Serial2/0 R2(config-if)# ip rip authentication mode md5 R2(config-if)# ip rip authentication key-chain MYPASSWORDS R2(config-if)# end
Authentification des protocoles de routage Configuration RIPv2 : Exemple
15
R1(config)# router rip R1(config-router)# version 2 R1(config-router)# no auto-summary R1(config-router)# network 172.10.1.0 R1(config-router)# network 10.12.0.0
R1(config)# key-chain MYPASSWORDS R1(config-keychain)# key 1 R1(config-keychain-key)# key-string Pa$w0rd1 R1(config-keychain-key)# exit
R1(config)# interface Serial2/0 R1(config-if)# ip rip authentication mode md5 R1(config-if)# ip rip authentication key-chain MYPASSWORDS R1(config-if)# end
๏ Il est nécessaire que les identifiants des clés ainsi que les mots de passe soient identiques sur les deux voisins
Thomas Moegli
๏ Afficher la chaîne de clés :
๏ Afficher les événements d’authentification pour RIPv2 :
Authentification des protocoles de routage Vérification RIPv2
16
Router# show key chain
Router# debug ip rip events
Thomas Moegli
๏ Troubleshooting - Problème liée à l’authentification
Authentification des protocoles de routage Vérification RIPv2
17
*Jan 19 10:10:42.828: RIP: sending v2 update to 224.0.0.9 via Serial2/0 (10.0.12.1) *Jan 19 10:10:42.828: RIP: Update contains 1 routes *Jan 19 10:10:42.828: RIP: Update queued *Jan 19 10:10:42.828: RIP: Update sent via Serial2/0 R1# *Jan 19 10:10:55.212: RIP: ignored v2 packet from 10.0.12.2 (invalid authentication) R1#
R1(config)# key-chain MYPASSWORDS R1(config-keychain)# key 1 R1(config-keychain-key)# key-string Pa$w0rd1 R1(config-keychain-key)# exit
R1(config)# key-chain MYPASSWORDS R1(config-keychain)# key 1 R1(config-keychain-key)# key-string Pa$w0rd2 R1(config-keychain-key)# exit
172.10.1.0/24 172.20.1.0/24R1 R2
S0/0 S0/0.1 .210.12.0.0/24
RIPv2
AuthentificationAuthentification sur EIGRP
Thomas Moegli
๏ Création de la chaîne de clés
๏ Ajout d’une clé
๏ Configuration du mode d’authentification pour EIGRP
๏ Liaison avec la chaîne de clés
Authentification des protocoles de routage Configuration EIGRP
19
Router(config)# key-chain name-of-chain
Router(config-keychain)# key key-id Router(config-keychain-key)# key-string password Router(config-keychain-key)# exit
Router(config-keychain)# interface interface-id Router(config-if)# ip authentication mode eigrp as-number md5
Router(config-if)# ip authentication key-chain eigrp as-number MYPASSWORDS Router(config-if)# end
Thomas Moegli
172.10.1.0/24 172.20.1.0/24R1 R2
S0/0 S0/0.1 .210.12.0.0/24
EIGRP 100
Authentification des protocoles de routage Configuration EIGRP : Exemple
20
R1(config)# router eigrp 100 R1(config-router)# no auto-summary R1(config-router)# network 172.10.1.0 R1(config-router)# network 10.0.0.0
R1(config)# key-chain MYPASSWORDS R1(config-keychain)# key 1 R1(config-keychain-key)# key-string Pa$w0rd1
R1(config)# interface Serial2/0 R1(config-if)# ip authentication mode eigrp 100 md5 R1(config-if)# ip authentication key-chain eigrp 100 MYPASSWORDS R1(config-if)# end
R2(config)# router eigrp 100 R2(config-router)# no auto-summary R2(config-router)# network 172.10.1.0 R2(config-router)# network 10.0.0.0
R2(config)# key-chain MYPASSWORDS R2(config-keychain)# key 1 R2(config-keychain-key)# key-string Pa$w0rd1
R2(config)# interface Serial2/0 R2(config-if)# ip authentication mode eigrp 100 md5 R2(config-if)# ip authentication key-chain eigrp 100 MYPASSWORDS R2(config-if)# end
Thomas Moegli
๏ Afficher la chaîne de clés :
๏ Afficher les événements d’authentification pour EIGRPP :
Authentification des protocoles de routage Vérification EIGRP
21
Router# show key chain
Router# debug eigrp events
Thomas Moegli
๏ Troubleshooting : configuration de l’authentification sur un voisin uniquement
๏ Troubleshooting : Authentification erronée due à des mots de passes non identiques
Authentification des protocoles de routage Vérification EIGRP
22
*Jan 19 11:24:04.888: EIGRP: pkt key id = 1, authentication mismatch *Jan 19 11:23:18.931: EIGRP: Se2/0: ignored packet from 10.0.12.2, opcode = 5 (invalid authentication)
*Jan 19 11:00:00.139: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.0.12.2 (Serial2/0) is down: Auth failure
172.10.1.0/24 172.20.1.0/24R1 R2
S0/0 S0/0.1 .210.12.0.0/24
EIGRP 100
AuthentificationAuthentification sur OSPF
Thomas Moegli
Trois types d’authentification ๏ Type 0 : Null ๏ Type 1 : Mot de passe simple ๏ Type 2 : Chiffrement (MD5/SHA)
Authentification des protocoles de routage Authentification OSPF
24
172.10.1.0/24 172.20.1.0/24R1 R2
S0/0 S0/0.1 .210.12.0.0/24
OSPF 100Area 0
Thomas Moegli
L’authentification OSPF peut être établie …
๏ Pour tout l’area OSPF ๏ area [area-id ] authentication…
๏ Pour un lien entre deux voisins ๏ ip ospf authentication ๏ L’authentification du lien prime sur l’authentification OSPF globale
Authentification des protocoles de routage Authentification OSPF
25
Router(config-router)# area area-id authentication …
Router(config-if)# ip ospf authentication …
Thomas Moegli
๏ Création de la chaîne de clés
๏ Ajout d’une clé
Authentification des protocoles de routage Configuration OSPF (1)
26
Router(config)# key-chain name-of-chain
Router(config-keychain)# key key-id Router(config-keychain-key)# key-string password Router(config-keychain-key)# exit
Thomas Moegli
Configuration Mot de passe simple (Authentification du lien) ๏ Activation de l’authentification pour OSPF
๏ Saisie du mot de passe
Authentification des protocoles de routage Configuration OSPF (2)
27
Router(config)# interface interface-id Router(config-if)# ip ospf authentication
Router(config-if)# ip ospf authentication-key password Router(config-if)# end
Thomas Moegli
Configuration Mot de passe simple (Authentification globale OSPF) ๏ Configuration du mode d’authentification pour OSPF
๏ Configuration sur l’interface du mot de passe global
Authentification des protocoles de routage Configuration OSPF (2)
28
Router(config)# router ospf process-id Router(config-router)# area 0 authentication
Router(config)# interface interface-id Router(config-if)# ip ospf authentication-key password Router(config-if)# end
Thomas Moegli
Configuration MD5 (Authentification du lien) ๏ Activation de l’authentification pour OSPF
๏ Saisie du mot de passe
Authentification des protocoles de routage Configuration OSPF (2)
29
Router(config)# interface interface-id Router(config-if)# ip ospf authentication message-digest
Router(config-if)# ip ospf message-digest—key 1 md5 password Router(config-if)# end
Thomas Moegli
Configuration MD5 (Authentification globale OSPF) ๏ Configuration du mode d’authentification pour OSPF
๏ Configuration sur l’interface du mot de passe global
Authentification des protocoles de routage Configuration OSPF (2)
30
Router(config)# router ospf process-id Router(config-router)# area 0 authentication message-digest
Router(config)# interface interface-id Router(config-if)# ip ospf message-digest—key 1 md5 password Router(config-if)# end