Configuration d’un VPN IPSec entre deux routeurs Cisco

Publié le 27 mars 2012 par Lolokai @lolokai

Article écrit en collaboration avec Lolok@!

Introduction

Définition

VPN est l’acronyme de « Virtual Private Network » soit un réseau privé virtuel.

Par exemple, cela va nous permettre depuis notre domicile, d’avoir accès au réseau local d’un autre site distant (notre entreprise par exemple) à travers une connexion internet sécurisé (IpSec). On parle alos de VPN Remote-Access.

Le VPN va aussi nous permettre de relier deux sites, par exemple, une grande entreprise a deux locaux situés à deux endroits bien distinct, à l’instar des lignes dédiées où l’on devais passer par un opérateur ou encore au lieu de mettre en place des liens physique entre ces deux sites (fibre optique…) on va passer par internet pour relier ces deux sites. On parle alors de VPN Site-To-Site.

Ainsi, on aura accès aux ressources de notre entreprise (fichiers partagés, intranet, extranet…) comme si on y était.

Fonctionnement

VPN repose sur un protocole de tunnelisation (tunneling), le protocole va permettre aux données de passer d’une extrémité du VPN à l’autre de manière sécurisé en utilisant des algorithmes de cryptographie.

Dans notre exemple, nous allons utilisé le protocole IPSec qui est un framework regroupant plusieurs protocoles et qui permet de garantir la confidentialité, l’intégrité et l’authentification des échanges.

Configuration d’un VPN IPSec

Il faut savoir qu’il y a deux types de VPN :

  • Site-to-Site : Liaison entre deux sites distants
  • Remote-Access : Liaison entre une machine distance et un site

Informations

Quelques informations pour notre topologie :

  1. Nous allons utilisé le protocole : esp
  2. Pour la confidentialité nous utiliserons AES 128 bits
  3. Pour l’intégrité nous utiliserons le SHA-1
  4. Pour l’authentification nous utiliserons la clé pré-partagée
  5. Et nous utiliserons le group 2 pour Diffie-Helman

En ce qui concerne la clé pré partagée (Pre-shared key) on va mettre une clé commune sur les deux routeurs pour qu’ils puissent s’authentifier entre eux.
Diffie-Helman est un protocole qui va permettre l’échange de la clé de chiffrement de manière sécurisée (sans envoyer la clé explicitement sur le réseau).
Nous allons au tout au long de la configuration passer par deux phases principales : IKE Phase 1 et IKE phase 2.

Pour faire simple dans l’IKE de phase 1 nous allons configurer les politiques IKE (méthode de chiffrement, durée de vie, méthode d’intégrité) ce qui va permettre de définir une IKE Security Association.
Dans l’IKE de phase 2 nous allons configurer les politique de sécurité IPSec (protocole esp, vérifier le type de liaison) afin d’avoir un IPSec Security Association.

Les Routeurs doivent IMPERATIVEMENT avoir les mêmes politiques IKE et IPSec configurées.

Configuration d’un VPN Site-to-site

Nous allons configurer le VPN sur le routeur RouteurEntreprise afin de permettre l’établissement d’une liaison avec RouteurMaison.

Création d’un acl étendue permettant l’établissement d’un tunnel VPN

Ici nous allons autoriser l’établissement d’un tunnel IPSec entre les deux routeurs :

RouteurEntreprise(config)#ip access-list extended IPSECACL
RouteurEntreprise(config-ext-nacl)#permit ahp host 170.30.1.2 host 172.30.2.2
RouteurEntreprise(config-ext-nacl)#permit esp host 170.30.1.2 host 172.30.2.2
RouteurEntreprise(config-ext-nacl)#permit udp host 170.30.1.2 host 172.30.2.2 eq isakmp
RouteurEntreprise(config-ext-nacl)#exit

Création de notre politique IKE pour la phase 1

Nous définissons notre politique IKE.

RouteurEntreprise(config)#crypto isakmp policy 100
RouteurEntreprise(config-isakmp)#encryption aes 128
RouteurEntreprise(config-isakmp)#group 2
RouteurEntreprise(config-isakmp)#hash sha
RouteurEntreprise(config-isakmp)#lifetime 86400
RouteurEntreprise(config-isakmp)#exit

Création de clé pré-partagé

Nous définissons la clé pré-partagée : VpnK3! ainsi que l’adresse IP du routeur distant avec lequel on communique

RouteurEntreprise(config)#crypto isakmp key VpnK3! address 170.30.2.2

Création de notre politique IPSec pour la phase 2

Nous définissons notre transform-set pour l’établissement d’une liaison IPSec SA

RouteurEntreprise(config)#crypto ipsec transform-set IPSECSET esp-aes 128 esp-sha-hmac

Création de la crypto ACL

Nous créons la crypto ACL qui est une ACL qui va identifier le traffic « interessant » c’est à dire le traffic qui doit passer par le tunnel VPN (ici c’est le traffic depuis le LAN Entreprise vers le LAN Maison)

RouteurEntreprise(config)#ip access-list extended CRYPTOACL
RouteurEntreprise(config-ext-nacl)#permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
RouteurEntreprise(config-ext-nacl)#exit

Création de la crypto MAP

Nous créons la crypto map qui définit le chemin qu’emprunte notre tunnel avec : la politique IPSec, la crypto ACL, le transform-set pour la politique IPSec et l’adresse IP du routeur distant avec lequel on veut communiquer.

RouteurEntreprise(config)#crypto map IPSECMAP 100 ipsec-isakmp
RouteurEntreprise(config-crypto-map)#set peer 170.30.2.2
RouteurEntreprise(config-crypto-map)#set transform-set IPSECSET
RouteurEntreprise(config-crypto-map)#match address CRYPTOACL
RouteurEntreprise(config-crypto-map)#exit

Application de notre crypto map et de l’acl pour autoriser le tunnel sur l’interface de sortie s0/0/0

On application la crypto-map et l’ACL qui autorise l’établissement du VPN.

RouteurEntreprise(config)#interface s0/0/0
RouteurEntreprise(config-if)#crypto map IPSECMAP
RouteurEntreprise(config-if)# ip access-group IPSECACL out
RouteurEntreprise(config-if)#exit

Configurer le RouteurMaison

La configuration est la même que pour Routeurentreprise à l’exception de :

  • Dans l’ACL IPSECACL on doit inverser l’adresse IP de l’hôte source et de l’hôte de destination
  • Dans la définition du transform-set on doit changer l’adresse du peer en mettant l’adresse IP de RouteurEntreprise
  • Dans l’ACL CRYPTOACL on doit inverser le réseau source et le réseau de destination
  • Dans la crypto map on doit mettre comme adresse du peer l’adresse IP de RouteurEntreprise

Conclusion:

Nous venons à travers de ce billet voir le principe d’un VPN et surtout comment configurer un VPN de type Site-to-site sur un équipement Cisco.

Que penser vous de ce billet ? Utilisez-vous du VPN dans le cadre de votre travail ou dans d’autres situation ? Vous est-il déjà arrivé de configurer un VPN ? Si oui, avec quels protocoles ?