Vous êtes sur la page 1sur 104

N° d’ordre : 18/GTR/TCO Année Universitaire 2005/2006

UNVERSITE D’ANTANANARIVO
----------------------------
ECOLE SUPERIEURE POLYTECHNIQUE
----------------------------
DEPARTEMENT TELECOMMUNICATION

MEMOIRE DE FIN D’ETUDES


en vue de l’obtention

du DIPLOME d’INGENIEUR
Spécialité : Télécommunications
Option : Génie des Télécommunication et réseaux

par : RANOHARISOA Haingo Nirina

ETUDE ET MISE EN ŒUVRE DES RESEAUX PRIVES


VIRTUELS

Soutenu le mardi 05 décembre 2006 devant la Commission d’Examen composée de :

Président : Monsieur RANDRIAMITANTSOA Paul Auguste

Examinateurs :
Monsieur RANDRIARIJAONA Lucien Elino
Monsieur RATSIHOARANA Constant
Monsieur RANDRIATSIRESY Ernest

Directeur de mémoire : Monsieur RATSIMBAZAFY Andriamanaga

i
REMERCIEMENTS

Nous tenons avant tout à louer le Seigneur pour Sa grâce et Sa bonté qui nous ont donné la force
et la santé sans quoi nous n'aurions pu effectuer ce mémoire de fin d'études.

Le présent travail a pu bénéficier du concours de certaines personnes que nous tenons à


remercier, à savoir :

 Monsieur RAMANANTSIZEHENA Pascal, Directeur de l'Ecole Supérieure


Polytechnique d'Antananarivo.
 Monsieur RANDRIAMITANTSOA Paul Auguste, Chef de Département
Télécommunication à l'Ecole Supérieure Polytechnique d'Antananarivo, qui nous a fait
l'honneur de présider cette soutenance.
 Monsieur RATSIMBAZAFY Andriamanga, Enseignant chercheur à l'Ecole Supérieure
Polytechnique d'Antananarivo, qui nous a assisté durant l'élaboration de ce travail.
 Messieurs RANDRIARIJAONA Lucien Elino, RATSIHOARANA Constant et
RANDRIANTSIRESY Ernest qui ont accepté d'examiner cet ouvrage.
 Tous les enseignants du corps professoral du Département Télécommunication de l'Ecole
Polytechnique d'Antananarivo.

Nous tenons à adresser une profonde gratitude à nos parents, frères, sœurs et amis qui nous ont
accompagné et soutenu durant toutes ces années d'études.

ii
AVANT-PROPOS

Après l'avènement de l'Internet qui a inondé le monde d'informations de toutes sortes et


sur tous les sujets, une autre tendance s'est développée : un réseau du même genre mais privé. En
effet, l'information, pour être efficace et efficient, doit être précise et authentique d'une part, mais
aussi disponible et accessible à temps d'autre part. Les militaires d'abord, puis les grandes
entreprises ensuite, ne se sont plus contentées de partager leurs ressources, seulement à l'intérieur
du réseau local. Le besoin de rapidité dans les prises de décision exige la disponibilité
d'informations, le plus souvent confidentiel, venant de sources de ^plus en plus éloignées des
décideurs.

La vulgarisation des technologies de l'Information et de la communication en plus de la


diminution des coûts et des matériels sur le marché a fait que, même les PME-PMI commencent
à prendre goût au phénomène. Notre vocabulaire s'est alors enrichi de termes tels que Intranet
d'entreprise, Extranet, MAN pour Metropolitain Area Network ou réseau Métropolitain lorsque
la distance séparant les sites à connecter est de l'ordre de quelques kilomètres ou encore WAN
pour Wide Area Network lorsqu'elle est à l'échelle d'un pays.

La délocalisation de la production industrielle, la volonté de se rapprocher des


consommateurs des zones enclavées dans un optique de développement régional durable, la
nécessité du travail collaboratif entre différents experts, le nombre sans cesse croissant de
travailleurs itinérants qui peut être considéré comme étant une suite logique au concept de
mondialisation, sont autant de grands consommateurs de connexions, et par conséquent, autant
de défis auxquels doivent faire face les spécialistes de la télécommunication.

iii
i
TABLE DES MATIERES

ABREVIATIONS..................................................................................................................................... v
INTRODUCTION GENERALE............................................................................................................. 1
CHAPITRE 1 : La technique VPN.......................................................................................................... 2
1.1. Généralités.......................................................................................................................................................... 2
1.1.1. Liaison louée [11] [13] ................................................................................................................................. 2
1.1.2. Vsat [17] [16] ............................................................................................................................................... 3
1.1.3. VPN [5] [13] [12] .......................................................................................................................................... 3
1.1.4. Contexte conduisant à VPN [23] ................................................................................................................ 3
1.1.5. Le but de VPN [23] ...................................................................................................................................... 4
1.1.6. Avantages de VPN [5] [12] .......................................................................................................................... 4
1.1.7. Marché cible du VPN [5] ............................................................................................................................. 5
1.2. Concept de base de VPN..................................................................................................................................... 5
1.2.1. Qu’est ce qu’un VPN [5] [3] ........................................................................................................................ 5
1.2.2. Les composants d’un VPN [5] .................................................................................................................... 6
1.2.3. Le tunneling [15] ......................................................................................................................................... 7
1.2.3.1. Définition [15]................................................................................................................................................... 7
1.2.3.2. Principe de fonctionnement [15]........................................................................................................................ 7
1.2.3.3. Les protocoles de tunnelisation [15]................................................................................................................... 8
1.2.4. Application des VPN [5] .............................................................................................................................. 8
1.2.4.1. VPN Accès distants [27]..................................................................................................................................... 8
1.2.4.2. VPN Intranet [27]............................................................................................................................................... 9
1.2.4.3. VPN Extranet [27]............................................................................................................................................. 9

CHAPITRE 2 : Les protocoles de tunnelisation de niveau 2................................................................ 11


2.1. PPTP................................................................................................................................................................. 11
2.1.1. Définition [8] ...............................................................................................................................................11
2.1.2. Le tunneling des données PPTP [8] .......................................................................................................... 11
2.1.3. La maintenance du tunnel avec la connexion de contrôle PPTP [8] ..................................................... 12
2.1.4. VPN et PPTP [27]....................................................................................................................................... 13
2.1.4.1. Etablissement d’une connexion VPN PPTP [13]............................................................................................ 13
2.1.4.2. Adressage des réseaux privés virtuels PPTP [13]............................................................................................ 14
2.1.4.3. Sécurité PPTP [13]........................................................................................................................................... 15
2.1.4.4. Filtrage des paquets PPTP [13]........................................................................................................................ 16
2.2. VPN L2TP......................................................................................................................................................... 16
2.2.1. Définition [9] [6] ......................................................................................................................................... 16
2.2.2. Encapsulation PPP L2TP [9] [6] .............................................................................................................. 16
2.2.3. Tunneling des données L2TP [9] [6] ........................................................................................................ 17
2.2.3.1. Format de l’en-tête L2TP [6] .......................................................................................................................... 17
2.2.4. Maintenance des tunnels avec les messages de contrôle [8] [10] ........................................................... 18
2.2.5. VPN et L2TP [9] .........................................................................................................................................18
2.2.5.1. Etablissement d’une connexion VPN L2TP [27]............................................................................................. 18
2.2.5.2. L2TP Access Concentrator LAC (NAS : Network Access Server) [27]........................................................... 19
2.2.5.3. L2TP Network Server LNS [27]....................................................................................................................... 19
2.2.6. Sécurité VPN L2TP.................................................................................................................................... 19
2.2.6.1. Extensible Authentication Protocol EAP [28]................................................................................................. 20
2.2.6.2. Password Authentication Protocol : PAP [28]................................................................................................. 20
2.2.6.3. Challenge Handshake Authentication Protocol : CHAP [28.......................................................................... 21
2.2.6.4. Microsoft Challenge Handshake Authentication Protocol : MS-CHAP [28]................................................. 21
2.2.6.5. Shiva Password Authentication Protocol : SPAP [28]..................................................................................... 22
2.3. Protocoles de niveau 2,5 : MPLS..................................................................................................................... 22
2.3.1. Le protocole MPLS [24]............................................................................................................................. 22
2.3.1.1. Concept de MPLS [24]..................................................................................................................................... 23
2.3.1.2. Fonctionnement de MPLS [8].......................................................................................................................... 23
2.3.1.3. L’en-tête MPLS ou Shim Header [8]............................................................................................................... 25
2.3.1.4. Label Distribution Protocol : LDP [8]............................................................................................................ 26
2.3.1.5. Explicit Routing [8].......................................................................................................................................... 26
2.3.1.6. Architecture pour la QoS [8]............................................................................................................................ 27
2.3.2. VPN et MPLS [24]...................................................................................................................................... 28
2.3.2.1. Fonctionnement d’un VPN MPLS [24]........................................................................................................... 28

ii
2.3.2.2. Composants des VPN MPLS [24].................................................................................................................... 30

CHAPITRE 3 : Protocole de niveau 3 : IPSec....................................................................................... 31


3.1. Définition [26] [7]........................................................................................................................................... 31
3.2. Les services d’IPSec [25] [26] [7].................................................................................................................... 31
3.3. Les modes d’IPSec [26] [7]...............................................................................................................................32
3.3.1. Le mode transport [7]................................................................................................................................. 32
3.3.2. Le mode Tunnel [7]..................................................................................................................................... 32
3.4. Les protocoles d’IPSec [26] [7] ....................................................................................................................... 33
3.4.1. IKE – Internet Key Exchange [26] [7] ..................................................................................................... 33
3.4.2. AH – Authentication Header [26] [7] ....................................................................................................... 33
3.4.3. ESP – Encapsulating Security Payload [26] [7] ...................................................................................... 34
3.4.4. SA – Association de sécurité [26] [7] ........................................................................................................ 35
3.4.5. Isakamp [26] [7] ......................................................................................................................................... 35
3.4.6. SAD – Base de données des associations de sécurité. [26] [7] ................................................................ 36
3.4.7. SPD – Base de données de politique de sécurité [26] [7] ........................................................................ 36
3.4.8. Interaction des éléments d’IPSec [26] [7] ................................................................................................ 36
3.5. VPN et IPSEC................................................................................................................................................... 37
3.5.1. Sécurité VPN L2TP IPSec [10] ................................................................................................................. 38
3.5.1.1. Authentification de l’ordinateur [10]............................................................................................................... 38
3.5.1.2. Authentification de l’utilisateur [10]................................................................................................................ 38
3.5.2. Cryptage avec L2TP sur IPSec [13] ......................................................................................................... 38
3.5.3. Authentification et intégrité de données avec L2TP sur IPSec [13] ...................................................... 39
3.5.4. Filtrage de paquets L2TP sur IPSec [13] ................................................................................................. 39
CHAPITRE 4 : Protocole de niveau 5 : SSL......................................................................................... 40
4.1. Définition [3] [28]............................................................................................................................................. 40
4.2. Les services de SSL [3] .................................................................................................................................... 40
4.3. But de SSL [3] [28]........................................................................................................................................... 40
4.4. Fonctionnement de SSL [3] [28]...................................................................................................................... 41
4.4.1. Phase de négociation [28]........................................................................................................................... 41
4.4.1.1. SSL Handshake protocol [28]......................................................................................................................... 41
4.4.1.2. SSL Record protocol [28]................................................................................................................................. 41
4.5. VPN et SSL [3] ................................................................................................................................................. 42
4.5.1. Processus d’établissement de connexion SSL [3] [28]............................................................................. 42
4.5.2. Les messages d’erreur [3] [28]................................................................................................................... 43
4.5.3. Méthode de chiffrement de SSL [3] [28]................................................................................................... 43
CHAPITRE 5 : MISE EN ŒUVRE DE VPN ....................................................................................... 44
5.1. Mise en œuvre de VPN sous Windows............................................................................................................. 44
5.1.1. Installation de Windows Server 2003 ...................................................................................................... 44
5.1.2. Mise en place d’un serveur DNS............................................................................................................... 46
5.1.2.1. Qu’est ce que DNS ou Domain Name System................................................................................................. 46
5.1.2.2. Utilitaires d’administration de DNS ................................................................................................................ 46
5.1.2.3. Configuration d’un serveur DNS..................................................................................................................... 46
5.1.3. Configuration du serveur en tant que contrôleur de domaine............................................................... 49
5.1.3.1. Qu’est ce qu’un domaine ................................................................................................................................ 49
5.1.3.2. Qu’est ce qu’un contrôleur de domaine........................................................................................................... 49
5.1.3.3. Qu’est ce que Active Directory......................................................................................................................... 49
5.1.3.4. Configuration................................................................................................................................................... 50
5.1.4. Installation d’un serveur DHCP................................................................................................................52
5.1.4.1. Qu’est ce que Dynamic Host Configuration Protocol DHCP.......................................................................... 52
5.1.4.2. Mode de fonctionnement.................................................................................................................................. 52
5.1.4.3. Installation....................................................................................................................................................... 52
5.1.4.4. Qu’est ce qu’une étendue................................................................................................................................. 53
5.1.5. Configuration du routage et accès distant................................................................................................ 55
5.1.6. Configuration des comptes clients dans Active Directory..................................................................... 56
5.1.7. Configuration des postes de travail client VPN....................................................................................... 56
5.1.8. Test de connexion........................................................................................................................................ 59
5.1.9. Application de VPN : Bureau à distance.................................................................................................. 59
5.1.9.1. Configuration du serveur................................................................................................................................. 60
5.1.9.2. Configuration du client à distance................................................................................................................... 61
5.1.10. Les problèmes rencontrés lors de la création de ce domaine................................................................ 61
iii
5.2. MISE EN ŒUVRE DE VPN SOUS LINUX................................................................................................... 62
5.2.1. Installation de Fedora Core 4.................................................................................................................... 62
5.2.1.1. Caractéristiques matérielles requises............................................................................................................... 62
5.2.1.2. Caractéristiques matérielle de la machine utilisée........................................................................................... 62
5.2.1.3. Les étapes de l’installation............................................................................................................................... 63
5.2.2. Configuration réseau.................................................................................................................................. 69
5.2.3. Configuration du serveur de nom DNS pour Fedora Core 4................................................................. 69
5.2.3.1. Démarrage du daemon..................................................................................................................................... 69
5.2.3.2. Création des zones............................................................................................................................................ 69
5.2.3.3. Configuration des zones................................................................................................................................... 71
5.2.3.4. Configuration des redirecteurs......................................................................................................................... 72
5.2.3.5. Récapitulation .................................................................................................................................................. 73
5.2.3.6. Configuration du client.................................................................................................................................... 73
5.2.3.7. Test de fonctionnement ................................................................................................................................... 73
5.2.4. Installation de OpenVPN........................................................................................................................... 74
5.2.4.1. Qu’est ce que Open VPN.................................................................................................................................. 74
5.2.4.2. Sécurité de Open VPN...................................................................................................................................... 74
5.2.4.3. Capacité de OpenVPN...................................................................................................................................... 74
5.2.4.4. Qu’est ce que OpenSSL.................................................................................................................................... 74
5.2.4.5. Installation de OpenVPN ................................................................................................................................ 75
5.2.5. Les problèmes rencontrés lors de la mise en œuvre de VPN sous Linux...............................................76
5.3. Comparaison entre la mise en œuvre de VPN sous Windows et Linux..........................................................77
5.4. Eléments nécessaires pour la mise en œuvre d’un VPN Accès distant.......................................................... 78
CONCLUSION GENERALE................................................................................................................ 79
ANNEXE 1 : PPP (Point to Point Protocol).......................................................................................... 81
ANNEXE 2 DES : (Data Encryption Standard)................................................................................... 83
ANNEXE 4 : MPPE ou MICROSOFT POINT TO POINT PROTOCOL........................................ 86
ANNEXE 5 : MD5 (Message Digest 5).................................................................................................. 87
BIBLIOGRAPHIE................................................................................................................................. 88
FICHE DE RENSEIGNEMENTS......................................................................................................... 91

iv
ABREVIATIONS

AH Authentication Header
ATM Asynchronous Transfer Mode

BGP Border Gateway Protocol


BS Bottom of Stack

CA Certification Authority
CE Controller Edge router
CHAP Challenge Handshake Authentication Protocol
CoS Class of Service
CRL Certificate Revocation List
CR-LDP Constraint-Based Routing LDP

DCOM Disributed Component Object Model


DHCP Dynamic Host Configuration Protocol
DHCP Dynamic Host Configuration Protocol
DNS Domain Name System

EAP Extensible Authentication Protocol


ER-LSP Explicitly Routed Path
ESP Encapsulating Security Payload

FAI Fournisseur d’Accès Internet


FQDN Full Qualify Domain Name
FR Frame Relay

GRE Generate Routing Encapsulation

HMAC Hashed Message Authentication Code

ICV Integrity Control Value

v
IKE Internet Key Exchange
IP Internet Protocol
IPcomp IP payload compression
IPSec Internet Protocol Security
IPSec IP Security
IS-IS Intermediate System to Intermediate System
ISP Internet Service provider

L2F Layer 2 Forwarding


L2TP Layer 2 Tunneling Protocol
LAC L2TP Access Concentrator
LCP Link Control Protocol
LCT Link Control Protocol
LDP Label Distribution Protocol
LIB Label Base Information
LNS L2TP Network Server
LQM Link Quality Monitor
LSP Label Switched Path

MD5 Message Digest 5


MPPE Microsoft Point to point Encryption Protocol
MP-iBGP Multi Protocol -BGP Extension
MPLS MultiProtocol Label Switching
MS-CHAP Microsoft Challenge Handshake Authentication Protocol
MTU Maximum Transmission Unit

NAS Network Access Server


NCP Network Control Protocol

OSPF Open Short Path First

PAP Password Authentication Protocol

vi
PE Provider Edge Router
PHB Per Hop Behaviour
PKI Public Key Infrastructure
PPP Point to Point Protocol
PPP Point to Point Protocol
PPTP Point to Point Tunneling Protocol
PVC Private virtual Circuit

QoS Quality of service

RC4 Rivest-Shamir-Adleman
RD Route Distinguisher
RIP Routing Information Protocol
RPC Remote Procedure Call
RSA Rivest Shamir Adleman
RSVP Resource reSerVation Protocol

SA Security Association
SAD Security Association Database

SDH Synchronous Digital Hierarchie


SOA Start Of Authority
SPAP Shiva Password Authentication Protocol
SPI Security Parameter Index

TLV Type-Longueur-Valeur
TTL Time To Live

VPI Virtual Path


VPN Virtual Private Network
VPN-ID Virtual Private Network IDentfier
VRF Virtual Routing and Forwarding table

vii
INTRODUCTION GENERALE

Le développement du secteur tertiaire à Madagascar est un fait confirmé. Le nombre de


PME croit considérablement, tandis que les grandes entreprises sont entraînées à des reformes
suivant les tendances économiques et technologiques. En effet la technologie de la communication
joue un rôle très important dans le développement d’une entreprise puisque c’est elle qui définit la
rapidité des échanges d’informations et l’intégrité de celles-ci. Ainsi, on mesure la performance, le
standing d’une société par la qualité de leur méthode de travail et par la sécurité de leur système.

Divers domaines tels que le tourisme, les travaux publics, les extractions minières qui sont
depuis quelques temps les projets en vogue à Madagascar ont leur siège dans plusieurs localités.
Les bureaux administratifs sont le plus souvent en ville et d’autres sièges se situent aussi dans les
chantiers, certaines entreprises ont même des annexes dans toutes les villes. Ces entreprises qui
sont en permanentes collaborations doivent ainsi profiter des mêmes sources d’informations et
nécessitent la possibilité de pouvoir les acquérir, les mettre à jour à tout moment. Diverses
possibilités s’offrent à eux : une technologie qui relientrelie les différents sites par câble ou par
faisceaux hertziens par des liaisons louées ou des VSat. Le choix entre ces différentes
technologies dépend pourtant des besoins de l’entreprise et des contraintes qui lui sont imposées.

Parmi ces diverses solutions émerge le Virtual Private Network. Le VPN est une solution
proposée pour que plusieurs sites puissent s’interconnecter ou pour qu’un nomade de travail
puisse tout le temps accéder aux ressources du réseau local de son entreprise. Plusieurs raisons
font que l’on ait choisi VPN. Nous en verrons plus dans le développement.

Dans cet ouvrage, nous allons effectuer une étude théorique du dit VPN en développant les
protocoles de tunnelisation,n bases du VPN. Dans un second temps, nous allons le mettre en
œuvre dans deux systèmes d’exploitation différents qui est Microsoft Windows et Linux
accompagné d’un bref analyse de toute l’étude et du travail effectué sur ces deux systèmes.

1
CHAPITRE 1 : LA TECHNIQUE VPN

1.1.Généralités
Le succès croissant du télétravail et l'éclatement géographique des entreprises rendent
nécessaire la mise en œuvre de moyens sûrs pour accéder au réseau de l'entreprise depuis
l'extérieur .Certaines entreprises éprouvent donc le besoin de communiquer avec des filiales
d’autant plus que les travailleurs nomades sont de plus en plus nombreux. On assiste ainsi à une
croissance inexorable du trafic entre les sites d’un même réseau d’entreprise dû au développement
des applications d’entreprises.
Plusieurs solutions s’offrent à ces entreprises. Les télétravailleurs peuvent se procurer les
ressources du réseau local de son entreprise via l’Internet, par e-mail. Les entreprises multi sites
peuvent installer une liaison louée une communication par Vsat entre leurs sites. Ces entreprises
peuvent aussi opter pour la solution VPN pour interconnecter travailleurs nomades ou sites
annexes à l’Intranet d’une organisation.
Donnons nousDonnons-nous une brève notion sur toutes ces solutions.

1.1.1.Liaison louée [11] [13]


Une liaison louée se définit comme une liaison permanente constituée par un ou plusieurs tronçons
ouvert au public et réservée à l’usage exclusif d’un utilisateur. Elle s’oppose ainsi, à la liaison
commutée, qui est temporaire.

Figure 1.01 : Liaison louée

2
1.1.2.Vsat [17] [16]
Vsat est une technique de communication par satellite. L’antenne Vsat est une antenne
parabolique de relativement petit diamètre. Il est utile pour relier deux sites géographiquement
éloignés.

Figure 1.02 : Liaison par Vsat

1.1.3.VPN [5] [13] [12]


VPN est une technique qui consiste à relier un utilisateur distant ou un réseau distant à l’Intranet
d’une organisation tout en assurant une sécurité du flux d’informations échangé entre les deux
entités.

Figure 1.03 : Liaison VPN

1.1.4.Contexte conduisant à VPN [23]


Pourquoi choisir et déployer VPN pour sécuriser l'accès distant à l'entreprise. La technique
VPN permet aux entreprises de créer des réseaux privés virtuels sans installation particulière côté
client rendant accessible tout le réseau de l'entreprise et ses services depuis l'extérieur.

3
Beaucoup d’organisations sont soumises à des contraintes de coût. C’est la première raison qui
sollicite le choix de la solution VPN. En effet, à part les frais d’installation et le coût des
infrastructures qui sont tous deux très chers, les frais mensuels d’une liaison louée est dans les
environs de 1 500 000 Ar pour un débit de 128k . Tandis que le coût mensuel d’une liaison par
Vsat est environ 3042 euros ou 8 128 224 Ar pour un débit de 128k.
Le coût de la communication VPN, à part les frais d’installation et le coût de l’infrastructure, se
résume au frais de connexion à Internet.
L’exclusion de l’envoi par e-mail des documents ou l’utilisation des bureaux à distance est due à
la non fiabilité du réseau Internet.
La plupart des entreprises tiennent aussi à conserver l’architecture Internet pour la couche
applicative, d’où leur intérêt pour la communication sous IP. Des applications basées sur Internet
sont en vogue notamment les applications de formation à distance et les applications multimédias.

1.1.5.Le but de VPN [23]


VPN se donne pour défi de :
 interconnecter deux entités comme s’ils appartenaient à un même réseau physique et de
bénéficier des ressources du réseau LAN ;
 assurer l’intégrité des flux d’informations transmis ;
 assurer la sécurité.

1.1.6.Avantages de VPN [5] [12]


Une organisation qui optera pour VPN peut bénéficier des avantages suivants :

 Comme le fournisseur de services Internet assure la gestion du matériel de communication,


notamment les modems et les cartes RNIS, l’entreprise ne doit plus acheter et les gérer
pour son réseau, elle est donc abolit contre les problèmes d’infrastructure physique donc
réduit les dépenses financières.
 Plusieurs sites peuvent être interconnectés sans installation de lourdes infrastructures.
 Le prix de l’interconnexion ne dépend plus de la distance entre client et serveur ou entre
les deux sites, il est le même et moindre quelque soit la distance.
 Les nouvelles applications d’entreprises (réseaux dédiés au stockage ou SAN, les serveurs
web et les ERP ou GRP distribués) peuvent être totalement prises en charges.

4
 Le VPN est beaucoup plus facile à gérer que les réseaux basés sur des technologies
classiques. En effet il y a une réduction des ressources humaine et financière de
l’entreprise affectée à cette tâche.
 Le coût pour l’installation d’un VPN est largement moins cher que les autres solutions. Si
on veut

1.1.7.Marché cible du VPN [5]


VPN tente de résoudre une solution d’interconnexion et d’extension de réseaux et les propose
aux entités suivantes :
 entreprises multisites ;
 télétravailleurs et nomades ;
 réseaux fortement maillés ne présentant pas une topologie en étoile.

1.2.Concept de base de VPN

1.2.1.Qu’est ce qu’un VPN [5] [3]


Un VPN est une extension des réseaux locaux qui procure une norme de sécurité en
télécommunications. VPN consiste à utiliser un réseau public qui est l’Internet comme support de
transmission en utilisant un protocole de tunnelisation pour permettre à un ordinateur ou réseau
d’ordinateurs distants de faire partie d’un réseau local. Il permet aux utilisateurs à domicile ou en
déplacement d’établir une connexion d’accès distant en utilisant l’infrastructure fournie par un
interréseau public.
Du point de vue de l’utilisateur, le VPN est une connexion point à point entre le client
VPN et le serveur VPN. Il permet également aux organisations de router des connexions avec des
filiales distantes ou avec d’autres organisations par le biais encore d’un interréseau public, tout en
assurant des communications sécurisées.
On parle alors de réseau privé virtuel pour désigner le réseau ainsi artificiellement créé. Ce
réseau est dit virtuel car il relie deux réseaux physiques (réseaux locaux) par une liaison partagée
et non fiable et il est dit privé car seuls les ordinateurs des réseaux locaux de part et d’autre du
VPN peuvent se reconnaître.
Les VPN utilisant une infrastructure de réseau public correspondent typiquement aux
services offerts par les fournisseurs d’accès à Internet.
Un VPN se repose principalement sur le « tunneling ».

5
Figure 1.04 : VPN

1.2.2.Les composants d’un VPN [5]


Serveur VPN : Ordinateur qui accepte les connexions VPN en provenance des clients VPN. Un
serveur VPN peut fournir une connexion VPN d’accès distant ou connexion VPN routeur à
routeur.
Client VPN : L’ordinateur qui lance une connexion VPN vers le serveur VPN. Il peut s’agir d’un
ordinateur individuel qui obtient une connexion VPN d’accès distance ou bien d’un routeur qui
obtient une connexion VPN de routeur à routeur.
Tunnel : portion de la connexion dans laquelle les données sont encapsulées.
Connexion VPN : Portion de la connexion dans laquelle les données sont cryptées. Pour des
connexions VPN sécurisées, les données sont cryptées et encapsulées sur la même portion de
connexion.

Figure 1.05 : Composants d’un VPN.

6
1.2.3.Le tunneling [15]

1.2.3.1.Définition [15]
Le « tunneling » est une pratique courante visant à transporter un protocole (et ses
données) dans un autre protocole. Le protocole encapsulant, ou encore porteur, permet au
protocole sous-jacent de traverser de façon transparente un réseau pour lequel il n'est pas
forcément adapté. Ce peut être également une façon de masquer le contenu afin d'interconnecter
des réseaux privés par le biais d'un réseau public. Il s'agit dans ce cas de VPN. Les tunnels sont
établis entre les routeurs des deux entités qui veulent être interconnectées. Il permet de faire
circuler les informations de façon cryptée d’un bout à l’autre du tunnel à travers d’un réseau qui
est ici l’Internet. Les données à transférer peuvent être des trames ou des paquets d’un autre
protocole. Les données à transmettre peuvent être prises en charge par un protocole différent d’IP.

1.2.3.2.Principe de fonctionnement [15]


Le principe du « tunneling » consiste à construire un chemin virtuel après avoir identifié
l’émetteur et le destinataire. Le transport des données se fait par encapsulation l’entrée du tunnel,
les données à transporter sont insérées dans un paquet du protocole de tunnelisation, puis une
deuxième fois dans un paquet du protocole utilisé pour le transport des données entre les deux
extrémités du tunnel. A la sortie, les données sont extraites du protocole de tunnelisation et
poursuivent leur chemin sous leur forme initiale. Ainsi, le protocole qui implémente le tunnel
encapsule les paquets, qui devraient être transportés dans le réseau IP, dans un en-tête
supplémentaire. Cet en-tête supplémentaire fournit des informations de routage de sorte que la
charge utile encapsulée puisse transiter le réseau intermédiaire.
Pour qu’un tunnel puisse être établi, le client VPN et le serveur VPN doivent implémenter
le même protocole.
L’encapsulation dans un datagramme IP consiste à créer un paquet ayant pour données le
paquet d’origine, pour adresse source, l’adresse du point d’entrée dans le tunnel et pour adresse
destination l’adresse de terminaison du tunnel.

Figure 1.06 : Encapsulation d’un paquet IP

Le « tunneling » inclut le processus : encapsulation, transmission et désencapsulation des paquets.

7
1.2.3.3.Les protocoles de tunnelisation [15]
Les protocoles de tunnelisation sont des normes de communication utilisées pour gérer les
tunnels et encapsuler les données privées. Les technologies utilisant le Tunneling peuvent être
basées sur des protocoles de niveau 2, 2.5 , 3 et 5. PPTP et L2TP sont des protocoles de niveau 2,
MPLS un protocole de niveau 2.5, IPSec un protocole de niveau 3 et TLS ou SSL un protocole de
niveau 5.

1.2.4.Application des VPN [5]


Une organisation a le choix entre plusieurs types de VPN selon l’entité avec laquelle elle veut être
interconnectée. En effet, un VPN peut être créé entre :
 deux systèmes ;
 deux organisations ;
 Plusieurs systèmes et une organisation ;
 Plusieurs organisations.

Ainsi, les VPN les plus utilisés sont :


- VPN Accès distants
- VPN Intranet
- VPN Extranet
Un VPN peut être créé entre :

1.2.4.1.VPN Accès distants [27]


Les VPN Accès distants permettent à des utilisateurs distants de se connecter à son LAN
privé tout en conservant la confidentialité via une infrastructure de réseau public. Les composants
d’une connexion VPN Accès distants sont :
Serveur VPN :un ordinateur qui accepte les connexions VPN en provenance des clients VPN. Un
serveur VPN peut fournir une connexion VPN d’accès distant.
Client VPN : Ordinateur qui lance une connexion VPN vers un serveur VPN.
Connexion VPN : Portion de la connexion dans laquelle les données sont cryptées.
Interréseau de transit : interréseau partagé ou public traversé par les données encapsulées.
L’utilisateur se sert d’une connexion Internet pour établir la connexion VPN. Il existe deux cas :
 l’utilisateur demande au fournisseur d’accès de lui établir une connexion cryptée vers le
serveur distant : il communique avec le NAS du fournisseur d’accès et c’est la NAS qui
établit la connexion cryptée.

8
 L’utilisateur possède son propre logiciel client pour le VPN auquel cas il établit
directement la communication de manière cryptée vers le réseau de l’entreprise.

Figure 1.07 : VPN Accès distant.

1.2.4.2.VPN Intranet [27]


Un Intranet est un réseau interne à une entreprise. Il met en relation les sites à l’intérieur
d’une même organisation.
VPN Intranet est utilisé pour relier au moins deux intranets entre eux en créant une
connexion sécurisée entre les deux réseaux locaux. Ceci grâce encore aux protocoles de
tunnelisation qui peuvent être les mêmes que ceux du VPN d’Accès distant. Ce type de réseau est
particulièrement utile au sein d'une entreprise possédant plusieurs sites distants. VPN Intranet
permet d’offrir une qualité comparable à un réseau d’entreprise composé de liaisons louées
classique. Le plus important dans ce type de réseau est de garantir la sécurité et l'intégrité des
données. Certaines données très sensibles peuvent être amenées à transiter sur le VPN (base de
données clients, informations financières...).
Les VPN Intranet peuvent être aussi VPN routeur à routeur car c’est entre les routeurs de
chaque extrémité que va être établie une connexion VPN.

Figure 1.08 : VPN Intranet

1.2.4.3.VPN Extranet [27]


L’Extranet correspond à une ouverture d’une partie de l’Intranet à des partenaires
commerciaux, par exemple des clients ou des fournisseurs.

9
Une entreprise peut utiliser le VPN pour communiquer avec ses clients et ses partenaires. Elle
ouvre alors son réseau local à ces derniers. Dans ce cadre, il est fondamental que l'administrateur
du VPN puisse tracer les clients sur le réseau et gérer les droits de chacun sur celui-ci.

Figure 1.09 : VPN Extranet

10
CHAPITRE 2 :LES PROTOCOLES DE TUNNELISATION DE NIVEAU 2

2.1.PPTP

2.1.1.Définition [8]
Le protocole PPTP ou Point-to-Point Tunneling Protocol est un protocole d’encapsulation
PPP sur IP conçu par Microsoft, permettant la mise en place de réseaux privés virtuels au dessus
d’un réseau public tel qu’Internet.
PPTP utilise une connexion TCP appelée connexion de contrôle PPTP pour créer, maintenir et
terminer le tunnel, ainsi qu’une version modifiée de GRE pour encapsuler des trames PPP sous
forme de données en tunnel. Les charges utiles des trames PPP encapsulées peuvent être cryptées
et/ou comprimées.

Ce protocole ouvre deux canaux de communication entre le client et le serveur :


 un canal de contrôle pour la gestion des liens : ce canal consiste en une connexion TCP
 un canal de données transportant le trafic

2.1.2.Le tunneling des données PPTP [8]


Le tunneling des données PPTP est réalisé par le biais de multiples niveaux
d’encapsulation comme sur la figure suivante :

Figure 2.01 : Données PPTP mise en Tunnel

L'envoi PPP initial est crypté et encapsulé avec un en-tête PPP pour créer la trame PPP. La trame
PPP est alors encapsulée avec un en-tête GRE.

GRE est un protocole de mise en tunnel qui permet d' encapsuler n'importe quel paquet de
la couche réseau. Le paquet d'origine est la charge utile du paquet finale.
Par exemple, les serveurs de tunnel qui cryptent les données peuvent utiliser GRE à travers
Internet pour sécuriser les Réseaux Privés Virtuels. C’est un protocole client d’IP utilisant le

11
protocole IP 47. Le payload résultant GRE et PPP encapsulé est encapsulé avec un en-tête IP
contenant les adresses sources et destination IP appropriées pour le client PPTP et le serveur
PPTP.
Pour être envoyé sur une liaison LAN ou WAN, le datagramme IP est enfin encapsulé avec un en-
tête et une fin de message pour la technologie de couche data-link de l'interface physique sortante.
Lorsque les datagrammes IP sont envoyés sur une liaison WAN point à point telle que celle d'une
ligne téléphonique analogique, le datagramme IP est encapsulé avec un en-tête et une fin de
message PPP.

2.1.3.La maintenance du tunnel avec la connexion de contrôle PPTP [8]


La connexion de contrôle PPTP se situe entre l'adresse IP du client PPTP utilisant un
port TCP alloué dynamiquement et l'adresse IP du serveur PPTP. La connexion de contrôle
PPTP transporte les messages de gestion et de contrôle de l'appel PPTP qui sont utilisés pour
maintenir le tunnel PPTP. Les paquets de la connexion de contrôle PPTP consistent en un en-
tête IP, un en-tête TCP et un message de contrôle PPTP. Le paquet de la connexion de contrôle
PPTP contient également une fin de message et un en-tête de couche data-link comme le
montre la figure 2.02

Figure 2.02 : Paquet de connexion de contrôle PPTP

Chaque message de connexion de contrôle PPTP commence par un en-tête de longueur fixe de
huit (8) octets. Cet en-tête fixe contient :
La longueur totale du message L:
Le type de message PPTP T : Deux types de message sont indiqués : message de contrôle et
message de gestion
un nombre magique n : Ce nombre est toujours la constante 0x1A2B3C4D. Son utilité de base
est de permettre au récepteur de s’assurer qu’il est correctement synchronisé avec le flux de
données TCP. Il ne doit pas être utilisé pour resynchroniser le flux de données TCP au cas où
l’expéditeur fournit un message incorrectement formaté. La perte de synchronisation doit
entraîner immédiatement la fermeture de la session TCP de la liaison de contrôle.

12
Figure 2.03 : En-tête message de contrôle PPTP

2.1.4.VPN et PPTP [27]


Le déploiement d’une connexion VPN PPTP requiert :
 Un client PPTP : un ordinateur qui supporte le protocole PPTP
 Un serveur d’accès réseau : un serveur d’accès qui permet à ses clients d’accéder à
Internet à l’aide de PPP.
 Un serveur PPTP : un serveur qui a une capacité de routage et est connecté tant au réseau
privé qu’à Internet.

2.1.4.1.Etablissement d’une connexion VPN PPTP [13]


Pour établir une connexion VPN, le client PPTP distant doit se connecter à Internet à l’aide
d’un ISP local. Une fois connecté, le client peut recevoir et envoyer des paquets depuis Internet.
Une deuxième connexion sur celle qui existe déjà est effectuée par ce même client. Les données
envoyées à travers la deuxième connexion sont sous forme de datagrammes IP contenant les
paquets PPP qui sont en réalités des paquets PPP encapsulés. C’est cette deuxième connexion qui
crée la liaison VPN avec le serveur PPTP de l’entreprise qu’on nomme éventuellement un
Tunnel.

Figure2.04 : Connexion PPTP


1 : Connexion PPP
2 : Connexion TCP ou connexion de contrôle PPTP
3 : Connexion PPTP ou Tunnel PPTP

13
La création d’un VPN à l’aide de PPTP implique trois processus :
Connexion et communication PPP : un client PPTP utilise une connexion PPP pour se connecter à
son ISP à l’aide d’une ligne téléphonique RTC ou un RNIS.

Connexion de contrôle PPTP : en utilisant la connexion à Internet établie par PPP, le protocole
PPTP crée une connexion de contrôle entre le client et le serveur PPTP. La connexion de
contrôle est une session TCP standard qui transmettra le contrôle des appels PPTP et la gestion
des informations. La session de la connexion de contrôle et les sessions transmises dans le
tunnel PPTP sont logiquement associées bien que différentes. Elle est responsable de
l’établissement, de la gestion et de la fermeture des sessions transportées dans le tunnel et sert
encore à déterminer la vitesse de transmission et les paramètres des tampons qui sont utilisés
pour réguler le flux de paquets PPP d’une session donnée dans le tunnel.

Tunnel PPTP : le protocole PPTP crée enfin des datagrammes IP contenant des paquets PPP
cryptés. Le tunnel est utilisé pour transporter tous les paquets PPP des sessions utilisateurs. Une
clé présente dans l’en-tête GRE indique à quelle session PPP particulière ce paquet appartient.
La valeur de cette clé est définie par la procédure d’établissement de l’appel qui fait partie de la
liaison de contrôle. L’en-tête GRE contient aussi l’acquittement et des informations de
séquencement qui sont utilisées pour contrôler les encombrements et pour détecter les erreurs
dans les tunnels.

2.1.4.2.Adressage des réseaux privés virtuels PPTP [13]


Pour les clients VPN d’accès distant qui se connectent à Internet avant de créer une connexion
VPN avec un serveur VPN sur Internet, deux adresses IP sont attribuées :
 Lors de la création de la connexion PPP, la négociation IPCP avec le NAS du fournisseur
de services Internet attribue une adresse IP publique.
 Lors de la création de la connexion VPN, la négociation IPCP avec le serveur VPN
attribue une adresse IP d’Intranet. L’adresse IP allouée par le serveur VPN peut être une
adresse IP publique ou privée, selon que l’organisation implémente l’adressage public ou
privé sur son Intranet.

14
Dans les deux cas, l’adresse IP allouée au client VPN doit être accessible par les hôtes sur
l’Intranet et vice versa.

Figure 2.05 : Adresses publiques et privées dans les données en tunnel PPTP

2.1.4.3.Sécurité PPTP [13]


PPTP offre l’authentification des utilisateurs et le cryptage des données. L’utilisateur
qui tente une connexion PPTP est authentifié grâce aux protocoles d’authentification
d’utilisateur PPP tels que EAP, MS-CHAP, SPAP et PAP.
PPTP hérite du cryptage MPPE, qui utilise le codage de chiffrage RC4 (RSA). MPPE fournit
seulement un cryptage de liaison, pas un cryptage de bout en bout. Le cryptage de bout en bout
est le cryptage de données entre l’application client et le serveur et le serveur hébergeant les
ressources ou les services accédés par l’application. Il peut utiliser des clés de cryptage 40 bits
ou 148 bits. Par défaut, la puissance de cryptage la plus élevée prise en charge par le client VPN
et le serveur VPN est négociée pendant le processus d’établissement de connexion. Si le serveur
VPN nécessite une puissance de cryptage plus élevée que celle prise en charge par le client
VPN, la tentative de connexion est refusée.

MPPE a été conçu au départ pour le cryptage sur une liaison point à point où les paquets
arrivent dans le même ordre que celui dans lequel ils ont été envoyés, et cela avec une faible
perte de paquets. Pour cet environnement, le décryptage d’un paquet dépend du décryptage du
paquet précédent. Toutefois, pour les réseaux VPN, les datagrammes IP envoyés sur Internet
peuvent arriver dans un ordre différent de celui dans lequel ils ont été envoyés, et un plus grand
nombre de paquets est susceptibles de se perdre. Toutefois, MPPE pour les connexions VPN
modifie la clé de cryptage pour chaque paquet. MPPE inclut un numéro d’ordre son l’en-tête. Si
les paquets sont perdus ou arrivent dans un ordre différent, les clés de cryptage sont modifiées
en fonction de leur numéro d’ordre.

15
2.1.4.4.Filtrage des paquets PPTP [13]
Un serveur VPN basé sur PPTP a généralement deux interfaces physiques : une
interface sur le réseau partagé ou public comme Internet, et une autre sur le réseau local. Il a
également une interface virtuelle se connectant à tous les clients VPN. Pour que le serveur VPN
puisse envoyer le trafic entre des clients VPN, l’envoi IP doit être activé sur toutes les
interfaces. Toutefois, avec l’activation de l’envoi entre les deux interfaces physiques, le serveur
VPN route tout le trafic IP du réseau partagé ou public vers l’Intranet. Pour protéger l’intranet
contre tout le trafic non envoyé par un client VPN, le filtrage des paquets PPTP doit être
configuré de telle sorte que le serveur VPN exécute uniquement le routage entre des clients
VPN et l’Intranet, et non pas entre des utilisateurs potentiellement malveillants sur le réseau
partagé ou public et l’intranet.

2.2.VPN L2TP
L2TP est issu de la convergence des protocoles PPTP et L2F. Il a été conçu pour
transporter des sessions PPP au travers d’un réseau IP. Développé à partir du protocole PPP, L2TP
est sans doute l’une des pierres angulaires des réseaux privés virtuels d’accès.

2.2.1.Définition [9] [6]


C’est un protocole réseau qui encapsule des trames PPP pour les envoyer sur des réseaux
IP, X25, relais de trame ou ATM. Lorsqu’il est configuré pour transporter les données sur IP, les
protocoles L2TP peuvent être utilisés pour faire du tunneling sur Internet. Dans ce cas L2TP
transporte des trames PPP dans des paquets IP. La maintenance du tunnel est assuré à l’aide des
messages de commandes au format L2TP tandis que le protocole UDP est utilisé pour envoyer les
trames PPP au sein des trames L2TP.

2.2.2.Encapsulation PPP L2TP [9] [6]

16
Figure 2.06 : Encapsulation de PPP dans L2TP

Comme on le constate, PPP fournit un mécanisme d’encapsulation multiprotocole pour le


transport des paquets à travers des connexions de la couche 2. La charge utile IP initiale est
encapsulée par un en-tête PPP et L2TP. Le paquet L2TP est ensuite encapsulé avec un en-tête
UDP qui sera à son tour encapsulé par un en-tête IP. Pour être envoyé sur une liaison WAN point
à point, telle qu’une ligne téléphonique analogique ou RNIS, le datagramme IP est encapsulé avec
et un code de fin PPP.
Tout comme PPTP, L2TP utilise aussi 2 types de messages : message de contrôle et message de
données. Les messages de données sont employés pour l’encapsulation des trames PPP dans le
tunnel tandis que les messages de contrôle utilisent un canal fiable pour en garantir la livraison.

2.2.3.Tunneling des données L2TP [9] [6]

Figure 2.07 : Données L2TP mises en Tunnel

La charge utile PPP initial est encapsulé par en-tête PPP pour créer la trame PPP. A cette dernière
est ensuite ajoutée un en-tête L2TP qui est à son tour encapsulé dans un en-tête UDP avec les
adresses source et destination appropriée pour le client L2TP.

2.2.3.1.Format de l’en-tête L2TP [6]


Les messages de données et de contrôle partagent le même format d’en-tête.

Figure2.08 : En-tête L2TP


Flags : différents flags
Length : longueur .
Tunnel ID : indique l’identificateur pour la connexion de contrôle qui ont une signification locale
seulement.
Session ID : indique l’identificateur pour une session dans un tunnel.

17
Ns : indique le numéro de séquence du message de contrôle ou de données, débutant de 0.
Nr : indique le numéro de séquence attendu pour le prochain messsage de contrôle.
Offset size : si présent, indique le nombre d’octets après l’en-tête L2TP.
Offset Pad : octets de bourrage.

2.2.4.Maintenance des tunnels avec les messages de contrôle [8] [10]


Contrairement à PPTP, la maintenance de tunnel L2TP ne s’exécute pas sur une connexion
TCP distincte. Le trafic de contrôle et de gestion d’appels L2TP est envoyé sous forme de
message UDP entre le client VPN et le serveur VPN qui doivent tous deux utiliser le même port.
Comme une connexion TCP n’est pas utilisée, L2TP conserve l’ordre des messages lors de la
livraison des messages L2TP, le champ Next-Received et le champ next-sent sont utilisés pour
conserver l’ordre des messages de contrôle. Les paquets non ordonnés sont abandonnés. Les
champs Next-sent et next-received peuvent également être utilisés pour la livraison ordonnée et le
contrôle de flux des données en tunnel.

2.2.5.VPN et L2TP [9]


La mise en œuvre d’un VPN L2TP suppose la disponibilité d’un interréseau IP entre un
client VPN L2TP et un serveur L2TP.
L’utilisateur distant obtient une connexion sur la couche 2 en utilisant une line téléphonique ou un
RNIS et crée un tunnel PPP à partir de cette connexion.
Une connexion VPN L2TP requiert :
 Un serveur L2TP
 Un client L2TP
 Un LAC (L2TP Access Concentrator)
 Un LNS (L2TP Network Server)

2.2.5.1.Etablissement d’une connexion VPN L2TP [27]


1. L’utilisateur d’extérieur compose le numéro téléphonique du FAI qui lui, rassemble
l’information d’ouverture du client. Le PPP est établit entre le client et le FAI.
2. Le FAI inspecte le nom de l’utilisateur dans l’information d’ouverture de session et
détermine si un service commuté virtuel est exigé.
3. Le FAI établit un point de tunnel avec le point de concentration.

18
4. Les informations d’authentification de l’utilisateur distant sont authentifiées par le LNS
corporation. L’utilisateur possède alors un lien PPP.
5. Au final, le raccordement entre l’utilisateur distant et le réseau de l’entreprise est
semblable à n’importe quel raccordement PPP. Quand le FAI reçoit les trames de
l’utilisateur distant à travers le lien PPP, elles sont encapsulées dans L2TP, et expédiées à
travers le tunnel jusqu’au LNS. La passerelle du point de concentration reçoit ces trames,
désencapsule la trame L2TP, et les traite en tant que trames entrantes normales.

Figure 2.09 : Les composants d’un VPN L2TP

2.2.5.2.L2TP Access Concentrator LAC (NAS : Network Access Server) [27]


LAC fournit un support physique qui sera utilisé par L2TP pour transférer le trafic vers un
ou plusieurs réseaux L2TP. Il peut être intégré à la structure d’un réseau commuté comme le RTC
ou encore être associé à un système d’extrémité PPP prenant en charge le protocole L2TP. Il
assure le fractionnement en canaux pour tout protocole basé sur PPP. LAC joue le rôle de serveur
d’accès, il est à l’origine du tunnel et il est responsable de l’identification du VPN.

2.2.5.3.L2TP Network Server LNS [27]


LNS est un équipement relié au LAN de l’entreprise. Il gère le protocole L2TP du côté du
serveur. C’est le point de terminaison des liaisons PPP, l’émetteur des appels sortants et le
récepteur des appels entrants. Il est responsable de l’identification du tunnel.

2.2.6.Sécurité VPN L2TP


L’authentification de l’utilisateur se fait grâce aux protocoles d’authentification
d’utilisateurs PPP tels que EAP, MS-CHAP, CHAP, SPAP et PAP.
L2TP procure également un moyen d’authentifier les points finaux d’un tunnel L2TP durant le
processus d’établissement du tunnel, intitulé authentification de tunnel L2TP.

19
2.2.6.1.Extensible Authentication Protocol EAP [28]
Le protocole EAP définit une infrastructure permettant aux clients d'accès réseau et aux
serveurs d'authentification d'héberger des modules pour les méthodes et technologies
d'authentification actuelles et futures.
Avec EAP, le mécanisme d'authentification spécifique n'est pas choisi au cours de la phase
d'établissement de liaison de la connexion PPP ; en revanche, les homologues PPP négocient afin
d'effectuer EAP au cours de la phase d'authentification de la connexion. Lorsque la phase
d'authentification de connexion est atteinte, les homologues négocient l'utilisation d'un schéma
d'authentification EAP spécifique, appelé méthode EAP. Une fois l'accord négocié sur la méthode
EAP, le protocole EAP permet l'échange ouvert de messages entre le client d'accès et le serveur
d'authentification, lequel peut varier en fonction des paramètres de la connexion. La conversation
est constituée de demandes et de réponses concernant les informations d'authentification. La
méthode EAP détermine la longueur et les détails de la conversation d'authentification.
D'un point de vue architectural, une infrastructure EAP est constituée des éléments suivants :
Homologue EAP : Ordinateur qui tente d'accéder à un réseau, également appelé client d'accès.
Authentificateur EAP : Point d'accès ou serveur d'accès réseau qui nécessite une authentification
EAP avant d'accorder l'accès à un réseau.
Serveur d'authentification : Ordinateur serveur qui négocie l'utilisation d'une méthode EAP
spécifique avec un homologue EAP, qui valide les informations d'identification de l'homologue
EAP et qui autorise l'accès au réseau. En général, le serveur d'authentification est un serveur
RADIUS (Remote Authentication Dial-In User Service).

2.2.6.2.Password Authentication Protocol : PAP [28]


Le protocole PAP est un protocole d’authentification qui permet d’identifier un utilisateur
lors de sa connexion à un serveur Internet. Lors de cette authentification, le mot de passe est
transmis en clair, c'est-à-dire qu’il n’est pas chiffré. Le protocole PAP est utilisé avec le protocole
PPP et il s’agit d’un protocole d’autorisation d’accès pour l’ouverture d’une session sur le réseau.
Son fonctionnement se déroule comme suit : une table de noms d’utilisateur et de mots de passe
est stockée sur un serveur. Lorsque l’utilisateur s’identifie, son nom et son mot de passe sont
transmis au serveur pour une vérification. Une authentification avec le protocole PAP se fait en
quatre étapes :

20
1. Le processus serveur pppd envoie une requête d’authentification spécifiant l’utilisation du
protocole PAP.
2. Puis le client accepte de s’authentifier.
3. Le client répond alors avec son nom PAP qui, très souvent, correspond au nom
d’utilisateur ainsi qu’avec son mot de passe.
4. la serveur valide ou rejette la tentative de connexion avec un acquittement positif ou
négatif. Cette requête acquittement peut contenir du texte visant à informer l’utilisateur de
l’état de la connexion.
PAP est le plus simple des protocoles d’authentification.

2.2.6.3.Challenge Handshake Authentication Protocol : CHAP [28


Le protocole CHAP, défini par la RFC 1994 est un protocole d’authentification basé sur la
résolution d’un défi, c'est-à-dire une séquence à chiffrer avec une clé et la comparaison de la
séquence chiffrée ainsi envoyée.
Les étapes du défi sont les suivantes :
1. un nombre aléatoire de 16 bits est envoyé au client par le serveur d’authentification, ainsi
qu’un compteur incrémenté à chaque envoi ;
2. la machine distante hache ce nombre, le compteur ainsi que sa clé secrète (le mot de passe)
avec l’algorithme de hachage MD5 et le renvoie sur le réseau ;
3. le serveur d’authentification compare le résultat transmis par la machine distante avec le
calcul effectué localement avec la clé secrète associée à l’utilisateur ;
4. Si les deux résultats sont égaux, alors l’identification réussit, sinon elle échoue.
Le protocole CHAP améliore le protocole PAP dans la mesure où le mot de passe n’est plus
transmis en clair sur le réseau.

2.2.6.4.Microsoft Challenge Handshake Authentication Protocol : MS-CHAP [28]


MS-CHAP, une version spécifique de CHAP, est un protocole créé par Microsoft pour authentifier
les stations de travail Windows distantes en fournissant les fonctionnalités auxquelles les
utilisateurs de réseau locaux sont habitués tout en intégrant les algorithmes de cryptage et de
hachage utilisés sur les réseaux Windows. Ce protocole utilise un système de question/réponse
avec cryptage unidirectionnel de la réponse.
En effet, le protocole CHAP implique que l’ensemble des mots de passe des utilisateurs soit
stocké en clair sur le serveur, ce qui constitue un vulnérabilité potentielle.

21
Ainsi, MS-CHAP propose une fonction de hachage propriétaire permettant de stocker un hash
intermédiaire du mot de passe sur le serveur. Lorsque la machine distante répond au défi, elle doit
ainsi préalablement hacher le mot de passe à l’aide l’algorithme propriétaire.

Le protocole MS-CHAP-v1 souffre malheureusement de failles de sécurités liées à de faiblesses


de la fonction de hachage propriétaire.
La version 2 du protocole MS-CHAP définit une méthode dite « d’authentification mutuelle »,
permettant au serveur d’authentification et à la machine distante de vérifier leurs identités
respectives. Le processus d’authentification mutuelle fonctionne de la manière suivante :
1. Le serveur d’authentification envoie à l’utilisateur distant une demande de vérification
composée d’un identifiant de session ainsi que d’une chaîne aléatoire.
2. Le client répond avec :
 Son nom d’utilisateur ;
 Un haché contenant la chaîne arbitraire fournie par le serveur d’authentification,
l’identifiant de session ainsi que son mot de passe,
3. Le serveur d’authentification vérifie la réponse de l’utilisateur distant et renvoie à sont tour
les éléments suivants :
 La notification de succès ou d’échec de l’authentification
 Une réponse chiffrée sur la base de l chaîne aléatoire fournie par le client distant, la
réponse chiffrée fournie et le mot de passe de l’utilisateur distant.
4. Le client distant vérifie enfin à son tour le réponse et, en cas de réussite, établit la connexion

2.2.6.5.Shiva Password Authentication Protocol : SPAP [28]


SPAP est une version de PAP, est un protocole d'authentification par mot de passe crypté simple,
pris en charge par les serveurs d'accès distant Shiva. Avec SPAP, le client d'accès à distance
envoie un mot de passe crypté au serveur d'accès à distance. SPAP utilise un algorithme de
cryptage bidirectionnel. Le serveur d'accès à distance décrypte le mot de passe et utilise sa forme
en texte clair pour authentifier le client d'accès à distance.

2.3.Protocoles de niveau 2,5 : MPLS

2.3.1.Le protocole MPLS [24]


MPLS est une technique qui vise à combiner le routage IP de niveau 3 et les mécanismes
de commutation de niveau 2 telles que ATM ou Frame Relay. MPLS doit permettre d’améliorer le

22
rapport performance/prix des équipements de routage, d’améliorer l’efficacité du routage et
d’enrichir les services de routage. MPLS traite la commutation en mode connecté, basé sur les
labels. MPLS peut être considéré comme interface apportant à IP le mode connecté et qui utilise
les services de niveau 2 (PPP, ATM, Ethernet, ATM, Frame Relay, SDH …).

2.3.1.1.Concept de MPLS [24]


Concrètement, MPLS permet d’étiqueter les paquets de données provenant d’applications
différentes en fonction de leur urgence puis de les acheminer via des chemins de commutation
d’étiquette prédéfinie (LSP) sur le réseau IP privé de l’opérateur de Télécommunications. Elle
permet ainsi de donner la priorité aux données qui sont les plus urgentes pour qu’elles arrivent à
destination avant les données d’applications moins importantes. En effet, à partir du moment où
un datagramme est encapsulé, il est acheminé en utilisant les mécanismes de commutation de
niveau 2. On peut dire qu’un des services les plus importants sera la possibilité de créer des
réseaux privés virtuels de niveau 3. La modularité de MPLS et la granularité des labels permettent
tous les niveaux d’abstraction envisageables
Les objectifs de MPLS sont :
 intégration de IP/ATM ;
 la QoS ;
 Création de VPN ;
 Flexibilité : possibilité d’utiliser plusieurs types de média tel que ATM, FR, Ethernet ;
 Differential Services ;
 Routage multicast ;
 Traffic Egineering permettant de définir des chemins de routage explicites dans les réseaux
IP (avec RSVP ou CR-LDP).

Figure 2.10 : Place du protocole MPLS

2.3.1.2.Fonctionnement de MPLS [8]


L’acheminement MPLS, définit dans la RFC 3031, est indépendant des couches 2 et 3. Il
est basé sur la méthode de « label switching » pour transférer les paquets d’un équipement à un

23
autre et constitue ainsi une couche « 2,5 ». Il va permettre d’améliorer l’efficacité du routage tout
en gérant des contraintes de QoS.
Les éléments du réseau MPLS sont :
 LSR : Label Switching Router – Commutateur de paquets MPLS
 LER : Label Edge Router – Commutateurs situés en frontière des réseaux MPLS. On
distingue les « Ingress Node » qui insère des labels à l’entrée du réseau en fonction de la
QoS demandée et les « Egress Node » qui détruisent les labels en sortie du réseau MPLS.
 FEC : Forwarding Equivalence Class – Définit les caractéristiques de QoS attribués au
flux traversant le réseau MPLS. C’est la représentation d’un groupe de paquets qui ont en
commun les mêmes besoins quant à leur transport.
 LSP : Label Switching Path : Suite de labels définissant un chemin unique pour un flux
traversant le réseau MPLS.

Figure 2.11 : acheminement MPLS

Au niveau d’un LSR du nuage MPLS, la permutation d’étiquette est réalisée en analysant
une étiquette entrante, qui est ensuite permutée avec l’étiquette sortante et finalement envoyée au
noeud suivant. Les étiquettes ne sont imposées sur les paquets qu’une seule fois en périphérie du
réseau MPLS au niveau du Ingress Node où un calcul est effectué sur le datagramme afin de lui
affecter un label spécifique. Il est à noter que ce calcul n’est effectué qu’une fois. Une fois que le
datagramme d’un flux arrive à un Ingress node, le label affecté au paquet est supprimé, à l’autre
extrémité, par l’Egress Node.
Le mécanisme est donc le suivant : L’Ingress Node reçoit les paquets, réalise une classification de
ces paquets, y assigne un label et transmet les paquets labellisés au nuage MPLS. En se basant

24
uniquement sur les labels, les LSR du nuage MPLS commutent les paquets labellisés jusqu’à
l’Egress Node qui supprimera les labels et remet les paquets à sa destination finale.
L’affectation des étiquettes aux paquets dépend des groupes ou des classes de flux FEC et c’est le
protocole LDP qui s’occupe de la distribution de ces étiquettes au LSR. Les paquets appartenant à
une même classe FEC sont traités de la même manière. Le chemin établit par MPLS appelé LSP
est emprunté par tous les datagrammes de ce flux. L’étiquette est ajoutée entre la couche 2 et l’en-
tête de la couche 3 dans un environnement de paquet ou dans le champ VPI/VCI dans les réseaux
ATM.
Le switch LSR du nuage MPLS lit simplement les étiquettes, applique les services appropriés et
redirige les paquets en fonction des étiquettes. Ce schéma de consultation et de transfert MPLS
offre la possibilité de contrôler explicitement le routage en fonction des adresses sources et
destination, facilitant ainsi l’introduction de nouveaux services IP. Un flux MPLS est vu comme
un flux de niveau 2,5 appartenant au niveau 2 et niveau 3 du modèle OSI.

2.3.1.3.L’en-tête MPLS ou Shim Header [8]


Le format d’un en-tête MPLS se présente comme sur la figure 2.10.

Figure 2.12 : En-tête MPLS

Label : oriente le flux entre le LSR amont et le LSR aval


QoS : sélection d’une qualité de service.
BS : « Bottom of Stack » permet d’empiler les labels afin d’associer plusieurs contrats de service à
un flux au cours de sa traversée du réseau MPLS. Il vaut « 0 » lorsqu’il y a empilement et « 1 »
pour indiquer le dernier de la pile.
TTL : limite des boucles lors de l’acheminement.

Le champ TTL de cet en-tête n’est pas redondant avec celui de la couche IP. Il est recopié par
l’Egress Node avant la sortie vers un réseau IP et évite ainsi aux LSR internes d’avoir à accéder
aux informations de l’en-tête de la couche de niveau 3.

25
2.3.1.4.Label Distribution Protocol : LDP [8]
La distribution implicite de labels aux LSR est réalisée par le protocole LDP. Le protocole
LDP définit un ensemble de procédures et de messages qui permettent l’échange des labels entre
les équipements du réseau MPLS. Il offre les services suivants :
 annonce de la présence d’un LSR (en mode connecté, via UDP) ;
 établissement, maintenance et fermeture d’une session entre LSR en mode connecté via
des sessions TCP ;
 création, échange et suppression de labels dans une session TCP ;
 messages d’information ou d’erreur dans une session TCP.
LDP permet l’échange de labels entre LSR selon deux modes et les LSR peuvent supporter chacun
indépendamment chacun de ces deux modes :
 mode « unsolicted downstream » : chaque LSR informe les autres LSR sur les labels à
utiliser
 mode « « downstream on demand » : le LSR désirant envoyer un paquet doit d’abord faire
une demande de label aux autres LSR.
La distribution dans le réseau peut, elle-même, s’effectuer selon deux modes :
 mode indépendant : chaque LSR associe un label pour chaque FEC de manière
indépendante et en informe ses homologues. Dans ce mode, il est donc possible qu’un
label sortant soit envoyé d’un premier LSR vers un second avant que le label entrant n’ait
été reçu par le premier.
 mode ordred : l’information qui associe un label à un FEC est propagée d’une extrémité à
l’autre du réseau MPLS ( en cascade). Dans ce mode, chaque LSR devra donc attendre de
recevoir l’information sur un label entrant avant de pouvoir propager l’information sur le
label sortant.

2.3.1.5.Explicit Routing [8]


L’Explicit routing est la solution MPLS pour faire du traffic Engineering dont les objectifs
sont les suivants :
 utiliser efficacement les ressources du réseau ;
 éviter les points de forte congestion en répartissant le trafic sur l’ensemble du réseau. En
effet, le plus court chemin déterminé par le routage classique IP pour atteindre une
destination peut ne pas être le seul chemin possible et certains chemins alternatifs peuvent
être sous-utilisés alors que le plus court chemin est sur-utilisé.

26
Le LSP n’est plus déterminé à chaque bond comme pour l’implicit routing : c’est l’ingress node
qui choisit le chemin de bout en bout. Au niveau du LSR au cœur du réseau, seul le label MPLS
est analysé mais pas l’en-tête du datagramme IP.
L’explicit routing permet à un opérateur de faire du traffic Engineering en imposant au réseau des
contraintes sur les flux, du point source jusqu’au point destination. Ainsi, des routes autres que le
plus court chemin peuvent être utilisées. Le réseau détermine lui-même le chemin en suivant les
étapes suivantes :
 connaissance de l’état du réseau : topologie, bande passante d’un lien, bande passante
utilisée, bande passante restante.
 Calcul d’un chemin répondant aux contraintes spécifiées. Les extensions d’OSPF et IS-IS
sont nécessaires.
 Etablissement du ER-LSP ( Explicitly Routed Path). La source connaît le chemin complet
de l’Ingress Node à l’Egress Node et c’est elle qui spécifie les LSR à l’intérieur du LSP. Il
y a deux options de signalisations spécifiées pour l’établissement du LSP : RSVP ou CR-
LDP.
 Envoi du trafic sur le chemin trouvé.
 Supervision de l’état des LSP et le transmet à l’IGP.
 Ré-optimisation de LSP quand nécessaire

Figure 2.13 : CR-LDP = LDP + Traffic Engineering

2.3.1.6.Architecture pour la QoS [8]


Deux types d’architectures sont étudiés pour définir la QoS IP :
 Integrated Services : IntServ

27
 Differential Services : DiffServ

2.3.2.VPN et MPLS [24]


Les VPN IP MPLS sont disponibles uniquement sous la forme de réseaux managés
proposés par un fournisseur de service. L’un des applications les plus importantes du protocole
MPLS est de pouvoir créer des réseaux privés virtuels. Les VPN s’appuyant sur le protocole
MPLS, sont différents de l’image classique du VPN, à savoir un tunnel crypté établi à couche 3.
Par défauts, les tunnels VPN bâtis sur MPLS ne sont pas cryptés et s’apparente plutôt à des PVCs
comme avec ATM ou Frame Relay plutôt qu’à des PVCs établis avec IPsec ou Point to point
tunneling protocol. Ils s’appuient sur la séparation des paquets sur la valeur de leurs labels et
n’utilisent pas de méthode de cryptage ou d’encapsulation. La valeur de ce label n’est lue que par
les LSR qui appartiennent à des LSP précis.
MPLS VPN permet d’isoler le trafic entres sites n’appartenant pas au même VPN, et étant
totalement transparent pour ces sites entre eux. Il permet d’utiliser un adressage privé sans
utilisation de fonctionnalité NAT et d’avoir un recouvrement d’adresses entre différents VPNs.

2.3.2.1.Fonctionnement d’un VPN MPLS [24]


Les VPN MPLS fournissent typiquement plusieurs classes de services via DiffServ utilisé
principalement pour éviter la congestion du réseau dans le cas de services temps-réels. Ils peuvent
utiliser les mécanismes traditionnels d’accès au réseau tel Frame Relay en s’appuyant sur BGP ou
des routes statiques pour router les paquets à travers le réseau du provider. Ceci implique qu’ils
requièrent une plus grande coordination entre le client et le provider que l’approche VPN au
niveau de la couche 2.
Ces VPN sont établis à partir des CE du client et le LER du réseau MPLS. Les CE sont considérés
comme étant directement connectés aux LER. Pour établir entre deux sites connectés chacun à un
CE, un LSP est établi (dynamiquement ou statiquement) entre le LER d’entrée et le LER de
destination du réseau MPLS permettant de connecter les deux CE.

Figure 2.14 : Les routeurs MPLS dans un VPN

28
Une table VRF est construite et maintenue au niveau du LER d’entrée. Elle n’est
seulement consultable que par les paquets émis par un site faisant partie du VPN du site émetteur.
Cette table contient les routes reçues du CE directement connecté ainsi que les autres LER. La
distribution des routes est contrôlée via EBGP s’appuyant sur des attributs permettant d’identifier
l’ensemble des tables VRF auxquelles un LER distribue les routes ainsi que les sites autorisées à
lui fournir les routes.
Un identifiant RD ou Route Distinguisher est associée à chaque route distincte. Cela
permet d’affecter une adresse VPN IPv4 ou VPN-IPv6 unique à chaque IP VPN en associant le
RD et l’adresse IP cible VPN. Un LER en entrée va rajouter ce RD alors qu’un LER sortie va le
supprimer. Les routes VPN-IPv4/6 sont échangées entre les différents LER via BGP.
Les routes VPN-IPv4/6 sont utilisées pour le contrôle (échange d’information entre les CE
et les LER, échange entre les LER, établissement des LSP entre les LER) alors que le transfert du
trafic utilisateur s’appuie sur MPLS et des adresses IPv4/6.
La création d’un tunnel VPN en MPLS exige de gérer une pile de profondeur 2 au niveau
du paquet. En effet, un premier niveau de label sert à gérer le prochain saut en terme de LER
déterminé par un protocole style BGP (il correspond au numéro de VC ou VPN associé) et l’autre
niveau sert à gérer le prochain saut en terme de LSR dans le tunnel au sein du réseau MPLS
déterminé par IGP.
Au sein d’un VPN, un paquet arrivant sur le LER d’entrée MPLS, se voit attribuer suivant
le « forwarding table » un premier label représentant le VPN et le routeur LER de sortie de celui-
ci au sein du réseau VPN. Pour transiter via un LSP du LER d’entrée jusqu’au LER de sortie, un
deuxième niveau de label est empilé permettant la commutation par label classique de proche en
proche. Une fois le paquet arrivé au bout du tunnel, le deuxième label est dépilé et le premier label
ne donne accès qu’aux informations de routage associé au bon VPN.

Pour créer des VPN clients, il est donc nécessaire d’isoler les flux de chacun des clients. Pour cela,
le label MPLS est constitué de non plus d’un label mais de 2 labels :
 le premier label de l’extérieur identifie le chemin vers le LSR destination, et change à
chaque bond.
 Le second label de l’intérieur spécifie le VPN-ID attribué au VPN et n’est pas modifié
entre LSR source et le LSR destination.
C’est le LSR source qui applique ces 2 labels au paquet de data lorsqu’un VPN est utilisé :

29
Figure 2.15 : Encapsulation MPLS

2.3.2.2.Composants des VPN MPLS [24]


Les différents composants des VPNs MPLS sont :
 le CE routeur ou Customer Edge router est un routeur client connecté au backbone IP via
un service d’accès. Il route en IP le trafic entre le site et le backbone IP. Ce routeur n’a
aucune connaissance des VPN ou des labels donc tout routeur traditionnel peut être un CE.
 Le routeur PE ou Provider Edge Router : routeur backbone de périphérie auquel sont
connectés des CE. C’est au niveau des PE qu’est déclarée l’appartenance d’un CE à un
VPN donné. Le rôle du PE consiste à gérer les VPN en coopérant avec les autres PE et à
commuter les trames avec les P. La gestion dans le backbone est assurée par l’opérateur
par le biais de ces PE. Chaque PE associe de manière statique un VRF aussi appelé LIB
 L’équipement P ou Provider device : est un routeur commutateur de cœur de backbone
chargé de la commutation des trames MPLS. Il n’a aucune notion de VPN mais il se
contente d’acheminer les données grâce à la commutation de label.
 VRF ou Virtual Routing and forwarding Table est une table de routage associée à un VPN
qui donne les routes vers les réseaux IP faisant partie de ce VPN.

Figure 2.16 : Emplacement des routeurs dans une architecture MPLS

30
CHAPITRE 3 :PROTOCOLE DE NIVEAU 3 : IPSEC

3.1.Définition [26] [7]


IPSEC est un protocole de couche 3 du modèle OSI, tout comme IP. IPSec est conçu pour
donner une sécurité de haute qualité, basée sur la cryptographie, sans problème d'interopérabilité,
pour IPv4 et IPv6. L'ensemble des services de sécurité proposé inclut le contrôle d'accès,
l'intégrité en mode non connecté, l'authentification de l'origine des données, la protection contre le
rejeu, la confidentialité, et une certaine confidentialité sur le flux de trafic. Ces services sont
offerts par IP ou par d'autres protocoles de couches supérieures. Ces objectifs sont atteints par
l'utilisation de deux protocoles de sécurité de trafic, Authentication Header (AH) et Encapsulating
Security Payload (ESP), et par l'utilisation de procédures et de protocoles de gestion de clefs de
cryptographie.
IPsec offre des services de sécurité au niveau de la couche IP en permettant au système de choisir
le protocole de sécurité dont il a besoin, de déterminer l'algorithme à utiliser pour ce ou ces
services, et de mettre en place les clefs de cryptographie nécessaire pour assurer ces services.
IPsec peut être utilisé pour protéger un ou plusieurs accès entre deux hôtes, entre deux passerelles
de sécurité, ou entre une passerelle de sécurité et un hôte.
VPN IPSec a les propriétés suivantes :
 les données transitant sont chiffrées (confidentialité) et protégées (intégrité)
 les deux extrémités sont authentifiées
 les adresses sources et destination sont chiffrées, avec IPSec
 Ils peuvent présenter, suivant le protocole, des qualités anti-rejeux ou empêcher les
attaques type main-in-middle.

3.2.Les services d’IPSec [25] [26] [7]


Les services proposés par IPSec sont :
Authentification des extrémités : qui permet à chacun de s’assurer de l’identité de son
interlocuteur. Puisque c’est un protocole de niveau 3, il ne fournit qu’une authentification de
niveau égal, c'est-à-dire une authentification des machines mettant en œuvre le protocole plutôt
que des personnes utilisant réellement la machine.
Confidentialité des données échangées : IPSec permet si on le désire de chiffrer le contenu de
chaque paquet IP pour éviter que quiconque ne le lise.

31
Authenticité des données : IPSec permet de s’assurer qu’aucun paquet n’a subi de modification
quelconque (attaque dit active) durant son trajet.
Protection contre les écoutes et analyses de trafic : IPSec permet de chiffrer les adresses IP
réelles de la source et de la destination, ainsi que tout l’en-tête IP correspondant. C’est le mode de
tunneling, qui empêche tout attaquant à l’écoute d’inférer des informations sur les identités réelles
des extrémités du tunnel, sur les protocoles utilisés au dessus d’IPSec, sur l’application utilisant le
tunnel (timing-attacks et autres)
Protection contre le rejeu : IPSec permet de se prémunir contre les attaques consistant à capturer
un ou plusieurs paquets dans le but de les envoyer à nouveau sans pour les avoir déchiffrer pour
bénéficier des mêmes avantages que l’envoyeur initial.

3.3.Les modes d’IPSec [26] [7]


IPSec peut fonctionner en deux modes : en mode trasport et en mode tunnel

3.3.1.Le mode transport [7]


Ce mode ne modifie pas l’en-tête initial, il s’intercale entre le protocole réseau (IP)
Le protocole de transport (TCP, UDP).

Figure 3.01 : IPSec en mode Transport

3.3.2.Le mode Tunnel [7]


Ce mode remplace les en-tête IP originaux et encapsule la totalité du paquet IP. Par
exemple, l’adresse IPA externe pourra être celle de la passerelle de sécurité implémentant IPSec, et
l’adresse IPB interne sera celle de la machine finale, sur le réseau derrière la passerelle.

Figure3.02 : IPSec en mode Tunnel

32
3.4.Les protocoles d’IPSec [26] [7]
IPSec repose sur plusieurs protocoles différents dont certains existent à part entière hors
d’IPSec qui lui offre en retour une grande souplesse d’utilisation.

3.4.1.IKE – Internet Key Exchange [26] [7]


IKE, étant le protocole principal d’IPSec et spécifiquement développé pour lui, est un
protocole qui vise à fournir des mécanismes d’authentification et d’échange de clés adaptées à
l’ensemble des situations qui peuvent se présenter sur l’Internet. Il permet l’échange de clés entre
deux hôtes d’adresses IP connues préalablement ou inconnues selon le mode d’échange de clé
sélectionné.
Il a pour objectif :
 dans un premier temps d’établir un premier tunnel entre les 2 machines (le Tunnel IKE)
que l’on pourra qualifier de « tunnel administratif ». C’est la phase 1 du protocole IKE. Ce
protocole est dit « administratif » car il ne sert pas à la transmission de données utilisateur ;
il est utilisé pour gérer les tunnels secondaires, leur création, le rafraîchissement des clés,
etc …
 La phase 2 consiste à établir autant de tunnels secondaires que nécessaire pour la
transmission de données utilisateur entre les deux machines.

3.4.2.AH – Authentication Header [26] [7]


Ce protocole vise à établir l’identité des extrémités de façon certaine. Il ne garantit aucune
confidentialité des données. 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. Ce bloc de données est appelé ICV pour Valeur de Vérification d’Intégrité.
La protection contre le rejet se fait grâce à un numéro de séquence.
Il a pour vocation de garantir :
L’authentification : Les datagrammes IP reçus ont été effectivement émis par l’hôte dont
l’adresse IP est indiquée comme adresse source dans les en-têtes.
L’unicité : un datagramme ayant été émis légitimement et enregistré par un attaquant ne peut être
utilisé par ce dernier, les attaques par rejeu sont ainsi évitées.
L’intégrité : les champs suivants du datagrammes IP n’ont pas été modifiés depuis leur émission :

33
 les données (en mode tunnel, ceci comprend la totalité des champs, y compris les en-têtes,
du datagramme IP encapsulé dans le datagramme protégé par AH)
 version (4 en IPv4 et 6 en IPv6)
 longueur totale du datagramme (en IPv4)
 longueur des données (en IPv6)
 identification
 protocole ou en-tête suivant
 adresse IP de l’émetteur
 adresse IP du destinataire
AH n’assure pas la confidentialité : les données sont signées mais pas chiffrées. AH ne spécifie
pas d’algorithme de signature particulier

3.4.3.ESP – Encapsulating Security Payload [26] [7]


ESP est le second protocole de protection de données qui fait partie de la spécification
d’IPSec. Contrairement à AH, ESP ne protège pas les en-têtes des datagrammes IP utilisés pour
transmettre la communication, seules les données sont protégées.
Ce protocole a pour but de chiffrer les données avec ou sans les en-têtes des paquets si l’on
souhaite le mode tunneling. Il garantit l’authenticité des données et à ce niveau peut introduire de
la redondance par rapport à AH.
En mode tunnel, il assure :
La confidentialité des données : la partie données des datagrammes IP transmis est chiffrée
Confidentialité limitée des flux de données : un attaquant capable d’observer les données
transitant par un lien n’est pas à même de déterminer quel volume de données est transféré entre
deux hôtes particuliers.
L’authentification : la partie données des datagrammes IP reçus ne peut avoir été émise que par
l’hôte avec lequel a lieu l’échange IPSec, qui ne peut s’authentifier avec succès que s’il connaît la
clé associée à la communication ESP. Il est également important de savoir que l’absence
d’authentification nuit à la confidentialité, e la rendant plus vulnérable à certaines attaques actives.
L’intégrité : les données n’ont pas été modifiées depuis leur transmission.
ESP, tout comme AH, ne spécifie pas d’algorithme de signature ou de chiffrement particulier.

34
3.4.4.SA – Association de sécurité [26] [7]
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
sécurité de données servant à stocker l’ensemble des paramètres associés à une communication
donnée. Les services de sécurité sont apportés par la SA par l’intermédiaire de AH ou ESP, mais
pas des deux. Une SA est unidirectionnelle donc il faut deux associations pour protéger les deux
sens d’une communication. Chaque association est identifiée de manière unique à l’aide d’un
triplet dont les composants sont :
 l’adresse de destination des paquets ;
 l’identifiant du protocole de sécurité utilisé (AH ou ESP) ;
 un index de paramètre de sécurité SPI.

Remarque : Un SPI, qui est choisi par le récepteur, est un bloc de 32 bits inscrit en clair dans l’en-
tête de chaque paquet échangé.

Les SA actives sont regroupées dans une SAD ou Security Association Database. La SPD
est consultée pendant le traitement de tout datagramme IP, entrant ou sortant, y compris les
datagrammes non-IPSec. Pour chaque datagramme, trois comportements sont envisageables : le
rejeter, l’accepter sans traitement IPSec, ou appliquer IPSec. Dans le troisième cas la SPD précise
en outre quels traitements IPSec appliquer (ESP, AH, mode tunnel ou transport, quels algorithmes
de signature et/ou chiffrement utiliser)
Les plus importants de ces termes sont récapitulés ci-dessous :
 SPD (Security Policy Database) Base de données définissant la politique de sécurité
 SA une entrée de la SPD
 SAD la liste des SA en cours d’utilisation

3.4.5.Isakamp [26] [7]


Isakamp a pour rôle la négociation, l’établissement, la modification et la suppression des
associations de sécurité et de leurs attributs. Il pose des bases permettant de construire divers
protocoles de gestion des clés et plus généralement des associations de sécurité. Il comporte trois
aspects principaux :

35
 Il définit une façon de procéder. Dans un premier temps, un certain nombre de paramètres
de sécurité propres à Isakamp sont mis en place afin d’établir entre les deux tiers un canal
protégé. Dans un second temps, le canal est utilisé pour négocier les SA pour les
mécanismes de sécurité que l’on souhaite utlisé (AH et ESP par exemple).
 Il définit des formats de messages, par l’intermédiaire de blocs ayant chacun un rôle précis
et permettant de former des messages clairs.
 Il présente un certain nombre d’échanges types qui permettent des négociations présentant
des propriétés différentes : protection ou non de l’identité.

3.4.6.SAD – Base de données des associations de sécurité. [26] [7]


Pour gérer les associations de sécurités actives, on utilise une base de données des
associations de sécurité SAD. Elle contient tous les paramètres relatifs à chaque SA et sera
consultée pour savoir comment traiter chaque paquet reçu ou à émettre.

3.4.7.SPD – Base de données de politique de sécurité [26] [7]


Les protections offertes par IPSec sont basées sur des choix définis dans une SPD qui est
maintenue et établie par un utilisateur, un administrateur système ou une application mise en place
par ceux-ci. Cette base de données permet de décider pour chaque paquet s’il se verra apporter des
services de sécurité ou s’il sera autorisé à passer ou rejeté.

3.4.8.Interaction des éléments d’IPSec [26] [7]


Trafic sortant : Lorsque la couche IPSec reçoit des données à envoyer, elle commence par
consulter la 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 dans la SAD. Si la SA nécessaire éxiste 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 les services IPSec appliqués au paquet et les références de la SA
correspondante. La couche IPSec 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 si la SA appliquée au paquet correspondait bien à celles requises par les
politiques de sécurité.

36
Dans le cas où le paquet reçu est un paquet IP, la SPD permet de savoir si ce paquet a le droit de
passer ou non.

Figure 3.03 : Interaction entre les éléments d’IPSec

3.5.VPN et IPSEC
Quand on choisit IPSec pour sécuriser les connexions à distance telle que les VPN, on peut
l’utiliser avec d’autres protocoles de tunnelisation. On peut avoir par exemple un VPN L2TP
IPSEC. Dans ce cas, le tunneling des données L2TP passe par plusieurs niveaux d’encapsulation.

Figure 3.04 : Données en tunnel L2TP sur IPSec

La charge utile PPP initiale est encapsulé avec un en-tête PPP et un en-tête L2TP. La paquet L2TP
encapsulé est ensuite encapsulé avec un en-tête UDP. En fonction de la stratégie IPSec, le
message UDP est crypté et encapsulé avec un en-tête et un code de fin IPSec ESP et un code de
fin IPSec Authentication. La paquet IPSec est encapsulé avec un en-tête IP final contenant les

37
adresses IP source et cible du client VPN et du serveur VPN. Enfin, pour être envoyé sur une
liaison WAN, la datagramme IP est encapdulé avec un en-tête et un code de fin PPP.

3.5.1.Sécurité VPN L2TP IPSec [10]


L’authentification du client VPN se produit à deux niveaux différents : l’ordinateur est
authentifié puis l’utilisateur.

3.5.1.1.Authentification de l’ordinateur [10]


L'authentification mutuelle d'ordinateurs du client VPN et du serveur VPN s'exécute
lorsque s’établit une association de sécurité IPSec ESP par le biais de l'échange de certificats
d'ordinateurs. La négociation IPSec Phase I et Phase II se produit et une association de sécurité
s'établit avec un accord défini sur un algorithme de cryptage, un algorithme de hachage et des clés
de cryptage.

3.5.1.2.Authentification de l’utilisateur [10]


L'utilisateur qui tente une connexion L2TP est authentifié grâce aux protocoles
d'authentification d'utilisateurs PPP tels que EAP, MS-CHAP, CHAP, SPAP et PAP. Le processus
d'établissement de la connexion PPP étant crypté par IPSec, n'importe quelle méthode
d'authentification PPP peut être utilisée. L'authentification de niveau utilisateur mutuelle se
produit si vous utilisez MS-CHAP v2 ou EAP-TLS.

3.5.2.Cryptage avec L2TP sur IPSec [13]


Le cryptage est déterminé par l’établissement de l’association de sécurité IPSec. Les
algorithmes de cryptage disponible incluent :
 DES avec une clé de 56 bits ;
 Triple DES (3DES) qui utilise trois clés de 56 bits et est destiné aux environnements haute
sécurité.
IPSec ayant été conçu pour les interréseaux IP où les paquets risquaient d'être perdus et d'arriver
de façon désordonnée, chaque paquet IPSec est décrypté indépendamment des autres paquets
IPSec. Les clés de cryptage initiales sont dérivées du processus d'authentification IPSec. Pour les
connexions cryptées DES, de nouvelles clés de cryptage sont générées toutes les 5 minutes ou
suite au transfert de 250 Mo de données. Pour les connexions cryptées 3DES, de nouvelles clés de
cryptage sont générées toutes les heures ou suite au transfert de 2 Go de données. Pour les

38
connexions protégées AH, de nouvelles clés de hachage sont générées toutes les heures ou suite au
transfert de 2 Go de données.

3.5.3.Authentification et intégrité de données avec L2TP sur IPSec [13]


L’authentification et l’intégrité des données sont assurées par une des méthodes suivantes :
 Code d'authentification du message de hachage (HMAC) Message Digest 5 (MD5) : un
algorithme de hachage produisant un hachage de 128 bits de la charge utile authentifiée.
 Algorithme de hachage sécurisé HMAC (SHA) : un algorithme de hachage de 160 bits de
la charge utile authentifiée.

3.5.4.Filtrage de paquets L2TP sur IPSec [13]


Comme pour les connexions VPN basées sur PPTP, avec l'activation de l'envoi entre les
interfaces sur le réseau public ou partagé et l'intranet, le serveur VPN route tout le trafic IP du
réseau partagé ou public vers l'intranet. Pour protéger l'intranet contre tout trafic non envoyé par
un client VPN, vous devez configurer le filtrage de paquets L2TP sur IPSec de telle sorte que le
serveur VPN exécute uniquement le routage entre des clients VPN et l'intranet, et non entre des
utilisateurs potentiellement malveillants sur le réseau partagé ou public et l'intranet.

39
CHAPITRE 4 : PROTOCOLE DE NIVEAU 5 : SSL

4.1.Définition [3] [28]


Secure Socket Layer ou SSL a été créé et développé par la société Netscape et RSA
Security. C’est un protocole client/serveur qui repose sur un protocole de transport et qui offre aux
applications de niveau supérieur une interface de communication. SSL est un complément à
TCP/IP et permet de sécuriser n’importe quel protocole ou programme utilisant TCP/IP. Dans la
pile de protocole TCP/IP, SSL se situe entre les couches applications (http,ftp,smtp …) et la
couche transport TCP. C’est un système qui permet d’échanger des informations entre deux
ordinateurs de façon sûre.

4.2.Les services de SSL [3]


SSL assure 3 choses :
Confidentialité : il est impossible d’espionner les informations échangées. . Toutes les données
issues de l'entité émettrice sont chiffrées et déchiffrées par l'entité réceptrice,
Intégrité : il est impossible de truquer les informations échangées.
Authentification : Il permet de s’assurer de l’identité du programme, de la personne ou de
l’entreprise avec laquelle on communique. L’authentification du serveur et du client permet à un
utilisateur d'avoir une confirmation de l'identité d'un serveur. En effet un programme client SSL
utilise des méthodes de chiffrement à clé publique pour vérifier si le certificat et l'identité publique
fournis par le serveur sont valides et ont été fournis par un fournisseur de certificat présent dans la
liste de ceux connus du client

4.3.But de SSL [3] [28]


SSL a été conçu dans le but d’offrir un service de :
 sécurité cryptographique ;
 intéropérabilité ;
 Extensibilité ;
 Efficacité.
SSL se base sur les techniques suivantes :
 fonction de hachage
 algorithme de chiffrement
 certificats

40
Il définit un protocole de gestion et de négociation

4.4.Fonctionnement de SSL [3] [28]


Le protocole SSL comporte une phase de négociation où client et serveur peuvent :
 définir le niveau de sécurité voulu ;
 s’authentifier.
Ensuite ils peuvent communiquer.

4.4.1.Phase de négociation [28]


Rappelons que les trois fonctionnalités principales de SSL sont l'authentification du
serveur, l'authentification du client et le chiffrement des données. Le protocole se compose de
deux couches : le SSL Record Protocol concerne l'encodage (envoi des données) et le SSL
Handshake protocol la négociation (phase qui précède la validation des données par l'un ou par
l'autre), qui nous intéresse donc à présent.

4.4.1.1.SSL Handshake protocol [28]


Avant de communiquer, les 2 programmes SSL négocient des clés et des protocoles de
chiffrement communs. Le client et le serveur s’échangent :
 la version SSL ou TLS avec laquelle ils veulent travailler ;
 la liste des méthodes de chiffrement (symétrique et asymétrique) et de signature que
chacun connaît ;
 les méthodes de compression que chacun connaît ;
 les certificats.
Le client et le serveur essaient d’utiliser le protocole de chiffrement le plus puissant et diminuent
jusqu’à trouver un protocole commun aux deux. Une fois que cela soit fait, ils peuvent s’échanger
des données.

4.4.1.2.SSL Record protocol [28]


Une fois les clés et protocoles négociés, les deux programmes SSL chiffrent toutes les
informations échangées et effectuent divers contrôles. L’expéditeur des données découpe les
données en paquets et les compresse, les signent cryptographiquement, les chiffrent et les
envoient. Le récepteur, lui, déchiffre les données, vérifie la signature, décompresse les données et
réassemble les paquets.

41
Parmi les algorithmes de codage, le SSL possède la particularité de combiner l'utilisation
de clefs symétriques et clefs asymétriques. Les clefs asymétriques sont mieux adaptées à
l'authentification. Le protocole de négociation SSL est en mesure, à partir des clefs publique et
privée du client et du serveur, d'établir une communication entre les deux parties avec une clef
"secrète" publique, dont la taille (128 bits) est bien inférieure à celle des clefs publiques
traditionnelles (1024 bits).

4.5.VPN et SSL [3]

4.5.1.Processus d’établissement de connexion SSL [3] [28]


Les messages échangés entre les deux parties sont notés en SOULIGNE quand le message est en
clair, en ITALIQUE quand le mesage est chiffré.
1. Le client se connecte au serveur. Il lui envoie le message CLIENT-HELLO, qui contient
entre autres sa version du protocole SSL et ses paramètres de chiffrement.
2. Le serveur répond au client en envoyant le message SERVER-HELLO. Il contient
également sa version SSL et ses paramètres de chiffrement, entre autres informations. Il
envoie également son propre certificat et en demande un au client si nécessaire (message
REQUEST-CERTIFICATE).
3. Le client authentifie le serveur grâce aux informations qu'il vient de recevoir. Cette
authentification est la condition sine qua non de la connexion.
4. Le client envoie le message CLIENT-MASTER-KEY. Celui-ci contient une pré-clef secrète,
chiffrée avec la clé publique du serveur. S'il lui a été demandé de fournir un certificat, le
client en envoie un dans un message CLIENT-CERTIFICATE.
5. Le serveur et le client mettent au point chacun de leur côté une clef secrète à partir de la
pré-clef secrète. De plus, si le serveur a demandé un certificat au client, il vérifie son
identité et l'authentifie.
6. Le client et le serveur utilisent ensuite cette clef secrète pour générer des clefs de session.
Ces clefs symétriques (server read key et server write key) seront dorénavent utilisées pour
chiffrer, déchiffrer et authentifier les données.
7. Le client envoie le message CLIENT-FINISHED au serveur. De cette manière il le prévient
que les prochains messages seront chiffrés avec les nouvelles clefs. Il indique également
qu'il est satisfait du serveur et que la phase de négociation est terminée.

42
8. Le serveur, lui aussi satisfait du handshake du client, répond par un message SERVER-
FINISHED. Il est prêt à passer au niveau supérieur de chiffrement proposé par le client. Il
indique lui aussi que la phase de négociation est terminée.

4.5.2.Les messages d’erreur [3] [28]


Il existe quatre messages d'erreurs différents :
1. NO-CIPHER-ERROR est envoyé au serveur lorsque le client ne peut pas trouver une clé
de chiffrement valable pour lui et le serveur. Cette erreur est irrécupérable.
2. NO-CERTIFICATE-ERROR est envoyé par le client s'il ne possède pas de certificat. Cette
erreur est récupérable.
3. BAD-CERTIFICATE-ERROR est envoyé par le destinataire d'un certificat jugé inadequat.
Cette erreur est récupérable.
4. UNSUPPORTED-CERTIFICATE-TYPE-ERROR est renvoyé par le destinataire d'un
certificat qu'il ne peut accepter. Cette erreur est récupérable.

4.5.3.Méthode de chiffrement de SSL [3] [28]


Le chiffrement est réalisé par :
- un chiffrement asymétrique (RSA) qui va permettre une authentification ;
- un chiffrement symétrique (DES) qui va assurer la transmission des données.
On y adjoint une fonction de hachage comme le MD5 pour s’assurer que les données ont été
transmises sans être corrompues.

43
CHAPITRE 5 :MISE EN ŒUVRE DE VPN

5.1.Mise en œuvre de VPN sous Windows


Pour pouvoir mettre en œuvre un VPN sous Windows, il faut mettre en place en premier lieu un
réseau local Windows. Pour cela, il nous faut un serveur Windows pour pouvoir servir et
interconnecter des clients Windows. On va donc installer et configurer un Serveur Windows.

5.1.1.Installation de Windows Server 2003


L’installation Windows Server 2003 requiert les configurations matérielles suivantes :
 Un processeur avec une vitesse minimale conseillée de 550 MHz (la vitesse minimale prise
en charge est 133 Mhz). Quatre processeurs au maximum sont pris en charge par
ordinateur. Les processeurs de la famille Intel Pentium/Celeron, AMD K6/Athlon/Duron
ou des processeurs compatibles sont recommandés
 256 Mo de mémoire vive minimum recommandée (128 Mo étant le minimum pris en
charge et 4 Go au maximum)
 Partition ou volume de disque dur disposant suffisamment d’espace libre pour le processus
d’installation ce qui présente 1,25 Go à 2 Go au minimum.
 NTFS est le système de fichier recommandé
 Moniteur VGA ou d’une résolution supérieure (Super VGA 800*600 ou supérieur
recommandé)
 Clavier et une souris ou un autre dispositif de pointage

Le poste de travail avec lequel nous allons installer ce serveur a les caractéristiques suivantes :
Processeur Intel Pentium IV
Mémoire morte 30 Go
Mémoire vive 256 Go
Système d’exploitation Windows XP Professionnel Service Pack2
Avant de faire l’installation, on va partitionner le disque dans
Démarrer
Panneau de configuration
Outils d’administration
Gestion de l’ordinateur
Stockage

44
Gestion du disque
La partition actuelle du disque est :
C : Partition1 [NTFS] 9897 Mo<15681 Mo libres>
D : Partition2 [Inconnu] 17133 Mo <6697 Mo libres>
On va partitionner le disque en quatre : deux partitions nécessaires pour Windows Server 2003 et
deux partitions pour d’autres utilisations.
On aura donc :
C : Partition1 [NTFS] 9897 Mo<3054 Mo libres>
D : Partition2 [NTFS] 2097 Mo<2097 Mo libres>
E : Partition3 [NTFS] 14682 Mo<14682 Mo libres>
F : Partition4 [Inconnu] 3825 Mo<3835 Mo libres>
Espace libre

Lors de l’installation de Windows Server 2003, on choisit les options suivantes :


1) Langue principale : Français
2) Partitionnement
 Pour supprimer une partition, on appuie sur « S » ;
 Pour installer Windows sur une partition, on sélectionne la partition et on appuie sur
« Entrée ».
Il faut donc procéder comme suit :
- Sélectionner Partition1 et appuyer sur « Entrée »
3) Formater la partition avec un formatage NTFS rapide.
4) La machine demande un redémarrage. Ne pas appuyer sur une touche lors d’une demande,
c'est-à-dire ne plus démarrer avec le CD-ROM.
5) Options régionales et linguistiques : France.
6) Nom complet : RANOHARISOA Haingo Nirina.
Organisation : ESPA
7) Nom de l’ordinateur : WINSERVER
Mot de passe administrateur : ********
8) Choisir Paramètres réseau par défaut.

45
9) Faire cet ordinateur membre d’un groupe : WORKGROUP (on choisit de faire de
l’ordinateur membre d’un groupe car on le configurera en tant que contrôleur de domaine
après l’installation).

5.1.2.Mise en place d’un serveur DNS

5.1.2.1.Qu’est ce que DNS ou Domain Name System


DNS signifie plusieurs choses :
Domain Name System : l’ensemble des organismes qui gèrent les noms de domaine.
Domain Name Service : le protocole qui permet d’échanger des informations à propos des
domaines.
Domain Name Server : un ordinateur sur lequel fonctionne un logiciel serveur qui comprend le
protocole DNS et qui peut répondre à des questions concernant un domaine.

Le DNS permet la conversion des noms en adresses IP. C’est comme un annuaire qui associe à un
nom explicite une adresse IP. C’est un système permettant d’établir une correspondance entre une
adresse IP et un nom de domaine, et de trouver une information à partir d’un nom de domaine.

5.1.2.2.Utilitaires d’administration de DNS


Nslookup : c’est un programme informatique de recherche d’information dans un DNS (RFC
1033/ 34 35) associant nom de domaine et adresse IP.
Dig : c’est un programme informatique de débogage de serveur DNS. Utilisable en ligne de
commande, il permet d’interroger le serveur de son choix. Utilisé avec un système UNIX.

5.1.2.3.Configuration d’un serveur DNS


Pour configurer DNS dans Windows Server 2003, on procède comme suit :
1. Démarrer
Panneau de Configuration
Ajouter ou supprimer des programmes
Cliquer sur Ajouter ou supprimer des composants Windows
 Cocher Service de mise en réseau ;
 Cliquer sur Détails ;
 Les options suivantes sont proposées :
Protocole DHCP
Proxy RPC sur http

46
Service d’authentification Internet
Service de quarantaine pour les clients distants
Service WINS
Service TCP simplifié
Système DNS
Cocher sur Système DNS.
 Cliquer sur Installer.

2. Dans gérer votre serveur, cliquer sur Ajouter ou supprimer un rôle.


La configuration de DNS consiste à créer des zones. Une zone est une petite portion contiguë
de l’espace nom de domaine. Elle se sert d’un serveur DNS afin de résoudre ses requêtes DNS.
Elle sert à stocker les noms d’un ou plusieurs domaines ou encore une portion d’un domaine. Une
zone est déterminée par : un ensemble de mappages de noms d’hôtes à adresse IP et des données
qui seront stockées dans un fichier ou une base de données d’Active Directory. Il y a 3 sortes de
zones :
Zone principale : qui peut ajouter, modifier et supprimer des ressources.
Zone secondaire : qui est une copie en lecture seule d’une zone principale donnée. Elle a pour
seul intérêt de garantir une tolérance aux pannes.
Zone de stub : copie partielle d’un autre zone. Elle contient seulement les enregistrements de type
SOA, NS et A

3. Sélectionner Configuration de DNS. L’assistant Installation et configuration DNS


s’affiche. Nous allons, créer en premier lieu une zone principale et indiquer le nom de la
zone.

47
Figure 5.01 : Création d’une zone principale

Un fichier de zone va être créé. C’est dans ce fichier que vont être stockées toutes les informations
à propos de cette zone. Le nom du fichier est polytech.com.dns

Figure 5.02 : Création d’un fichier de zone

Des options sur la manière dont se feront les mises à jour sont proposées. On choisira d’autoriser à
la fois les mises à jours dynamiques sécurisées et non sécurisées pour qu’on ait pas de problème
de non reconnaissance de poste de travail ou d’utilisateur.

48
Figure 5.03 : Choix sur les mises à jour DNS

5.1.3.Configuration du serveur en tant que contrôleur de domaine

5.1.3.1.Qu’est ce qu’un domaine


Un domaine est un ensemble d’objets ordinateur, utilisateur et groupe défini par
l’administrateur. Ces objets partagent une base de données d’annuaire et des stratégies de sécurité.

5.1.3.2.Qu’est ce qu’un contrôleur de domaine


Un contrôleur de domaine est la machine serveur chargée du contrôle de l’authentification
des requêtes de connexion sur un réseau, par nom de connexion (login) et mot de passe. Machines
et utilisateurs doivent s’adresser au contrôleur de domaine s’ils veulent accéder au réseau.

5.1.3.3.Qu’est ce que Active Directory


Active Directory est un service d’annuaire pour Windows. Il renferme les objets relatifs
aux objets d’un réseau et met celle-ci à la disposition des utilisateurs et des administrateurs. Active
Directory permet aux utilisateurs réseaux d’accéder aux ressources autorisées partout dans le
réseau à l’aide d’une simple procédure d’ouverture de session.

49
5.1.3.4.Configuration
On choisit de créer un nouveau domaine et faire de l’ordinateur un contrôleur de domaine pour ce
nouveau domaine.

Figure 5.04 : Création d’un nouveau contrôleur de domaine.

On donne un nom polytech.com au nouveau domaine ainsi qu’un Nom de domaine NetBIOS
POLYTECH

Figure 5.05 : Attribution du nom de domaine

Comme pour le DNS, il faut indiquer les dossiers où seront stockées la base de données et le
journal ainsi que le dossier qui doit être partagé en tant que volume du système.

50
Figure 5.06 : Indication des dossiers nécessaires

Cette installation se termine par la définition du mot de passe utilisé lorsque l’ordinateur sera
redémarré en mode Restauration des services d’annuaires.

Figure 5.07 : Définition du mot de passe

51
5.1.4.Installation d’un serveur DHCP

5.1.4.1.Qu’est ce que Dynamic Host Configuration Protocol DHCP


DHCP est un standard IP connu pour simplifier la gestion de la configuration d’IP d’hôte.
Le standard DHCP permet d’utiliser des serveurs DHCP comme méthode de gestion d’affectation
dynamique d’adresse IP et d’autres détails de configuration correspondants pour les clients DHCP
d’un réseau.

5.1.4.2.Mode de fonctionnement
Le protocole DHCP utilise un modèle client serveur. L’administrateur réseau désigne un
ou plusieurs serveurs DHCP comme responsable de la gestion des informations relatives à la
configuration de TCP/IP et de leur transmission aux clients. Avec un serveur DHCP installé et
configuré sur un réseau, les clients DHCP peuvent obtenir de manière dynamique leur adresse IP
et les paramètres de configuration associés à chaque fois qu’ils ouvrent et se connectent au réseau.
Les serveurs DHCP fournissent cette configuration sous forme d’offre de bail d’adresse aux
clients qui la demandent.

5.1.4.3.Installation
Pour configurer DHCP dans Windows Server 2003, on procède comme suit :
 Cliquer sur Démarrer
 Ouvrir Panneau de Configuration
 Ouvrir Ajouter ou supprimer des programmes
 Cliquer sur Ajouter ou supprimer des composants Windows
 Cocher Service de mise en réseau
 Cliquer sur Détails
 Les options suivantes sont proposées :
Protocole DHCP
Proxy RPC sur http
Service d’authentification Internet
Service Wins
Service TCP simplifié
Système DNS
Cocher sur DHCP

52
Il faut paramétrer le serveur DHCP pour qu’il fonctionne selon les besoins. Pour cela, on doit
créer une étendue.

5.1.4.4.Qu’est ce qu’une étendue


Une étendue est une plage d’adresses IP qui peuvent être allouées aux clients DHCP sur le
réseau. Elle désigne généralement un sous-réseau physique unique du réseau auquel sont offerts
les services DHCP.
Une étendue est dite globale quand c’est le regroupement administratif des étendues pouvant être
utilisé pour prendre en charge plusieurs réseaux logiques IP sur le même réseau physique. Les
étendues globales contiennent uniquement une liste d’étendues membres ou d’étendues enfants
qui peuvent être activées ensemble.
On donne un nom à l’étendue qui est ici Etendue1.

Figure 5.08 : Définition du nom de l’étendue

Il faut ensuite définir la plage d’adresse que le serveur DHCP va distribuée et les plages d’adresses
qui seront exclues. Pour certaines raisons telles que risque de conflit d’adresses IP entre client et
serveurs ou possibilités d’ajout d’équipement, ou autres situations imprévues, il est préférable
d’exclure une adresse ou une plage d’adresse.
La plage de l’Etendue1 va de 192.168.0.5 à 192.168.0.15 et on va exclure 192.168.0.1 à
192.168.0.4.

53
Figure5.09 : Définition des plages d’adresse

Une durée de bail va ensuite être spécifiée. Un bail est un intervalle de temps, spécifié par un
serveur DHCP, pendant laquelle un ordinateur client peut utiliser une adresse IP affectée. La durée
d’un bail détermine sa date d’expiration et la fréquence avec laquelle le client doit le renouveler
auprès du serveur.

Figure 5.10 : Définition de la durée du bail

Les ordinateurs fonctionnant avec Windows Server 2003 utilisent les serveurs WINS pour
convertir le nom NETBIOS d’ordinateurs en adresse IP. Il faut donc indiquer qui est ce serveur
WINS. Le nôtre est ici WINSERVER

54
Figure 5.11 : Indication du Serveur WINS

5.1.5.Configuration du routage et accès distant


Le chemin pour accéder à Service Routage et accès distant est :
Démarrer
Outils d’administration
Service Routage et accès distant
 Faire un clic droit sur le serveur
 Cliquer sur Configurer et activer le routage et l’accès distant
On va choisir une configuration personnalisée pour pouvoir bien adaptée l’installation à notre
besoin.

Figure 5.11 : Choix du type de configuration

55
On choisit Accès VPN pour pouvoir faire une connexion VPN.

Figure 5.13 : Choix des services à configurer

5.1.6.Configuration des comptes clients dans Active Directory


Après l’installation de Active Directory, on devrait enregistrer les utilisateurs du réseau
dans Active Directory. On peut faire des modifications sur les propriétés et le droit de chaque
utilisateur. Ainsi, pour qu’un utilisateur puisse exécuter un VPN il faut configurer son compte.
Dans Active Directory
 Faire un clic droit sur l’utilisateur en question
 Sur l’onglet Appel entrant et cocher Autoriser appel entrant

5.1.7.Configuration des postes de travail client VPN


Pour configurer le client VPN, il faut créer une nouvelle connexion propre au VPN. Pour ce :
 Faire un clic droit sur Favoris réseau
 Propriété
 crée une nouvelle connexion.
Une fenêtre s’affiche et on choisit de créer une connexion au réseau d’entreprise au lieu de réseau
domestique ou un réseau de petite entreprise car cette dernière se réfère à un réseau local tandis
que la connexion au réseau d’entreprise offre la possibilité de faire partie d’un réseau à partir d’un
emplacement hors de la localité du réseau.

56
Figure 5.14 : Choix sur le type de connexion réseau

Figure 5.15 : Choix sur la manière de se connecter au réseau

On demande ici de donner un nom à la connexion. Il n’y a pas de règle de choix ni syntaxe de ce
nom mais il est plus explicite si on lui donne le nom du domaine auquel on veut se connecter.

57
Figure 5.16 : Définition du nom de la connexion

Si on choisit de sélectionner « Ne pas établir la connexion initiale », lors d’une connexion VPN,
Windows ne va pas se connecter au réseau public avant d’établir une connexion virtuelle, il va
directement établir cette connexion virtuelle. La tentative de connexion sera alors un échec si le
poste de travail client n’est pas connecté au réseau public.

Figure 5.17 : Choix sur la méthode de connexion

Lors de la sélection du serveur VPN, on a le choix entre mettre le nom FQDN du domaine auquel
on veut se connecter ou son adresse IP publique.

58
Figure 5.18 : Indication du nom du serveur VPN

La fenêtre de fin de l’assistant de création de nouvelle connexion s’affiche. Le client peut


maintenant effectuer une connexion VPN.

5.1.8.Test de connexion
Cliquer Démarrer
Connexions
Connexion Polytech.com
La fenêtre Connexion sur Wanadoo s’affiche d’abord puis connecter au réseau public, la fenêtre
de demande d’identification dans le domaine s’affiche.
On saisie le nom d’utilisateur et le mot de passe puis on clique sur connexion.

5.1.9.Application de VPN : Bureau à distance

La fonctionnalité Bureau à distance sous Windows permet d'accéder à une session Windows qui
est en cours sur un ordinateur à partir d'un autre ordinateur. On peut par exemple, l'utiliser pour se
connecter à son ordinateur de travail depuis son domicile et accéder à toutes les applications, à
tous les fichiers et à toutes les ressources réseau, comme si l’utilisateur distant se trouve à son
bureau. Bureau à distance permet également à plusieurs utilisateurs de disposer de plusieurs
sessions actives sur un même ordinateur. Cela signifie que plusieurs utilisateurs peuvent laisser

59
leurs applications ouvertes et conserver leurs sessions Windows, même si d'autres utilisateurs sont
connectés à ces sessions.

5.1.9.1.Configuration du serveur
Démarrer
Panneau de configuration
Système
Utilisation à distance

Il faut ensuite cocher Autoriser les utilisateurs à se connecter à distance à cet ordinateur.

Figure 5.19 : Configuration Bureau à distance du Serveur

60
5.1.9.2.Configuration du client à distance

Figure 5.20 : Paramétrage Bureau à distance client

5.1.10.Les problèmes rencontrés lors de la création de ce domaine


Au début, nous avons configuré le système comme fonctionnant dans un domaine donc le
Contrôle de domaine a été installé par défaut. Ceci a posé un problème car il était très difficile de
le reparamétrer après pour l’adapter à nos besoins. Par exemple, lors de cette installation même du
système, le nom du domaine n’a pas été demandé donc nous avions du mal à identifier le nom du
domaine. Il fallait donc le laisser comme travaillant dans un groupe de travail pour pouvoir le
configurer à part après l’installation.

Nous n’avons pas pu configurer les différents rôles du serveur tels que service DHCP et DNS sans
que le serveur ne soit connecté à un ordinateur par câble afin de former le réseau local.

L’ordre de configuration des rôles du serveur compte énormément. Dans les documents qu’on a
vu, il a été conseillé de configurer d’abord DHCP, puis DNS et enfin configurer le serveur comme
contrôleur de domaine et cela n’a pas marché. Le domaine n’a pu être construit et DHCP et DNS
n’ont pas fonctionné. En effet, DHCP ne distribue pas d’adresse IP et les utilitaires de test dcdiag
et netdiag ont signalé des erreurs. Il a donc fallu réinstaller complètement le système
d’exploitation et essayer à chaque fois une combinaison de l’ordre de configuration de ces rôles

61
pour enfin arriver à la procédure suivante : il faut d’abord configurer le service DNS qui va
permettre de nommer le domaine qu’on veut construire et établir une relation avec ses adresses IP.
On configure ensuite le serveur pour être un contrôleur de domaine et puis on configure DHCP et
les autres rôles viennent après. Il y a peut être d’autres manières de procéder mais c’est celle-ci qui
nous a permis de construire notre domaine.

Le serveur a été attaqué par un ver nommé MSBlast. MSBlast est un ver qui provoque un arrêt du
serveur dans la minute qui vient. Nous ne savions pas au début que c’était un ver et on l’a
interprété comme faille sur le système, une mauvaise manipulation ou une mauvaise installation
du système d’exploitation. Nous en sommes même venus à refaire l’installation. Nous avons
trouvé ensuite la solution qui a été proposé par Microsoft Windows.

5.2.MISE EN ŒUVRE DE VPN SOUS LINUX

5.2.1.Installation de Fedora Core 4


Fedora Core 4 peut être installé sur un PC à partir des supports suivants :
- des quatre CD-ROM de la distribution
- du DVD-Rom de la distribution
- des images ISO
Nous avons eu à notre disposition les Quatre CD-ROM de la distribution.

5.2.1.1.Caractéristiques matérielles requises


Les recommandations en terme de matériel pour l’installation de la distribution Fedora Core 4 sont
les suivantes :
Processeur : Le minimum requis est un processeur de type i586, donc Pentium au minimum
Il faut prévoir pour travailler dans de bonnes conditions, un processeur de la gamme Pentium à
200 MHz ou supérieur en mode texte et un processeur de la gamme Pentium II à 400 MHz en
mode graphique.
Mémoire : La quantité mémoire vive requise est 64 Mo en mode texte et 192 Mo en mode
graphique.
Espace disque : La quantité disque nécessaire dépend de la suite logicielle sélectionnée lors de
l’installation et de l’utilisation qui sera faite du système d’exploitation.

5.2.1.2.Caractéristiques matérielle de la machine utilisée


Les caractéristiques matérielles de la machine sur laquelle on va installer le Serveur Linux sont :

62
Processeur : Pentium III
Mémoire vive : 128 Mo
Espace disque : 12 Go

5.2.1.3.Les étapes de l’installation.


1. Choix de langage d’installation : Français

2. Configuration du clavier : Français Canadien

3. Configuration de la souris : Souris à trois boutons (PS/2)

4. Type d’installation :
o Bureau personnel
o Poste de travail
o Serveur

• Personnalisé
On choisit le Personnalisé pour gagner un contrôle total du processus d’installation, y compris les
paquetages de logiciel à installer et les préférences authentiques.

5. Configuration du partitionnement de disque :


L’option choisie est celle qui est précédée d’un rond noir.
Le partitionnement est le mécanisme de division d’un disque physique en plusieurs disques
logiques.
Sur les ordinateurs à base d’architecture Intel, une table des partitions à quatre entrées est
comprise dans le secteur d’amorçage du disque. Elle autorise la définition de quatre zones
contiguës appelées partitions. Chaque partition peut être soit primaire, soit étendue. Il est à noter
qu’il ne peut y avoir qu’une seule partition étendue sur le même disque.
Les noms des partitions correspondent aux noms des fichiers utilisés dans le répertoire /dev pour
accéder aux systèmes de fichiers qu’elles contiennent.
o Partitionnement automatique
• Partitionnement avec Disk Druid

63
Partitionnement avec DiskDruid
Il faut 3 partitions au moins pour installer le système Fedora Core.
 une partition contenant la racine du système de fichiers Linux appelée partition root
 une partition offrant un espace de pagination au système. La taille de cette partition
appelée swap est généralement le double de la RAM présente sur la machine
 une partition dédiée à /boot qui contient l’image du noyau Linux. La taille de cette
partition est de 10 Mo à 100 Mo.

Le type de partition primaire ou logique sur laquelle est installé Linux n’a pas d’importance.

Figure 5.18 : Partitionnement avec Disk Druid

6. Configuration du chargeur de démarrage


Le chargeur de démarrage GRUB sera installé sur /dev/hda.
On peut configurer le chargeur de démarrage pour démarrer d’autres systèmes d’exploitation.

64
Figure 5.19 : Choix du système d’exploitation démarré par défaut

Le mot de passe du chargeur de démarrage empêche que les utilisateurs envoient des options
arbitraires au noyau. L’utilisation de mot de passe est recommandée por une sécurité optimale
donc on va activer l’option d’utilisation de mot de passe.

7. Configuration du pare-feu
Un pare-feu se trouve entre l’ordinateur et le réseau et détermine les ressources de l’ordinateur
auxquelles des utilisateurs distants peuvent avoir accès à travers le réseau. Un pare-feu
correctement configuré peut améliorer de façon importante la sécurité du système lors de toute
transaction avec l’extérieur.
o Elevé

• Moyen
 Pas de pare-feu
Avec personnalisation :
 http
 FTP
• SSH
• DHCP
 Courrier SMTP
 Telnet

8. Configuration du langage utilisé par le système : Français


9. Sélection du fuseau horaire : Inde/Antananarivo
Etablir le mot de passe root :

65
Le compte root est uniquement pour l’administration. Mot de passe : ***********
10. Configuration de l’authentification :
• Activer le mot de passe MD5
• Activer le mot de passe masqué
o Activer NIS
o Activer LDAP
o Activer Kerberos
o Activer SMB

L’activation de MD5 permet d’utiliser un mot de passe long jusqu’à 256 caractères.
L’activation du mot de passe masqué fournit une méthode très sécurisée de mémorisation
de mot de passe.

Activer NIS permet d’utiliser un groupe d’ordinateurs dans le même domaine NIS avec un mot de
passe et un fichier de groupe commun. les paramètres suivants sont à compléter
Activer LDAP consolide certains types d’informations au sein de votre organisation.
Activer Kerberos : Kerberos est un système sécurisé qui fournit des services d’authentification du
réseau.
Activer l’authentification SMB : cette option indique PAM afin qu’il utilise SMB pour
authentifier les utilisateurs.
Serveur SMB : Indique sur quel serveur SMB votre poste de travail se connecte pour
l’authentification.

11. Sélection des groupes de paquetages


Avec le choix personnalisé, le programme d’installation offre la possibilité de sélectionner les
paquetages à installer.

BUREAU
Système X Window

Pour utiliser l’interface graphique de base (X)


Environnement de bureau GNOME.

66
GNOME est un interface utilisateur graphique puissante qui comprend un tableau de bord,
un bureau, des icônes de système et un gestionnaire de fichiers graphiques.
Environnement de bureau KDE.

KDE est une interface utilisateur puissantre comprenant un tableau de bord, un bureau, des
icônes de système et un gestionnaire de fichiers graphiques.

APPLICATION

Editeurs

Parfois appelés éditeurs de texte, ces programmes vous permet d’éditer et de créer des
fichiers textes. Ils comprennent Emac et Vi.
Engineering et scientifiques

Ce groupe comprend les paquetages pour exécuter des calculs mathématiques, le traçage et
la conversion d’unité.
Internet graphique

Ce groupe comprend le courrier eléctronique graphique, web et les clients de conversation.


Internet basé sur texte

Ce groupe contient une messagerie eléctronique en modalité texte ety des clients de
conversation.
Bureau/Productivité

Les applications comprennent des suites de bureau, des afficheurs PDF et bien plus encore.
Son et vidéo.

Ce groupe de paquetage vous permet de travailler sur le système avec du son et des
images, de l’enregistrement de CD à la lecture de CD audio et de fichiers multimédias.
Authoring et publishing

Ces outils vous permettent de créer de la documentation sous format DocBook et la


convertir en html, PDF, Postscript et texte.
Graphismes

67
Ce gropupe comprend des paquetages qui vous aident à manipuler et scanner des images.
Jeux et Divertissements.
SERVEURS
Outils de configuration du serveur

Ce groupe contient tous les outils de configurations personnalisé RedHat.


Serveur Web

Ces outils vous permettent d’exécuter un serveur Web sur le système.


Serveur de courrier

Ces paquetages vous permettent de configurer un serveur IMAP ou Postfix


Serveur de fichiers Windows

Ce groupe permet de partager des fichiers entre le système Linux et Windows


Nom de serveur DNS

Ce groupe de paquetage permet d’exécuter un nom de serveur DNS (Bind) sur le système.

Serveur FTP

Ce groupe de paquetage permet d’exécuter FTP sur le système


Serveur de base de données SQL

Ce groupe de paquet permet d’exécuter un serveur SQL sur le serveur.


Serveur de news

Ce groupe permet de configurer le serveur comme nouveau serveur.


Serveur de réseau

Ces outils comprennent des serveurs basés sur comme CIPE, DHCP et Telnet.
DEVELOPPEMENT
Outils de dédeloppement

Ces outils comprennent des outils de dévelopeement mémoire comme automake, gcc, perl,
python ainsi que des déboggeurs.
Développement du noyau

Installer ces paquetages por compiler le noyau

68
Développement du logiciel X

Développer des applications por le système X Window.


Développement de logiciel GNOME

Développer des applications QT et KDE.


SYSTEME
Outils d’administration

Ce groupe est un ensemble d’administration graphique pour le système, ainsi que pour la
gestion des comptes utilisateurs et la configuration matérielle du système.
Outils de système

Ce groupe est un ensemble de différents outils pour le système, ainsi qu’un client pour la
connexion aux ports SMB et d’outils permettant de gérer le trafic dans le réseau.
Support d’impression

Installer ces outils pour habiliter le système à imprimer ou agir comme un serveur
d’impression.

5.2.2.Configuration réseau
Dans le fichier /etc/sysconfig/network
NETWORKING=yes
HOST= LinServer.polytech.com
Le fichier /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR= 192.168.0.x

5.2.3.Configuration du serveur de nom DNS pour Fedora Core 4

5.2.3.1.Démarrage du daemon
Avant de configurer DNS il est nécessaire de démarrer le daemon named.
# /etc/init.d/named start

5.2.3.2.Création des zones


Comme on l’a fait avec Windows, il faut d’abord créer les zones. Une zone a la même
signification sous Linux que sous Windows. On peut donc se référer au sous paragraphe 7.2.3

69
pour voir la définition d’une zone. Les fichiers de création d’une zone se trouvent dans
/etc/named.conf
On va ajouter les zones principales directes et indirectes.
Il est intéressant de mettre dans ce fichier l’adresse du FAI au cas où DNS ne pourra pas résoudre
les noms.
Options {
directory "/var/named " ;
forward first ;
forwarders {
193.251.141.253;
};
};
zone "." IN {
type hint ;
file "named.ca" ;
};
zone "." IN {
type hint ;
file "named.ca" ;
};
zone "localdomain" IN {
type master ;
file "localdomain.zone" ;
};
zone "0.0.127.in-addr.arpa" IN {
type master ;
file "named.local" ;
};
zone "polytech.com" IN {
type master;
file "db.polytech.com" ;
};
zone "0.168.192.in-addr.arpa" IN {

70
type master;
file "db.0.168.192" ;
};
Il faut donc créer les fichiers db.polytech.com et db.0.168.192 dans /var/named qui devront être
identiques respectivement aux fichiers localdomain.zone et named.ca.

Directory indique l’emplacement des fichiers de zone tels que localdomaine.zone, named.ca,
db.polytech.com et db.0.168.192.
La zone « polytech.com » est faite pour les recherches directes ce qui veut dire la translation
d’adresse IP à partir du nom de la machine. La zone « 0.168.192.in-addr.arpa » pour les
recherches inversées ce qui veut dire une translation de nom à partit d’ adresse IP

5.2.3.3.Configuration des zones


La configuration des zones consiste à modifier le contenu des fichiers de zones en fonction des
besoins.

Le fichier /var/named/localdomain.zone :

$TTL 86400
@ IN SOA localhost.root (
42 ; serial
3H ; refresh
15M ; retry
1W ;expiry
1D) ; minimum
IN NS localhost
Localhost IN A 127.0.0.1

Le fichier /var/named/named.local :
$TTL 86400
@ IN SOA localhost. (
1997022700 ; serial
28800 ; Refresh
14400 ; Retry

71
3600000 ; Expire
86400 ; Minimum
IN NS localhost
1 IN PTR localhost

Le fichier db.polytech.com :

$TTL 86400
@ IN SOA LinServer root (
42 ; serial
3H ; refresh
15M ; retry
1W ;expiry
1D) ; minimum
IN NS LinServer. Root.LinServer. (
LinServer IN A 192.168.0.20

Le fichier db.0.168.192 :

$TTL 86400
@ IN SOA LinServer. (
1997022700 ; serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ; Minimum
IN NS LinServer
20 IN PTR LinServer

5.2.3.4.Configuration des redirecteurs


Lorsque une conversion de nom ou d’adresse est nécessaire, il est indispensable d’indiquer
l’adresse des serveurs qui vont faire la résolution des noms dans le fichier /etc/resolv.conf

72
Le fichier resolv.conf :

Search polytech.com # Domaine où la résolution va être effectuée


Nameserver 192.168.0.20 # IP Linserver
Nameserver 193.251.141.253 # IP Wanadoo

5.2.3.5.Récapitulation
Le nom du service est : BIND
Le daemon est : named
Les fichiers configuration se trouvent dans :
- /var/named.ca
- /var/named.conf
- /var/named.local
- /etc/resolv.conf
- /etc/sysconfig/network
Le nom : les paquetages nécessaires sont : bind, bind-utils, caching-nameserver.

5.2.3.6.Configuration du client
Le fichier /etc/resolv.conf doit être modifié comme suit :
Domain polytech.com
Nameserver 192.168.0.20

5.2.3.7.Test de fonctionnement
nslookup est une commande qui permet de tester le bon fonctionnement du DNS.
# nslookup LinServer
Il s’affiche :
Serveur : LinServer
Adresse : 192.168.0.20
Nom : LinServre.polytech.com
Adresse : 192.168.0.20

73
5.2.4.Installation de OpenVPN

5.2.4.1.Qu’est ce que Open VPN


OpenVPN est un système de réseau privé virtuel développé par James Yonan sur le protocole SSL
et non sur le protocole IPSec comme la plupart des VPN. C’est une solution complète
client/serveur de VPN pour GNU/Linux.
OpenVPN assure la création de tunnels VPN de façon sécurisée, grâce aux algorithme de
chiffrement multiples combinés à la librairie openSSL et grâce à ses méthodes d’authentification :
- Le chiffrement du tunnel avec une clé statique prépartagée
- Le chiffrement du tunnel avec une clé publique se basant sur des certificats (échange de
cl é dynamique basé sur TLS)

5.2.4.2.Sécurité de Open VPN


Au niveau de la sécurité, les principaux cryptages et librairies employées sont :
- SSL/TLS pour l’authentification
- L’interface OpenSSL EVP (Blofish Chiper) pour chiffrer les données
- L’algorithme HMAC-SHA-1 pour authentifier les données.

5.2.4.3.Capacité de OpenVPN
Une fois la connexion établie entre le client et le serveur, OpenVPN est capable, à travers un port
TCP/UDP configurable (défaut 1194) d’encapsuler n’importe quel paquet du réseau IP :
- utilisant des protocoles dynamiques des deux extrémités ;
- utilisant du NAT ;
- utilisant une compression de la connexion qui s’adapta en temps réel afin d’optimiser le
débit ;
- utilisant un port de l’interface réseau vers une interface TAP virtuelle;
- Utilisant un échange de clés statiques, pré-partagées ou dynamique.

5.2.4.4.Qu’est ce que OpenSSL


OpenSSL est un ensemble d’outils libres pour l’utilisation de SSL et TLS. OpenSSL permet la
génération d’algorithme de cryptage avancés tels que :
- Asymétrique : RSA-DSA
- Symétrique : DES-Blowfish

74
5.2.4.5.Installation de OpenVPN
On va installer la version openvpn-1.4.3. et le configurer pour créer un tunnel avec un cryptage
par clé symétrique.
1. L’installation de OpenVPN nécessite l’installation des paquets suivants :
- liblzo-dev
- liblzo1
- libssl-dev
- libssl0.9.6
- openssl-devel-0.9.7f-7.i386
- autoconf-2.59-5.noarch.rpm
- automake17-1.7.9-6.noarch.rpm
On installe les paquets .rpm paquets avec la commande « rpm –i ».
Exemple : rpm –i auto autoconf-2.59-5.noarch.rpm

1. Copier les sources compressées openvpn dans /usr/local/src


2. décompresser dans ce même répertoire
# tar zxvf openvpn-1.4.3.tar.gz
3. Dans /usr/local/src/ taper :
- /usr/local/src/.autogen.sh
- /usr/local/src/.configure
- Make
- Make install

.Configure est une commande qui construit un nouveau fichier makefile. Cest un script shell qui
s’exécute, recherche les éléments logiciels et effectue même divers essais pour savoir ce qui
fonctionne. Il prend ensuite ses instructions dans Makefile.in et construit le fichier makefile qui
fonctionnera correctement sur le système.

Make : a pour but de déterminer automatiquement quelles parties qu’un gros programme ont
besoin d’être recompilées et exécute les commandes nécessaires pour les recompiler.

Make install : installe openvpn.

75
4. Créer une clé de cryptage avec openvpn
# openvpn --genkey --secret Bnsd14
Bnsd14 est la clé secrète
Il faut copier cette clé sur chaque machine établissant VPN. Le fichier doit se trouver dans le
répertoire courant où on exécute la commande pour lacer VPN.

5. Créer le tunnel
Sur la machine serveur exécuter la commande :
# openvpn --port 8000 --dev tun1 --ifconfig 192.168.0.20 192.168.0.21 --verb5 --secret
Bnsd14

Sur la machine cliente exécuter la commande :


# openvpn --remote 196.192.235.12 --port 8000 –dev tun1 --ifconfig 192.168.0.21
192.168.0.20

Explication :
196.192.235.12 : adresse IP publique du serveur VPN
--port 8000 : utliser le port 8000 pour la communication
--dev tun1 : interface réseau virtuel qui constitue en quelque sorte le bout du tunnel au bout du
serveur.
--ifconfig 192.168.0.20 192.168.0.21 : va permettre d’attribuer les adresses IP à chaque bout du
tunnel
--verb5 : le niveau de bavardage que l’on souhaite pour openvpn.
196.192.235.12 : IP public du serveur VPN

5.2.5.Les problèmes rencontrés lors de la mise en œuvre de VPN sous Linux.


L’utilisation de VPN implique la possibilité d’avoir une connexion à Internet. On ne
dispose pas d’une ligne téléphonique RTC donc il nous reste la possibilité d’employer un poste
téléphonique fixe sans fil. Notre problème a été que Huawei FWT ETS 2000 n’a pas de pilote sous
Linux. Certaines personnes ayant eu le même problème ont proposé une solution qui se repose sur
l’édition d’un script et l’installation de certains paquets. Cette configuration nécessitait une
version du noyau très récente donc on a procédé à une mise à jour du noyau en recompilant un

76
nouveau 2.6.18.1. On a réussi à recompiler le noyau mais le fait est que cette recompilation
exigeait aussi une mise à jour des paquets et d’autres configurations qu’on aqu’on n’a pas pu
déterminer lesquelles.

5.3.Comparaison entre la mise en œuvre de VPN sous Windows et Linux.


La configuration de VPN sous Windows Server 2003 s’est fait avec la configuration du service
Routage et Accès distant et des comptes des utilisateurs dans Active Directory. Ces configurations
ont porté sur :
 le type de connexion qu’on veut mettre en œuvre
 le nom de la connexion
 le protocole à utiliser si on souhaite le paramétrer.
VPN est un service intégré sous Windows Server 2003 et il ne reste plus qu’à le mettre en œuvre
après l’installation du serveur lui-même.

La mise en œuvre de VPN sous Linux débute par l’installation des paquets nécessaires et de
l’installation de OpenVPN. La configuration qui se fait avec une ligne de commande se porte sur :
 la création d’une clé secrète entre le client et le serveur
 la création du tunnel
 la commande de lancement de OpenVPN en spécifiant le port à utiliser pour la
communication, l’interface virtuelle à utiliser, la configuration des adresses IP.

Si on fait un bref analyse, on peut constater que la configuration de VPN sous Windows se penche
plutôt sur surtout sur la convivialité du service offert à l’utilisateur. Windows demande le type de
la connexion à mettre en œuvre et il le configure, il ne demande que des informations qui peuvent
être interceptées par le grand public. Exemple : le nom qu’on va donner à la connexion, l’adresse
IP du serveur ou juste le nom du serveur VPN.

La configuration sur Linux s’est effectuée sur des lignes de commandes qui créent pas à pas et
point par point le tunnel entre le client et le serveur. Les informations demandées sont plus
compliquées que celles de Windows.

Le déploiement de VPN sous Linux requiert beaucoup plus de connaissance en matière de réseau
informatique. Son avantage est que l’utilisateur sait ce qui se passe et sait ce qu’il fait. Il lui est
donc possible d’adapter la configuration à ses besoins. Ce qui n’est pas le cas avec Windows car

77
il offre surtout un service qui se rue surtout sur la facilité d’utilisation tout en essayant de prévoir
les besoins de chaque type d’utilisateur.

5.4.Eléments nécessaires pour la mise en œuvre d’un VPN Accès distant


Pour pouvoir mettre en œuvre un VPN Accès distant sous Windows il faut prendre en compte
les éléments suivants :
 Le serveur VPN : la machine proprement dite et le système d’exploitation comme
Windows Server 2003 comme dans notre exemple
 une connexion à Internet : il faut un abonnement pour une connexion permanente
 pare-feu du serveur : qui est intéressant à avoir pour une grande entreprise.
 Anti-virus du serveur
 Le poste de travail client.

Pour pouvoir mettre en œuvre un VPN Accès distant sur Linux


 Le serveur VPN : la machine et le système d’exploitation qui est Fedora Core 4 dans notre
cas.
 Une connexion Internet : Il faut un abonnement pour une connexion permanente.
 Un anti-virus.

78
CONCLUSION GENERALE

Le but de la technologie de l’information et de la communication est de pouvoir effectuer


un transfert rapide, fiable et à moindre coût des données. Les chercheurs se doivent donc
d’équilibrer la technique et le coût. Effectivement, le VPN nous a aboli de ce dilemme en
permettant un transfert des données fiable avec coût de économique puisqu’il exploite un réseau
public qui est déjà très vulgarisé : l’Internet. En effet, nous ne pouvions transmettre des données
sensibles via Internet auparavant car cela représentait un très grand risque pour les entreprises.
Aujourd’hui, VPN permet d’interconnecter l’ensemble des sites et les utilisateurs nomades
quelque soit l’endroit où ils se trouvent tout en maîtrisant le budget télécommunication.

Cette sécurité si bien promue est fortement liée au protocole utilisé car à chaque protocole
correspond un type de chiffrement. PPTP utilise par exemple MPPE comme protocole de sécurité
et L2TP utilise IPSec. Cependant MPLS, par défaut n’utilise pas de chiffrement pour sécuriser son
tunnel mais il se base sur la création d’un deuxième label. On peut, toutefois, lui associer à IPSec.
Ces protocoles peuvent être choisis lors de la configuration d’une connexion VPN selon le
système d’exploitation employé.

Windows et Linux sont les deux systèmes d’exploitation les plus en vogue actuellement.
Chacun d’eux ont leur propre avantage et leur propre vision. Comme nous l’avant vu lors de la
mise en œuvre de VPN, il y a une différence entre l’installation et la création d’une connexion
VPN sous Windows et sous Linux et l’on peut en tirer que le choix entre les des deux dépend du
besoin de l’utilisateur. Linux par exemple est plus approprié aux développeurs, aux chercheurs, ou
à toute personne qui veut savoir « le pourquoi » de tout ce qui se passe dans un système
d’exploitation afin de pouvoir maîtriser son système et en tirer profit. Windows, d’une autre part,
est un système d’exploitation grand public. Certes, il peut parfois coûter très cher, mais il est facile
à utiliser. Il tente de solutionner directement aux problèmes des entreprises et de chaque utilisateur
coûte que coûte. Il est plus proche de l’utilisateur et surtout fait pour ceux qui veulent du résultat
sans se soucier du « comment cela s’est fait ».

A chaque organisation donc correspond un type exact de VPN selon ses exigences, veut-
elle un VPN Accès distant, Extranet ou Intranet, quel protocole va-t-elle utilisée, quel sera son

79
système d’exploitation. C’est la que l’ingénieur fait son travail, il se doit de faire une étude de cas
d’une organisation et de pouvoir proposer la solution idéale.

80
ANNEXE 1 : PPP (POINT TO POINT PROTOCOL)

Le protocole PPP a été spécifié pour les besoins des connexions TCP/IP aux réseaux Internet à
partir de liaison modem. Ce protocole permet non seulement de réaliser une interconnexion IP via
le réseau mais décrit également les procédures d’attribution d’adresse, le multiplexage du
protocole de niveau 3, la compression des données et la détection des erreurs.
PPP supporte les liaisons asynchrone et synchrone, trois composants sont pour cela utilisés :
- HDLC pour l’encapsulation des datagrammes
- LCT (Link Control Protocol) pour établir, configurer et tester la liaison.
- NCP (Network Control Protocol) pour établir et configurer différents protocoles de niveau
3 comme IP, IPx ou DecNet qui peuvent être multiplexés sur une seule liaison.
Afin d’établir la communication, le protocole PPP envoie des trames LCP pour établir la liaison et
optionnellement configurer la ligne. Des trames NCP sont ensuite échangées pour sélectionner et
paramétrer un ou plusieurs protocoles réseaux. Des mécanismes de temporisation permettent de
couper la liaison en cas d’inactivité prolongée.

La procédure LQM (Link Quality Monitor) coupe la liaison lorsque la qualité de service calculée
tombe au dessous d’un pourcentage prédefini.
La liaison PPP utilise les principes, la terminologie et la structure des trames du protocole HDLC.
Une trame PPP est de la forme :

Fanion : est un délimiteur de trames de valeur binaire 01111110


Adresse : est un champ non utilisé par PPP et ne contient que la valeur binaire 1
Contrôle : contient toujours la valeur 03 qui pour le protocole HDLC, est une trame d’information
avec le bit PF positionné à 0.
Protocole : indique le type de protocole de niveau 3 dans le champ de données. Bien que ne
faisant pas partie de la norme HDLC, ce champ est considéré comme une extension du champ
d’adresse en positionnant le premier bit à 1.
Données : contient les données utiles dont la taille peut être négociée. La taille maximale par
défaut est de 1500 octets.

81
FCS : est un code de détection d’erreur de type CRC sur 16 bits. La procédure de négociation
permet de sélectionner un code qui permet de renforcer la détection des bits.

82
ANNEXE 2 DES : (DATA ENCRYPTION STANDARD)

DES est un algorithme à clé symétrique (ou à clé secrète). Sa clé est de 56 bits de long. C’est
un système de chiffrement par bloc de 64 bits. DES transforme un bloc de 64 bits en un autre bloc
de 64 bits. DES fonctionne en trois étapes :
- permutation initiale et fixe d’un bloc
- le résultat est soumis à 16 itérations d’une transformation, ces itérations dépendent à
chaque ronde d’une autre clé partielle de 48 bits. Cette clé de ronde intermédiaire est
calculée à partir de la clé initiale de l’utilisateur (grâce à un réseau de tables de substitution
et d’opérateurs XOR). Lors de chaque ronde, le bloc de 64 bits est découpé en deux blocs
de 32 bits, et ces blocs sont échangés l’un avec l’autre selon un schéma de Fiestel. Le bloc
de 32 bits ayant le poids le plus fort subira une transformation.
- Le dernier résultat de la dernière ronde est transformé par la fonction inverse de la
permutation initiale.

L’algorithme de chiffrement et de déchiffrement est le même.


On emploie souvent un triple chiffrage DES (3DES) qui crorrespond à trois fois un cryptage DES.

83
84
ANNEXE 3 : RSA

C’est en 1978 que l’algorithme à clé publique Ron RIVEST, ADI Shamir et Leonard
ADLEMAN est apparu. C’est un système à clé publique car l’algorithme n’est pas caché, la clé de
codage est de ce fait appelée clé publique.
Pour coder un message, l’émetteur va utiliser la clé publique que le destinataire a préalablement
publiée. La clé publique est un ensemble de lettre et de chiffre qui vont permettre d’envoyer au
destinataire des messages confidentiels. Cela veut dire que tout le monde peut connaître la clé
publique qui permet de crypter les messages uniquement au destinataire qui a publié la clé mais
seul ce dernier pourra déchiffrer ce qui a été codé avec sa clé publique grâce à sa clé privée.

Chiffrement : le message doit être remplacé par un chiffre par exemple le rang de l’alphabet ou le
code ASCII. Ensuite on découpe le message par bloc de x longueurs tel que x<n avec n et e la clé
publique.
Le bloc B est chiffré par la formule : C=Bemod n où C est un bloc de message chiffré à envoyer
vers le destinataire.

Déchiffrement : identique au chiffrement mais avec la formule inverse B=Cdmod n

La génération des deux clés se fait en choisissant deux grand nombre p et q et de calculer le
produit :
n=p*q
On choisit ensuite un nombre e tel que e et (p-1)(q-1) soient premiers entre eux. Le nombre e est
appelé clé de chiffrement aléatoire. On utilise l’algorithme d’Euclide étendu pour calculer d. d
étant la clé de déchiffrement
d=e-1 mod((p-1)(q-1)

85
ANNEXE 4 : MPPE OU MICROSOFT POINT TO POINT PROTOCOL

MPPE est un chiffrement de paquets transitant sur PPP, basé sur l’algorithme RSA RC4.
RC4 est un chiffre symétrique de jet avec une taille arbitraire. Il a été créé par Ron Rivest de
sécurité RSA en 1987.
La variante exportable de RC4 utilise une variante de 40 bits. Cette taille principale est vulnérable
à une attaque de force brutale en utilisant la technologie courante.

Les chiffrent de jet peut être considéré comme un chiffre de bloc avec une longueur de bloc
vraiment petite.

86
ANNEXE 5 : MD5 (MESSAGE DIGEST 5)

MD5 est une fonction une fonction de hachage cryptographique qui permet d’obtenir pour chaque
message une empreinte numérique avec une probabilité très forte que, pour deux messages
différents, leurs empreintes soient différentes.

MD5 travaille avec un message de taille variable et produit une empreinte de 128 bits. Le message
est divisé en blocs de 512 bits, on applique un remplissage de manière à avoir un message dont la
longueur est un multiple de 512. Le remplissage se présente comme suit :
- on ajoute un « 1 » à la fin du message
- on ajoute une séquence de « 0 »
- on écrit la taille du message, un entier codé sur 64 bits.
Ce remplissage est toujours appliqué même si la longueur du message peut être divisé par 512.
L’algorithme principal travaille avec un état sur 128 bits. Il est lui-même en 4 mots de 32 bits : A,
B, C et D. Ils sont initialisés au début avec des constantes. L’algorithme utilise ensuite les blocs
provenant du message à hacher, ces blocs vont modifier l’état interne. Les opérations sur un bloc
se décomposent en quatre étapes, elles-mêmes divisées en 16 opérations similaires basées sur une
fonction non linéaire F qui varie selon la ronde, une addition et une rotation vers la gauche.

87
BIBLIOGRAPHIE

[1] A.Tanembaum, Réseaux, Architecture, Protocoles, Applications, Hermes, 1995

[2] B.Lanlard, EFS, IPSEC, SSL : Mise en œuvre de la sécurité sous Windows Server 2003, ENI,
2006

[3] B.Sonntag, J.Steinberg et T.Speed, SSL VPN : Accès Web et Extranets sécurisés, Eyrolles,
2006

[4] D.A.LeBlanc, Linux pour les nuls, First, 2002

[5] http://eicon.fr/solutions/shiva_VPN

[6] http://frameip.com/l2tp-pppoe-ppp-ethernet.html

[7] http://ietf.org/rfc/rfc2401.txt

[8] http://ietf.org/rfc/rfc2637.txt

[9] http://ietf.org/rfc/rfc3931.txt

[10] http://supinfo-projects.com

[11] http://www.amba.fr/Encyclopedie-du-web-1.html

[12] http://www.bib.umontreal.ca/outils-informatiques

[13] http://www.laboratoire-microsoft.org/articles/win

[14] http://www.opt.pf/st.html

88
[15] http://www.securiteinfo.com/crypto/tunnel.html

[16] http://www.telesat.ca/fre/telecom/vsat.html

[17] http://www.wikipédia.org/wiki/Vsat

[18] J.RAZAKARIVONY, Cryptographie et Sécurité Réseaux, Cours 5ème année, Dép. Tél.-
E.S.P.A., A.U. : 2005-2006

[19] L.E.RANDRIARIJAONA, Technologie des hauts débits, Cours 5ème année, Dép. Tel.-
E.S.P.A., A.U. : 2005-2006

[20] P. MATHON, VPN Mise en œuvre sous Windows Server 2003, ENI, 2004

[21] S. GHERNAOUTI-HELIE, Sécurité informatique et Réseaux : Cours et exercices corrigés,


DUNOD, 2004

[22] S.SNIGH, Histoire des codes secrets, LGF, 2001

[23] I. Pepelnjak, J. Guichaud, Architecture MPLS et VPN, CampusPress, 2001

[24] http://www.frameip.com/mpls

[25] http://www.commentcamarche.net

[26] http://www.frameip.com/ipsec

[27] G. Pujolle, Les Réseaux, Eyrolles, 2000

[28] http://www.labo-cisco.com/

[29] http://ietf.org/rfc/rfc2246.txt

89
90
FICHE DE RENSEIGNEMENTS

Nom : RANOHARISOA
Prénoms : Haingo Nirina
Adresse de l’auteur : Lot 56 H Ter Antanety Alasora

TITRE : « ETUDE ET MISE EN ŒUVRE DE VPN »

Pagination : 93
Tableaux :2
Figures : 47

Mots clés : tunnel, réseau, serveur client, windows, linux, internet

Directeur de mémoire : Monsieur RATSIMBAZAFY Andriamanga.

91
RESUME :

Le Réseau Privé Virtuel est une technique qui permet d’étendre un réseau local d’une entreprise à
des utilisateurs distants autorisés avec un VPN Accès distant ou des sites annexes avec un VPN
Intranet ou Extranet. VPN se base sur un support de réseau public qui est l’Internet et il assure les
fonctionnalités telles que : authentification des utilisateurs, encryption des données, administration
des clés. Plusieurs protocoles de tunnelisation permettent ainsi de créer une connexion VPN dont :
PPTP, L2TP, IPSec, PPTP et MPLS. VPN peut être mis en œuvre sur divers système
d’exploitation. Toutefois, pour n’importe quel système il faut un serveur VPN, un client VPN et
une connexion Internet pour les deux pour q’une connexion VPN puisse être établie.

ABSTRACT:

Virtual Private Network is a secure way to provide access to the corporate network for remote and
authorized users with remote access VPN or remote networks with VPN LAN-to-LAN. VPM
message traffic is carried over Internet. VPN ensure user authentication, data encryption and key
administration. Secure VPN protocols include the following : PPTP, L2TP, IPSec and MPLS.
VPN can be deployed on different operating system as Windows or Linux. VPN connection
requires VPN server, VPN client and Internet connection.

92

Vous aimerez peut-être aussi