Présentation du Protocole IPSEC
Le protocole IPsec permet de transporter des informations de manière sécurisée à partir de la couche 3 du modèle OSI.
Présentation du protocole IPSEC
Le protocole IPsec permet de transporter des informations de manière sécurisée à partir de la couche 3 du modèle OSI.
Pour ce faire, il a à sa disposition plusieurs standards de chiffrement : AES, DES, SHA, MD5, DH.
IPsec = Internet Protocol Security
- 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é auprès 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é auprès de l’émetteur
Cette authentification se doit d’être robuste, pour cela nous allons rajouter 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 shaCré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 ferait 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 mymapProfile
Facile à mettre en place, les commandes parlent d’elles-mêmes 🙂
--------- 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 MGREExemple de configuration du protocole IPSEC
Pour cet exemple, j’ai choisi de mettre en place mon IPsec via Crypto Map.
Vous pouvez voir un autre exemple pour la configuration d’IPSec via Profile dans mon article sur le DMVPN !
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 mymapConfiguration 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 mymapConclusion
Recommandations CISCO :
- É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.
