3. 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
4. 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
5. 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
=
?
6. 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
7. 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
8. 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
9. 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)
10. 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
11. 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 EIGRPHash
Empreinte
MD5
Valide ?
Valide ?
Paquet EIGRP
Hash Empreinte MD5
12. 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
14. 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
15. Thomas Moegli
172.10.1.0/24 172.20.1.0/24
R1 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
16. 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
19. 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
20. Thomas Moegli
172.10.1.0/24 172.20.1.0/24
R1 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
21. 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
22. 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/24
R1 R2
S0/0 S0/0
.1 .210.12.0.0/24
EIGRP 100
24. 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/24
R1 R2
S0/0 S0/0
.1 .210.12.0.0/24
OSPF 100
Area 0
25. 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 …
26. 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
27. 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
28. 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
29. 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
30. 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