Présentation du protocole IPSEC
- Protocole normalisé RFC 4301.
- Protocole de niveau 3.
- Créé pour IPv6, adapté à l’IPv4.
- Utilise le protocole IKE (Internet Key Echange) – UDP 500.
Les objectifs du Protocole IPSec
- Confidentialité
Information compréhensible uniquement par le destinataire final. - Intégrité
Une personne tierce ne peut modifier la donnée. - Authentification
Le destinataire de l’information doit tout d’abord être authentifié au prêt de l’émetteur. - Antireplay
Nos paquets ne peuvent être dupliqués par un tiers.
Les standards supportés par le Protocole IPSec
- AES — Advanced Encryption Standard
- DES — Data Encryption Standard
- SHA — Secure Hash Algorithm
- MD5 — Message digest algorithm 5
- DH — Diffie-Hellman
Recommandations CISCO :
- Évitez DES, 3DES, MD5 et les groupes DH 1, 2 et 5.
- Utilisez AES, SHA et les groupes DH 14 ou plus.
Fonctionnement du protocole IPSEC
IKE Phase 1
Cette première phase va nous permettre de générer une clé de chiffrement de manière sécurisée qui va nous servir pour AH et ESP et ce grâce au Diffie-Hellman.
But :
- Authentification
Le destinataire de l’information doit tout d’abord être authentifié au prêt de l’émetteur
Cette authentification se doit d’être robuste, pour cela nous allons rajouté les couches Confidentialité et Intégrité.

R1(config)# crypto isakmp policy [Numéro de policy] R1(config-isakmp)# encryption aes-256 R1(config-isakmp)# authentication pre-share R1(config-isakmp)# group 7 R1(config-isakmp)# hash sha
Création de la pre-share-key :
R1(config)# crypto isakmp key [pre-share-key] address [@IP Destinataire]
IKE Phase 2
Le but de cette phase est de transporter les données de nos clients de manière sécurisée.
But :
- Confidentialité
Information compréhensible uniquement par le destinataire final. - Intégrité
Une personne tierce ne peut modifier la donnée.
Pour assurer la partie Confidentialité de la donnée, nous avons deux protocoles disponibles :
- AH
- ESP
Pour assurer la partie Intégrité de la donnée, nous allons utiliser le HASH ( soit par MD5 , soit par SHA )
Protocole AH (Authentication Header)
AH Transform :
- ah-md5-hmac
- ah-sha-hmac
Protocole ESP (Encapsulating Security Payload)
ESP Encryption :
- esp-gcm
- esp-gmac
- esp-aes (Algorithme d’encryption de 128-bit)
- esp-aes192 (Algorithme d’encryption de 192-bit)
- esp-aes256 (Algorithme d’encryption de 256-bit)
- esp-des
- esp-3des
- esp-null
ESP Authentication :
- esp-md5-hmac
- esp-sha-hmac
R1(config)# crypto ipsec transform-set [Nom] [encryption] [authentification] R1(cfg-crypto-trans)# mode [ Transport | Tunnel ]
Il existe deux modes IPsec :
- Transport
- Tunnel
Le mode Transport va chiffrer les couches supérieures à la couche 3 et va conserver les en-têtes IP de notre paquet.
Le mode Tunnel va modifier les adresses IP Source et Destination de notre paquet comme le ferais un tunnel GRE.
Et là, une question vous vient à l’esprit :
Question : Quelle est la différence entre GRE over IPsec et un Tunnel IPsec ?
Réponse : Un tunnel GRE over IPsec prend en compte les flux multicast, contrairement à un tunnel IPsec.
soit
R1(config)# crypto ipsec transform-set Finger esp-aes256 esp-sha-hmac R1(cfg-crypto-trans)# mode transport R1(cfg-crypto-trans)# exit
À cette étape, nous venons de finir de dire à nos équipements comment chiffrer nos paquets. Il nous reste plus qu’à leur dire où chiffrer !
Configuration du protocole IPSEC
Pour mettre en application notre chiffrement, deux façons de faire :
Crypto-map
- Vieille méthode.
- Non flexible.
Profile
- Nouvelle méthode.
- Beaucoup plus flexible.
- Fortement recommandé pour le GRE over IPsec et le DMVPN.
Crypto-map
Notre Crypto-map va nous permettre de savoir :
- Avec qui monter notre tunnel IPsec ?
- Qui a le droit de circuler dans notre tunnel ?
- Comment chiffrer notre tunnel ?
Ce qui nous donne :
--------- CREATION DE LA CRYPTO MAP --------- R1(config)# crypto map mymap 10 ipsec-isakmp R1(config-crypto-map)# set peer 2.2.2.1 >>> Avec qui ? R1(config-crypto-map)# set transform-set Finger >>> Comment ? R1(config-crypto-map)# match address 100 >>> Qui peut circuler ? R1(config)# access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 --------- APPLICATION DE LA CRYPTO MAP --------- R1(config)# interface FastEthernet 0/1 R1(config-if)# ip address 1.1.1.1 255.255.255.252 R1(config-if)# crypto map mymap
Profile
Facile à mettre en place, les commandes parlent d’elle même 🙂
--------- CREATION DU PROFIL --------- R1(config)# crypto ipsec profile MGRE R1(ipsec-profile)# set transform-set Finger R1(ipsec-profile)# exit --------- APPLICATION DU PROFIL --------- R1(config)# interface tunnel 10 R1(config-if)# tunnel protection ipsec profile MGRE
Exemple de configuration du protocole IPSEC
Architecture de base

Configuration de R1
--------- PHASE 1 --------- R1(config)# crypto isakmp policy 10 R1(config-isakmp)# encryption aes-256 R1(config-isakmp)# authentication pre-share R1(config-isakmp)# group 7 R1(config-isakmp)# hash sha R1(config)# crypto isakmp key pre-share-key-finger address 2.2.2.1 --------- PHASE 2 --------- R1(config)# crypto ipsec transform-set Finger esp-aes256 esp-sha-hmac R1(cfg-crypto-trans)# mode transport R1(cfg-crypto-trans)# exit --------- Créer une crypto-map --------- R1(config)# crypto map mymap 10 ipsec-isakmp R1(config-crypto-map)# set peer 2.2.2.1 R1(config-crypto-map)# set transform-set Finger R1(config-crypto-map)# match address 100 R1(config)# access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 --------- Appliquer la crypto-map --------- R1(config)# interface FastEthernet 0/1 R1(config-if)# ip address 1.1.1.1 255.255.255.252 R1(config-if)# crypto map mymap
Configuration de R2
--------- PHASE 1 --------- R2(config)# crypto isakmp policy 10 R2(config-isakmp)# encryption aes-256 R2(config-isakmp)# authentication pre-share R2(config-isakmp)# group 7 R2(config-isakmp)# hash sha R2(config)# crypto isakmp key pre-share-key-finger address 1.1.1.1 --------- PHASE 2 --------- R2(config)# crypto ipsec transform-set Finger esp-aes256 esp-sha-hmac R2(cfg-crypto-trans)# mode transport R2(cfg-crypto-trans)# exit R2(config)# crypto map mymap 10 ipsec-isakmp --------- Créer une crypto-map --------- R2(config-crypto-map)# set peer 1.1.1.1 R2(config-crypto-map)# set transform-set Finger R2(config-crypto-map)# match address 100 R2(config)# access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 --------- Appliquer la crypto-map --------- R2(config)# interface FastEthernet 0/1 R2(config-if)# ip address 2.2.2.1 255.255.255.252 R2(config-if)# crypto map mymap
Conclusion
- Évitez DES, 3DES, MD5 et les groupes DH 1, 2 et 5.
- Utilisez AES, SHA et les groupes DH 14 ou plus.
- Privilégiez un Tunnel GRE + IPsec en mode transport qu’un Tunnel IPsec.
- Mettez en application votre IPSec via un Profile et non via une Crypto Map.
Sur le même thème
Merci de votre soutien et de votre fidélité ! Ce site existe grâce à vous et je ne vous remercierais jamais assez !