Authentification des protocoles de routage

30
Thomas Moegli Ing. HES Télécommunications - Réseaux et Sécurité IT Authentification des protocoles de routage

Transcript of Authentification des protocoles de routage

Page 1: Authentification des protocoles de routage

Thomas Moegli Ing. HES Télécommunications - Réseaux et Sécurité IT

Authentification des protocoles de routage

Page 2: Authentification des protocoles de routage

AuthentificationGénéralités

Page 3: Authentification des protocoles de routage

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

Page 4: Authentification des protocoles de routage

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

Page 5: Authentification des protocoles de routage

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=?

Page 6: Authentification des protocoles de routage

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

Page 7: Authentification des protocoles de routage

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

Page 8: Authentification des protocoles de routage

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

Page 9: Authentification des protocoles de routage

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)

Page 10: Authentification des protocoles de routage

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

Page 11: Authentification des protocoles de routage

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

Page 12: Authentification des protocoles de routage

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

Page 13: Authentification des protocoles de routage

AuthentificationAuthentification sur RIPv2

Page 14: Authentification des protocoles de routage

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

Page 15: Authentification des protocoles de routage

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

Page 16: Authentification des protocoles de routage

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

Page 17: Authentification des protocoles de routage

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

Page 18: Authentification des protocoles de routage

AuthentificationAuthentification sur EIGRP

Page 19: Authentification des protocoles de routage

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

Page 20: Authentification des protocoles de routage

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

Page 21: Authentification des protocoles de routage

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

Page 22: Authentification des protocoles de routage

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

Page 23: Authentification des protocoles de routage

AuthentificationAuthentification sur OSPF

Page 24: Authentification des protocoles de routage

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

Page 25: Authentification des protocoles de routage

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 …

Page 26: Authentification des protocoles de routage

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

Page 27: Authentification des protocoles de routage

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

Page 28: Authentification des protocoles de routage

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

Page 29: Authentification des protocoles de routage

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

Page 30: Authentification des protocoles de routage

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