Logo FingerInTheNet en blanc

Présentation du Protocole IPSEC

Article de blog | Finger In The Net

Table des matières

Cadenas VPN sécurité tunnel chiffré réseau

Présentation du Protocole IPSEC

Table des matières

Chapitre 1

Présentation du protocole IPSEC

Le protocole IPsec permet de transporter des informations de manière sécurisées à 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é 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

  • AESAdvanced Encryption Standard
  • DESData Encryption Standard
  • SHASecure Hash Algorithm
  • MD5Message digest algorithm 5
  • DHDiffie-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.
Chapitre 2

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é.

IPSEC - IKE Phase 1
IKE Phase 1
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 !

Chapitre 3

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
Chapitre 4

Exemple 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

IPSEC - Topologie
IPSEC – Topologie

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
Chapitre 5

Conclusion

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.
Merci de votre attention

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 !

Photo en noir et blanc de Noël Nicolas

Noël NICOLAS

Auteur de l'article

Expert Réseau
15 ans d’expérience
CCNP Routing and Switching
Fondateur du site FingerInTheNet

Portrait d'Eric Jouffrion, contributeur du site FingerInTheNet

Eric JOUFFRILLON

Co-auteur de l'article

Expert SATCOM
Technicien Réseau
17 ans d’éxpérience déploiement réseau SATCOM
Spécialisé LFN (Long Fat Network).Diffusion vidéo et QOS.