Vous êtes sur la page 1sur 26

Institut Supérieur de l’Informatique du Kef

Projet de fin d’année

Tunnel GRE – Tunnel IPSEC

Élaboré par : Trabelsi Hatem


Encadré par : Khalfaoui Najib

2020-2021
Table of Contents
Introduction  :.........................................................................3
Chapitre 1 : Présentation GRE :...............................................4
1) Avantages du protocole GRE :.........................................4
2) Exemples d‘utilisation du protocole GRE :.......................5
3) Le principe du tunnel GRE :..............................................5
4) Avertissements :..............................................................6
5) Configuration :................................................................7
Chapitre 2 : Présentation IPSEC :........................................13
1. Architecture d’Ipsec :....................................................13
a) Les mécanismes AH et ESP :...........................................13
b) La notion d’association de sécurité :..............................14
c) La gestion des clefs et des associations de sécurité :....14
d) Politique de sécurité :.....................................................15
e) Principe de fonctionnement :.........................................16
3) Types d’utilisations possibles :.......................................17
a) Équipement fournissant Ipsec :......................................17
b) Modes de fonctionnement :...........................................18
Conclusion............................................................................26
Introduction :

A l’heure où la mobilité est un argument dans le domaine professionnel, il est nécessaire de


pouvoir travailler pour son entreprise à n’importe quel endroit du monde. Pour des raisons
évidentes de sécurité, toutes les informations indispensables à une entreprise ne peuvent pas être
stockées sur un serveur accessible publiquement depuis internet. Elles ne sont donc
théoriquement pas accesssibles depuis un réseau extérieur à celui de l’entreprise. Un commercial
en déplacement ne peut donc pas accéder aux informations de son entreprise si il est en
déplacement à l’autre bout du monde ou non connecté au réseau de l’entreprise. Pour remédier à
ce problème, la technologie VPN (Virtual Private Network) a été mise en place afin contrer ce
problème de sécurité et de permettre à un utilisateur n’étant pas connecté à un réseau interne de
pouvoir quand même y accéder en totalité ou en partie au travers d’un reseau public (cf Internet).
Le principe du VPN est relativement simple, il a pour but de créer au travers d’un réseau public
(et par conséquent non sécurisé) un tunnel crypté permettant de faire transiter des données
jusqu’à un réseau privée disposant d’une connexion internet. Pour envoyer des données au
travers de ce tunnel, les 2 protagonistes (le commercial et l’entreprise par exemple) doivent se
mettre d’accord sur l’algorithme de cryptage utilisé. Le commercial envoie ensuite ses données
cryptées et éventuellement signées (pour rajouter une sécurité supplémentaire) dans le tunnel.
Ces données sont reçues par le serveur VPN de l’entreprise qui va les déchiffrer et vérifier leur
intégrité. Si un utilisateur récupérait les paquets transmis entre les 2 protagonistes, il ne
trouverait que des paquets chiffrés et donc inexploitables sans avoir l’algorithme pour les
déchiffrer. L’opération inverse se déroule lorsque les informations transitent du réseau de
l’entreprise vers le commercial.
Aussi, grâce à un tunnel, il est possible de passer directement d'un point à un autre, sans devoir
subir les affres de la circulation à la surface. Les tunnels informatiques s'en rapprochent
fortement, en proposant un moyen de relier "directement" deux réseaux privés distants, à travers
un inter-réseau aussi complexe que l'internet. Il existe une grande quantité de moyens pour
réaliser des tunnels informatiques. PPP peut être considéré comme un tunnel dans des
configurations comme PPPoE ou PPPoA. Ce sont des tunnels sur la couche 2 du modèle OSI, au
même titre que L2TP (Layer 2 Tunneling Protocol), utilisé sur les réseaux des opérateurs, mis en
oeuvre 1 dans les connexions ADSL non dégroupées. Au niveau 3, il existe également plusieurs
solutions, comme PPTP (Point to Point Tunneling Protocol), utilisé par Microsoft, ou encore les
tunnels sur IPSec.

Chapitre 1 : Présentation GRE :


L‘encapsulation de routage générique (GRE) est un protocole de tunneling développé par Cisco
System qui peut encapsuler une grande variété de protocoles de couche réseau dans des liens
virtuels point à point sur un inter réseau de protocole Internet. Le tunnel GRE crée une
connexion de deux LAN en un, regardant de l’intérieur comme homogène. GRE est utilisé
lorsque des paquets IP doivent être envoyés à partir d´un réseau à un autre, sans être analysé ou
traité comme des paquets IP par aucun routeur intervenant.
GRE encapsule les données d´origine - paquet interne destiné à être livré au réseau distant dans
l‘emballage extérieur. Ce paquet est envoyé par le tunnel GRE, les routeurs intervenants sont le
routage comme paquet externe dans le réseau de destination où le paquet externe est supprimé et
le paquet d‘origine est acheminé vers la cible.
Contrairement au tunnel IP vers IP, le tunnel GRE peut être utilisé pour le transport de paquets
multicast et IPv6 entre les réseaux connectés. Suivant l‘image montre graphiquement le principe
du tunnel GRE (à gauche) et un exemple d‘encapsulation de paquets IPv6 pour le transport via le
réseau IPv4 (à droite).

1) Avantages du protocole GRE :

Les tunnels GRE englobent plusieurs protocoles sur un seul protocole Backbone, les tunnels
GRE fournissent des solutions de contournement pour les réseaux avec des sauts limités, les
tunnels GRE connectez des sous-réseaux discontinus, les tunnels GRE permettent aux VPN sur
des réseaux étendus (WAN).

2) Exemples d‘utilisation du protocole GRE :


En conjonction avec PPTP pour créer des VPN, en conjonction avec des VPN IPsec pour
permettre le passage des informations de routage entre les réseaux connectés, dans les protocoles
de mobilité, Linux et BSD peuvent établir une adresse IP ad hoc sur des tunnels GRE qui sont
interopérables avec les équipements Cisco.
Le protocole GRE fournit une connexion privée sans état, mais n‘est pas un protocole chiffré
(sécurisé). Il n‘utilise aucun cryptage comme par exemple ESP (Encapsulating Security Payload)
dans le protocole IPsec.
Le protocole GRE est spécifié dans RFC 2784 et RFC 2890. Il est déterminé par le numéro 47
dans le champ de protocole dans l‘en-tête IP.

3) Le principe du tunnel GRE :


Présentation générale Imaginons que nous ayons à intervenir sur deux réseaux privés différents,
géographiquement éloignés, les réseaux A et B. Si nous voulons interconnecter ces deux réseaux,
nous avons à priori deux possibilités :

• L‘une chère, qui consiste à utiliser une liaison spécialisée, proposée par tout bon opérateur de
télécoms. Les technologies utilisées par ces opérateurs afin de créer notre réseau privé sont
principalement du type ATM3 , MPLS 4 et, plus anciennement, Frame Relay. Les avantages
apportés sont la garantie d‘un SLA 5 et d‘une étanchéité renforcée .

• L‘autre, moins chère, qui consiste à interconnecter ces deux réseaux via de l‘internet
public. Oui, mais la seconde solution, à priori moins chère, sera plus limitative.

• Soit, comme c‘est le plus souvent le cas, nous ne disposerons que d‘une seule IP publique pour
accéder à chaque réseau et dans ce cas, nous ne pourrons pas faire facilement communiquer
n‘importe quelle machine du réseau A avec n‘importe quelle machine du réseau B, puisque ces
LANs seront montés avec des adresses IP privées. (Voyez le masquage d‘adresses 6 , mis en
œuvre dans de telles configurations) .

• Soit nous disposons de suffisamment d‘adresses IP publiques pour monter nos réseaux avec ces
adresses, mais alors, toutes nos machines seront directement exposées sur le Net.
Cher et difficile (il n‘est pas simple, et encore moins gratuit d‘obtenir des plages, même
partielles, d‘adresses IP publiques) et pour le moins dangereux.

Comment faire alors ?

Créer une ligne spécialisée virtuelle, qui passera par l‘internet, mais qui fonctionnera presque
comme une liaison spécialisée. Bien sûr, pour ce faire, un tunnel est nécessaire afin de créer
l‘interconnexion, de garantir l‘étanchéité. L‘avantage est de ne pas être dépendant d‘un opérateur
et ainsi, de pouvoir choisir la sortie Internet de chaque site indépendamment les unes des autres.
Rien en effet n‘interdit de construire plusieurs tunnels, éventuellement sur des connexions
internet différentes. Nous disposons de plusieurs technologies telles que PPtP, IPSec et celle qui
nous intéresse dans cette documentation : le tunnel GRE. Au niveau IP, un tunnel se présente
comme ceci :
Grâce à ce tunnel, tout nœud du réseau A pourra communiquer avec tout nœud du réseau B, les
deux réseaux étant construits avec des IP privées, le tout passant dans le tunnel creusé dans
l‘internet. Super non ? Oui, mais souvenez-vous que IPv4 est un protocole qui n‘est pas sécurisé,
que nous allons l‘utiliser et qui plus est, sur un réseau plutôt mal famé. L‘opération n‘est donc
pas sans risques.

4) Avertissements :

Il existe avec Linux un type de tunnel qui encapsule de l‘IP sur IP. Cette solution n‘existe,
semble-t-il, que sous Linux et reste assez limitative. Nous allons plutôt utiliser une méthode
normalisée, à peine plus complexe : le tunnel GRE. Ne confondez donc pas ces deux possibilités.
Le tunnel GRE (Generic Routine Encapsulation) fonctionne parfaitement. C‘est un protocole
ouvert, initialement développé par CISCO, et qui peut donc se mettre en place sur des
plateformes différentes. Il est défini par la RFC 27847 :

• il est possible d‘ouvrir plusieurs tunnels depuis un hôte donné.

• il est conçu pour pouvoir encapsuler n‘importe quel protocole de niveau 3 dans IP.
Pratiquement, le plus souvent, de l‘IP dans de l‘IP. Malheureusement, ce n‘est pas un protocole
sécurisé. Si vous l‘utilisez sur l‘internet, mesurez les risques que vous prenez !
Faites une recherche sur les façons de prendre possession d‘un réseau utilisant un tel tunnel et
vous serez fixé. Ce n‘est pas facile à faire, mais c‘est tout à fait réalisable. Vous êtes prévenu.

• GRE ne prévoit pas de chiffrement des données qui passent dans le tunnel, il n‘est pas étanche.

• GRE ne prévoit pas l‘authentification des extrémités du tunnel, vous n’êtes sûr que de
l‘authenticité de votre bout de tunnel.

5) Configuration :
 Configuration de base dans le routeur WEST :

Router>EN
Router#CONF T
Enter configuration commands, one per line. End with CNTL/Z.
Router (config) #hostname WEST
WEST (config) #int fa0/0
WEST (config-if) #ip add 172.16.1.1 255.255.255.0
WEST (config-if) #no sh
WEST (config-if) #exit
WEST (config) #int se0/0/0
WEST (config-if) #ip add 10.1.1.1 255.255.255.252
WEST (config-if) #no sh
 Configuration de base dans le routeur EAST :
Router>en
Router#conf t
Router (config) #hostname EAST
EAST (config) #int fa0/0
EAST (config-if) #ip add 172.16.2.1 255.255.255.0
EAST (config-if) #no sh
EAST (config-if)#exit
EAST (config) #int se0/0/0
EAST (config-if) #ip add 10.1.1.2 255.255.255.252
EAST (config-if) #no sh
EAST (config-if) #exit

 Configuration de base dans le routeur ISP :


Router>en
Router#conf t
Router (config)#hostname ISP
ISP (config)#int se0/0/0
ISP (config-if) #ip add 10.1.1.2 255.255.255.252
ISP (config-if) #clock rate 128000
ISP (config-if) #no sh
ISP (config-if) #exit
ISP (config) #int se0/0/1
ISP (config-if) #ip add 10.2.2.2 255.255.255.252
ISP (config-if) #clock rate 128000
ISP (config-if) #no sh
ISP (config-if)#exit

 Configure default routes to the ISP router :


WEST (config) # ip route 0.0.0.0 0.0.0.0 10.1.1.2
EAST (config) # ip route 0.0.0.0 0.0.0.0 10.2.2.2

 Configuration de tunnel au niveau de WEST :


WEST (config) # interface tunnel 0
WEST (config-if) # ip address 172.16.12.1 255.255.255.252
WEST (config-if) # tunnel source se0/0/0
WEST (config-if) # tunnel destination 10.2.2.1

 Configuration de tunnel GRE au niveau d’EAST :


EAST (config) # interface tunnel 0
EAST (config-if) # ip address 172.16.12.2 255.255.255.252
EAST (config-if) # tunnel source 10.2.2.1
EAST (config-if)# tunnel destination 10.1.1.1

 Vérification du fonctionnement tunnel VPN :

Pour établir la liaison VPN et vérifier le fonctionnement, il faut envoyer du trafic au travers du
tunnel, on faisant un ping entre les stations .
WEST# show ip interface brief

Chapitre 2 : Présentation IPSEC :


Le terme IPsec (IP Security Protocol) désigne un ensemble de mécanismes destinés à protéger
le
trafic au niveau d’IP (IPv4 ou IPv6). Les services de sécurité offerts sont l’intégrité en mode
non connecté, l’authentification de l’origine des données, la protection contre le rejeu et la
confidentialité (confidentialité des données et protection partielle contre l’analyse du trafic).
Ces services sont fournis au niveau de la couche IP, offrant donc une protection pour IP et tous
les protocoles de niveau supérieur. Optionnel dans IPv4, IPsec est obligatoire pour toute
implémentation de IPv6. Une fois IPv6 en place, il sera ainsi possible à tout utilisateur désirant
des fonctions de sécurité d’avoir recours à IPsec.
IPsec est développé par un groupe de travail du même nom à l’IETF (Internet Engineering Task
Force), groupe qui existe depuis 1992. Une première version des mécanismes proposés a été
publiée sous forme de RFC en 1995, sans la partie gestion des clefs. Une seconde version, qui
comporte en plus la définition du protocole de gestion des clefs IKE, a été publiée en novembre
1998. Mais Ipsec reste une norme non figée qui fait en ce moment même l’objet de multiples
Internet drafts, notamment sur la protection des accès distants. Cette présentation couvre
uniquement les RFC de novembre 1998.

1. Architecture d’Ipsec :

Pour sécuriser les échanges ayant lieu sur un réseau TCP/IP, il existe plusieurs approches, en
particulier en ce qui concerne le niveau auquel est effectuée la sécurisation : niveau applicatif
(mails chiffrés par exemple), niveau transport (TLS/SSL, SSH…), ou à l’opposé niveau
physique (boîtiers chiffrant toutes les données transitant par un lien donné). IPsec, quant à lui,
vise à sécuriser les échanges au niveau de la couche réseau.

a) Les mécanismes AH et ESP :


Pour cela, IPsec fait appel à deux mécanismes de sécurité pour le trafic IP, les “protocoles” AH
et ESP, qui viennent s’ajouter au traitement IP classique :
• Authentication Header (AH) est conçu pour assurer l’intégrité et l’authentification des
datagrammes IP sans chiffrement des données (i.e. sans confidentialité).
Le principe de AH est d’adjoindre au datagramme IP classique un champ supplémentaire
permettant à la réception de vérifier l’authenticité des données incluses dans le datagramme.
• Encapsulating Security Payload (ESP) a pour rôle premier d’assurer la confidentialité,
mais peut aussi assurer l’authenticité des données.

Le principe de ESP est de générer, à partir d’un datagramme IP classique, un nouveau


datagramme dans lequel les données et éventuellement l’en-tête original sont chiffrés.
Ces mécanismes peuvent être utilisés seuls ou combinés pour obtenir les fonctions de sécurité
désirées. Ils seront décrits plus en détails au chapitre “Les mécanismes de sécurité : AH et
ESP”.

b) La notion d’association de sécurité :

Les mécanismes mentionnés ci-dessus font bien sûr appel à la cryptographie, et utilisent donc
un certain nombre de paramètres (algorithmes de chiffrement utilisés, clefs, mécanismes
sélectionnés...) sur lesquels les tiers communicants doivent se mettre d’accord. Afin de gérer ces
paramètres, IPsec a recours à la notion d’association de sécurité (Security Association, SA).
Une association de sécurité IPsec est une “connexion” simplexe qui fournit des services de
sécurité au trafic qu’elle transporte. On peut aussi la considérer comme une structure de
données servant à stocker l’ensemble des paramètres associés à une communication donnée.
Une SA est unidirectionnelle ; en conséquence, protéger les deux sens d’une communication
classique requiert deux associations, une dans chaque sens. Les services de sécurité sont fournis
par l’utilisation soit de AH soit de ESP. Si AH et ESP sont tous deux appliqués au trafic en
question, deux SA (voire plus) sont créées ; on parle alors de paquet (bundle) de SA.
Chaque association est identifiée de manière unique à l’aide d’un triplet composé de :
• L’adresse de destination des paquets.
• L’identifiant d’un protocole de sécurité utilisé (AH ou ESP).
• Un index des paramètres de sécurité (Security Parameter Index, SPI).

Un SPI est un bloc de 32 bits inscrit en clair dans l’en-tête de chaque paquet échangé ; il est
choisi par le récepteur.
Pour gérer les associations de sécurité actives, on utilise une “base de données des associations
de sécurité” (Security Association Database, SAD). Elle contient tous les paramètres relatifs à
chaque SA et sera consultée pour savoir comment traiter chaque paquet reçu ou à émettre.

c) La gestion des clefs et des associations de sécurité :

Comme nous l’avons mentionné au paragraphe précédent, les SA contiennent tous les
paramètres nécessaires à IPsec, notamment les clefs utilisées. La gestion des clefs pour IPsec
n’est liée aux autres mécanismes de sécurité de IPsec que par le biais des SA. Une SA peut être
configurée manuellement dans le cas d’une situation simple, mais la règle générale est
d’utiliser un protocole spécifique qui permet la négociation dynamique des SA et notamment
l’échange des clefs de session.
D’autre part, IPv6 n’est pas destiné à supporter une gestion des clefs “en bande”, c’est-à-dire où
les données relatives à la gestion des clefs seraient transportées à l’aide d’un en-tête IPv6
distinct. Au lieu de cela on utilise un système de gestion des clefs dit “hors bande”, où les
données relatives à la gestion des clefs sont transportées par un protocole de couche supérieure
tel que UDP ou TCP.
Ceci permet le découplage clair du mécanisme de gestion des clefs et des autres mécanismes de
sécurité. Il est ainsi possible de substituer une méthode de gestion des clefs à une autre sans
avoir à modifier les implémentations des autres mécanismes de sécurité.
Le protocole de négociation des SA développé pour IPsec s’appelle “protocole de gestion des
clefs et des associations de sécurité pour Internet” (Internet Security Association and Key
Management Protocol, ISAKMP). ISAKMP est en fait inutilisable seul : c’est un cadre
générique qui permet l’utilisation de plusieurs protocoles d’échange de clef et qui peut être
utilisé pour d’autres mécanismes de sécurité que ceux de IPsec. Dans le cadre de la
standardisation de IPsec, ISAKMP est associé à une partie des protocoles SKEME et Oakley
pour donner un protocole final du nom d’IKE (Internet Key Exchange).

d) Politique de sécurité :
Les protections offertes par IPsec sont basées sur des choix définis dans une “base de données
de politique de sécurité” (Security Policy Database, SPD). Cette base de données est établie et
maintenue par un utilisateur, un administrateur système ou une application mise en place par
ceux-ci.
Elle permet de décider, pour chaque paquet, s’il se verra apporter des services de sécurité, s’il
sera autorisé à passer outre ou sera rejeté.
La SPD contient une liste ordonnée de règles, chaque règle comportant un certain nombre de
critèresqui permettent de déterminer quelle partie du trafic est concernée. Les critères
utilisables sont l’ensemble des informations disponibles par le biais des en-têtes des couches IP
et transport. Ils permettent de définir la granularité selon laquelle les services de sécurité sont
applicables et influencent directement le nombre de SA correspondante. Dans le cas où le trafic
correspondant à une règle doit se voir attribuer des services de sécurité, la règle indique les
caractéristiques de la SA (ou paquet de SA) correspondante : protocole(s), modes, algorithmes
requis

e) Principe de fonctionnement :

Le schéma ci-dessous représente tous les éléments présentés ci-dessus (en bleu), leurs positions
et leurs interactions.
On distingue deux situations :
• Trafic sortant :

Lorsque la “couche” IPsec reçoit des données à envoyer, elle commence par consulter la base de
donnée des politiques de sécurité (SPD) pour savoir comment traiter ces données. Si cette base
lui indique que le trafic doit se voir appliquer des mécanismes de sécurité, elle récupère les
caractéristiques requises pour la SA correspondante et va consulter la base des SA (SAD). Si la
SA nécessaire existe déjà, elle est utilisée pour traiter le trafic en question. Dans le cas
contraire, Ipsec fait appel à IKE pour établir une nouvelle SA avec les caractéristiques requises.

• Trafic entrant :

Lorsque la couche IPsec reçoit un paquet en provenance du réseau, elle examine l’en-tête pour
savoir si ce paquet s’est vu appliquer un ou plusieurs services IPsec et si oui quelles sont les
références de la SA. Elle consulte alors la SAD pour connaître les paramètres à utiliser pour la
vérification et/ou le déchiffrement du paquet. Une fois le paquet vérifié et/ou déchiffré, la SPD
est consultée pour savoir si l’association de sécurité appliquée au paquet correspondait bien à
celle requise par les politiques de sécurité.
Dans le cas où le paquet reçu est un paquet IP classique, la SPD permet de savoir s’il a
néanmoins le droit de passer. Par exemple, les paquets IKE sont une exception. Ils sont traités
par IKE, qui peut envoyer des alertes administratives en cas de tentative de connexion
infructueuse.

3) Types d’utilisations possibles :

Après avoir vu comment est constitué IPsec et comment il fonctionne, nous allons maintenant
nous intéresser aux différentes façons de l’utiliser. Un point important à retenir est que le fait
d’intervenir au niveau réseau rend la sécurisation totalement transparente pour les applications.
a) Équipement fournissant Ipsec :

IPsec peut être utilisé au niveau d’équipements terminaux ou au niveau de passerelles de


sécurité (security gateway), permettant ainsi des approches de sécurisation lien par lien comme
de bout en bout. Trois configurations de base sont possibles :

La première situation est celle où l’on désire relier des réseaux privés distants par
l’intermédiaire d’un réseau non fiable, typiquement Internet. Les deux passerelles de sécurité
permettent ici d’établir un réseau privé virtuel (en anglais Virtual Private Network, VPN).
La deuxième situation correspond au cas où l’on désire fournir un accès sécurisé au réseau
interne pour des postes nomades. Le réseau non fiable peut être Internet, le réseau
téléphonique…
Enfin, dans la troisième situation, deux tiers désirent communiquer de façon sécurisée mais
n’ont aucune confiance dans le réseau qui les sépare.
On peut également imaginer des configurations plus complexes où plusieurs associations de
sécurité, apportant éventuellement des services de sécurité différents, se succéderaient ou se
superposeraient partiellement :
Dans les exemples ci-dessus, la première association peut servir à assurer les services de
sécurité requis par la politique de sécurité externe (authentification et confidentialité par
exemple), et la seconde à assurer les services requis par la politique de sécurité interne
(authentification vis-à vis de l’hôte final par exemple).

b) Modes de fonctionnement :

Pour chacun des mécanismes de sécurité d’IPsec, il existe deux modes : le mode transport et le
mode tunnel.
En mode transport, seules les données en provenance du protocole de niveau supérieur et
transportées par le datagramme IP sont protégées. Ce mode n’est utilisable que sur des
équipements terminaux ; en effet, en cas d’utilisation sur des équipements intermédiaires, on
courrait le risque, suivant les aléas du routage, que le paquet atteigne sa destination finale sans
avoir traversé la passerelle sensée le déchiffrer.
En mode tunnel, l’en-tête IP est également protégé (authentification, intégrité et/ou
confidentialité) et remplacé par un nouvel en-tête. Ce nouvel en-tête sert à transporter le paquet
jusqu’à la fin du tunnel, où l’en-tête original est rétabli. Le mode tunnel est donc utilisable à la
fois sur des équipements terminaux et sur des passerelles de sécurité. Ce mode permet d’assurer
une protection plus importante contre l’analyse du trafic, car il masque les adresses de
l’expéditeur et du destinataire final .

 Configuration de base du routeur1 :


Router>enable
Router#conf t
Router (config)#hostname Routeur1
Routeur1 (config) #interface Fa 0/0
Routeur1 (config-if) #no sh
Routeur1 (config-if) #ip add 10.0.0.254 255.0.0.0
Routeur1 (config-if)#ip nat inside
Routeur1 (config-if)#exit
Routeur1 (config)#int Se 0/0/0
Routeur1 (config-if) #no sh
Routeur1 (config-if) #ip address 101.0.0.253 255.0.0.0
Routeur1 (config-if) #ip nat outside
Routeur1 (config-if)#exit
Routeur1 (config)#ip route 0.0.0.0 0.0.0.0 101.0.0.254
Routeur1 (config)#do wr

 Mise en place de la fonction NAT sur Routeur1 :

Routeur1 (config)#access-list 100 deny ip 10.0.0.0 0.255.255.255 30.0.0.0 0.255.255.255


Routeur1 (config) #access-list 100 permit ip 10.0.0.0 0.255.255.255 any
Routeur1 (config)#ip nat inside source list 100 int Se0/0/0 overload
Routeur1 (config)#do wr
 Configuration de base du routeur 2 :
Router>enable
Router#configure terminal
Router (config)#hostname Routeur2
Routeur2 (config)#interface Fa 0/0
Routeur2 (config-if) #no sh
Routeur2 (config-if) #ip address 30.0.0.254 255.0.0.0
Routeur2 (config-if) #ip nat inside
Routeur2 (config-if) #exit
Routeur2 (config)#interface Serial 0/0/0
Routeur2 (config-if) #no shutdown
Routeur2 (config-if) #ip address 102.0.0.253 255.0.0.0
Routeur2 (config-if) #ip nat outside
Routeur2 (config-if)#exit
Routeur2 (config)#ip route 0.0.0.0 0.0.0.0 102.0.0.254
Routeur2 (config)#do wr

 Mise en place de la fonction NAT sur Routeur2 :

Routeur2 (config)#access-list 100 deny ip 30.0.0.0 0.255.255.255 10.0.0.0 0.255.255.255


Routeur2 (config)#access-list 100 permit ip 30.0.0.0 0.255.255.255 any
Routeur2 (config)#ip nat inside source list 100 interface Serial 0/0/0 overload
Routeur2 (config)#do wr

 Configuration de base de routeur3 (le routeur central) :


Router>enable
Router#conf t
Router (config)#hostname Routeur3
Router3 (config)#int Se 0/0/0
Router3 (config-if) #clock rate 2000000
Routeur3 (config-if) #no shutdown
Routeur3 (config-if) #ip address 101.0.0.254 255.0.0.0
Routeur3 (config-if) #exit
Router3 (config) #interface Serial 0/0/1
Router3 (config-if)#clock rate 2000000
Routeur3 (config-if)#no shutdown
Routeur3 (config-if)#ip address 102.0.0.254 255.0.0.0
Routeur3 (config-if)#exit
Routeur3 (config)#ip route 10.0.0.0 255.0.0.0 101.0.0.253
Routeur3 (config)#ip route 30.0.0.0 255.0.0.0 102.0.0.253
Routeur3 (config-if)#do wr

 Mise en place du tunnel VPN Ipsec :


 Configuration de la négociation des clés (phase 1) :

Détail de la configuration sur Routeur1


L'objectif est d’activer le protocole 'IKE', configurer le protocole 'ISAKMP' qui gère l’échange
des clés et établir une stratégie de négociation des clés et d’établissement de la liaison VPN. La
clé pré partagée (PSK) sera définie avec pour valeur 'CLESECRETE'. On va ici utiliser les
paramètres suivants:
• Encryptage AES
•Mode de secret partagé PSK
• Authentification par clé pré-partagées
• Algorithme de hachage SHA (valeur par défaut)
• Méthode de distribution des clés partagées DH-2
• Durée de vie 86400 secondes (valeur par défaut) On spécifie le protocole de hash utilisé, le
type et la durée de validité des clés de sessions. On indique ensuite si le routeur 'peer' (celui situé
au bout du tunnel) est identifié par un nom ou son adresse.
Routeur1 (config)#crypto isakmp enable
Routeur1 (config)#crypto isakmp policy 10
Routeur1 (config-isakmp)# encryption aes
Routeur1 (config-isakmp)# authentication pre-share
Routeur1 (config-isakmp)# hash sha
Routeur1 (config-isakmp)# group 2
Routeur1 (config-isakmp)# lifetime 86400
Routeur1 (config-isakmp)#exit
Routeur1 (config) # crypto isakmp key CLESECRETE

 Configuration de la méthode de chiffrage des données (phase 2)


R1 :
Il faut établir l'opération en trois phases

1. Créer la méthode de cryptage (transform-set) que je nomme ''VPNLABO'', avec ''espaes''


comme méthode de cryptage et ''esp-sha-hmac'' comme méthode d’authentification.

On définit la durée de vie de la clé soit en durée (secondes).

2. Je créé ensuite une liste de contrôle d'accés (access-list) que je nomme ''VPN'', servant à
identifier le trafic à traiter par le tunnel VPN. Pour Routeur1, ce sera le trafic d'origine
10.0.0.0/8 à destination de 30.0.0.0/8.
3. Je déclare finalement une carte de cryptage (crypto-map) que j'appelle ''CARTEVPN'',
servant à spécifier le pair distant, le 'transform set' et l'access list.

Voici le détail de la configuration sur Routeur1 :

Routeur1 (config)#crypto ipsec transform-set VPNLABO esp-aes esp-sha-hmac Routeur1


(config)#crypto ipsec security-association lifetime seconds 86400
Routeur1 (config)#ip access-list extended VPN
Routeur1 (config-ext-nacl)#permit ip 10.0.0.0 0.255.255.255 30.0.0.0 0.255.255.255
Routeur1 (config-ext-nacl)#exit
Routeur1(config)#crypto map CARTEVPN 10 ipsec-isakmp Routeur1(config-crypto-map)#
match address VPN
Routeur1 (config-crypto-map)#set peer 102.0.0.253
Routeur1 (config-crypto-map)#set transform-set VPNLABO
Routeur1 (config-crypto-map)#exit
Routeur1 (config)# int se0/0/0
Routeur1 (config-if)#crypto map CARTEVPN
Routeur1 (config-if)#do wr
 Voici le détail de la configuration sur Routeur2 :

La configuration est très similaire, il suffit d'adapter les adresses des réseaux à filtrer et préciser
l'adresse du routeur pair.
Routeur2 (config)#crypto isakmp en
Routeur2 (config)#crypto isakmp policy 10
Routeur2 (config-isakmp)# encryption aes
Routeur2 (config-isakmp)#authentication pre-share
Routeur2 (config-isakmp)#hash sha
Routeur2 (config-isakmp)#group 2
Routeur2 (config-isakmp)#lifetime 86400
Routeur2 (config-isakmp) #exit
Routeur2 (config)# crypto isakmp key CLESECRETE address 101.0.0.253
Routeur2 (config) # crypto ipsec transform-set VPNLABO esp-aes esp-sha-hmac
Routeur2 (config) # crypto ipsec security-association lifetime seconds 86400
Routeur2 (config)# ip access-list extended VPN
Routeur2 (config-ext-nacl) # permit ip 30.0.0.0 0.255.255.255 10.0.0.0 0.255.255.255
Routeur2 (config-ext-nacl)# exit
Routeur2 (config)# crypto map CARTEVPN 10 ipsec-isakmp
Routeur2 (config-crypto-map)# match address VPN
Routeur2 (config-crypto-map)#set peer 101.0.0.253
Routeur2 (config-crypto-map) #set transform-set VPNLABO
Routeur2 (config-crypto-map)#exit
Routeur2 (config) # interface serial 0/0/0
Routeur2 (config-if) #crypto map CARTEVPN
Routeur2 (config-if) #do wr
Vérification du fonctionnement tunnel VPN Pour établir la liaison VPN et vérifier le
fonctionnement, il faut envoyer du trafic au travers du tunnel, on faisant un ping entre les
stations. Une fois le tunnel configuré, plusieurs commandes permettent de vérifier si le
tunnel fonctionne

•Routeur1#show crypto isakmp policy


• Routeur1#show crypto isakmp sa
• Routeur1#show crypto ipsec sa

Conclusion
Un réseau informatique est constitué d’un groupe de deux ordinateurs ou plus, ou d’autres
dispositifs électroniques connectés entre eux, qui leur permettent de partager des informations et
des ressources. Il existe trois types de réseaux, à savoir: Internet, Intranet et Extranet..
Il existe également différentes méthodes de mise en réseau: réseau local (LAN), utilisé dans une
petite zone comme dans un bâtiment; Réseau métropolitain (MAN) utilisé dans les villes; Réseau
étendu (WAN) utilisé dans une grande zone, réseaux locaux sans fil et réseaux étendus.

Ces réseaux, en particulier ceux qui utilisent Internet, utilisent un protocole de communication
pour transmettre des paquets de données à partager par les différents utilisateurs du réseau. Un
paquet contient des informations de contrôle qui fournissent les informations nécessaires à la
livraison des données, à la détection d'erreur, aux données utilisateur ou aux données utiles..

IPsec est utilisé pour protéger les données partagées entre deux hôtes, deux passerelles de
sécurité ou une passerelle et un hôte. Contrairement aux autres systèmes de sécurité, il peut être
utilisé même dans des applications qui ne sont pas conçues pour l'utiliser. Au début d'une
session, IPsec permet aux agents d'établir une authentification mutuelle et un accord des clés
cryptographiques devant être utilisées pendant la session..

Il peut être appliqué à la fois en mode de transport hôte à hôte et en mode tunnel réseau. Il est
standard ouvert et effectue plusieurs opérations à l’aide de ces protocoles: en-tête
d’authentification (AH), qui protège contre les attaques par rejeu, en assurant la confidentialité
des données utiles (ESP), et associations de sécurité (SA), qui fournissent des données pour les
opérations AH et ESP..

L'encapsulation générique du routage (GRE), quant à elle, est un protocole de tunnelage utilisé
pour transporter d'autres protocoles routés dans un réseau IP ainsi que des paquets IP dans un
réseau IP. Il est sans état et n'a aucun mécanisme de contrôle de flux.

Tandis qu'IPsec offre la confidentialité via l'authentification, GRE offre moins de sécurité. GRE
a également des en-têtes d'octets supplémentaires pouvant entraîner des retards dans
l'acheminement et le transfert des paquets. Si IPsec peut envoyer des paquets, il ne peut pas
envoyer de protocoles de routage comme le GRE peut le faire..