Finger in the net
Blog d'administration réseau
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Created by potrace 1.10, written by Peter Selinger 2001-2011

Présentation du Protocole IPSEC

Finger In The Net
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 !

Noël NICOLAS

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

Comments (3)

Franchement arriver à vulgariser et sortir l’essentiel du fonctionnement comme tu le fais est franchement bluffant.
Ça fait un moment que je te suis et que j’applique certains des protocoles et services que tu présentes ici avec grands succès.
Merci.

Félicitations, pour l’effort !

Une forte suggestion d’amélioration serait de scinder l’article en 2 parties :

– Partie-1 : Introduction au protocole IPSEC (sans aucune commende CISCO)
– Partie-2 : Configuration du protocole IPSEC (mise en application de l’introduction, avec explications dans les détails des commandes).

La raison pour laquelle je te suggère ça est qu’à partir de la section “Mise en application”, je suis perdu. Des termes, mots-clés et commandent apparaissent et ne sont pas forcément expliqués.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

treize − six =

CURSUS DE FORMATION

LA BOUTIQUE
DES GEEKS