Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
UNIVERSITE D’ANTANANARIVO
----------------------
ECOLE SUPERIEURE POLYTECHNIQUE
-----------------------
DEPARTEMENT TELECOMMUNICATION
IPSEC ET RADIUS
Le présent mémoire est le fruit de trois années d’études supérieures à l’école Supérieure
Polytechnique d’Antananarivo.
Je rends grâce à Dieu pour m’avoir donné le courage, la volonté et la santé durant la réalisation de
ce travail.
Je tiens à remercier les membres du jury qui ont acceptés d’examiner ce mémoire malgré leurs
innombrables occupations :
Mes vifs remerciements s’adressent aussi aux enseignants et personnels de l’ESPA, et à ceux du
Département Télécommunication en particulier, ils ont fait de moi ce que je suis aujourd’hui.
Un grand merci à nos parents qui ont toujours été présent à chaque moment de notre vie. Leur
inconditionnels amour et leur soutien nous a procuré la force d’aboutir à un tel résultat.
Enfin, à tous ceux qui ont contribué de près ou de loin à la réalisation de ce mémoire de fin
d’étude. Puissiez-vous trouver dans ces quelques lignes mes sincères remerciements et ma
reconnaissance.
i
TABLE DES MATIERES
REMERCIEMENTS ...................................................................................................................................... i
INTRODUCTION GENERALE.................................................................................................................. 1
ii
b. Open Shortest Path First............................................................................................................................................ 16
1.6. Conclusion .......................................................................................................................................................... 16
iii
3.3.2.2. Mode Tunnel ......................................................................................................................................................... 31
3.3.3. Détails des protocoles ajoutés...................................................................................................................... 32
3.3.3.1. En-tête AH ............................................................................................................................................................ 32
3.3.3.2. Champs ESP ......................................................................................................................................................... 33
3.4. Gestion des clefs IPSec....................................................................................................................................... 34
3.4.1. Types de clefs ................................................................................................................................................ 34
3.4.1.1. Clefs de chiffrement.............................................................................................................................................. 34
3.4.1.2. Clefs maîtresses..................................................................................................................................................... 34
3.4.1.3. Clefs de session ou de chiffrement de données .................................................................................................... 34
3.4.2. Echange de clefs et authentification ........................................................................................................... 34
3.4.2.1. Mécanismes de sécurisation des échanges ........................................................................................................... 34
3.4.2.2. Algorithme de Diffie-Hellman .............................................................................................................................. 35
3.4.3. ISAKMP et IKE ........................................................................................................................................... 35
3.4.3.1. ISAKMP ................................................................................................................................................................ 36
3.4.3.2. IKE ........................................................................................................................................................................ 36
a. Phase 1 : Main mode et Aggressive mode ................................................................................................................. 37
b. Phase 2 : Quick Mode ................................................................................................................................................ 39
3.5. Conclusion .......................................................................................................................................................... 39
ANNEXES .................................................................................................................................................... 57
BIBLIOGRAPHIE ...................................................................................................................................... 65
RENSEIGNEMENTS ................................................................................................................................. 66
RESUME ...................................................................................................................................................... 67
ABSTRACT ................................................................................................................................................. 67
iv
LISTE DES ABREVIATIONS
AH : Authentication Header
IP : Internet Protocol
v
MAU : Multistation Access Unit
SA : Security Association
SP : Security Policy
vi
INTRODUCTION GENERALE
Les réseaux locaux d'entreprise sont des réseaux internes à une organisation, c'est-à-dire que les
liaisons entre machines appartiennent uniquement à l'organisation. Ces réseaux sont de plus en
plus souvent reliés à Internet par l'intermédiaire d'équipements d'interconnexion. Il arrive ainsi que
des entreprises éprouvent le besoin de communiquer avec des filiales, des clients ou même du
personnel géographiquement éloignées via Internet.
Pour autant, les données transmises sur Internet sont beaucoup plus vulnérables que lorsqu'elles
circulent sur un réseau interne à une organisation car le chemin emprunté n'est pas défini à
l'avance, ce qui signifie que les données empruntent une infrastructure réseau publique
appartenant à différents opérateurs. Ainsi il n'est pas impossible que sur le chemin parcouru, le
réseau soit écouté par un utilisateur indiscret ou même détourné. Il n'est donc pas concevable de
transmettre dans de telles conditions des informations sensibles pour l'organisation ou l'entreprise.
La première solution pour répondre à ce besoin de communication sécurisé consiste à relier les
réseaux distants à l'aide de liaisons spécialisées. Toutefois la plupart des entreprises ne peuvent
pas se permettre de relier deux réseaux locaux distants par une ligne spécialisée, il est parfois
nécessaire d'utiliser Internet comme support de transmission.
Un bon compromis consiste donc à utiliser Internet comme support de transmission en utilisant un
protocole d'encapsulation appelé « tunneling », c'est-à-dire encapsulant les données à transmettre
de façon chiffrée. On parle alors de réseau privé virtuel (VPN) pour désigner le réseau ainsi créé.
Ce réseau est dit virtuel car il relie deux réseaux physiques (réseaux locaux) par une liaison non
fiable (Internet), et privé car seuls les ordinateurs des réseaux locaux de part et d'autre du VPN
peuvent voir les données. Le système de VPN permet ainsi d'obtenir une liaison sécurisée à
moindre coût, si ce n'est la mise en œuvre des équipements terminaux. En contrepartie, il ne
permet pas d'assurer une qualité de service comparable à une ligne louée dans la mesure où le
réseau physique est public et donc non garanti.
Le premier chapitre propose quelques généralités sur les réseaux informatiques. Il décrit
brièvement les propriétés d’un réseau informatique et donne une présentation globale sur les
1
modèles de réseaux en couche. Ce chapitre s’achève sur une notion de routage qui inclut les
protocoles les plus utilisés.
Les VPN font l’objet du second chapitre. Après avoir donné une introduction, nous décrirons
successivement : le fonctionnement et les contraintes des VPN, les types de VPN, les protocoles
de tunneling et enfin une notion sur l’authentification avec le protocole RADIUS.
Le troisième chapitre propose une solution pour pallier le problème de sécurité au niveau de la
couche 3 du modèle OSI, le protocole IPSec y est détaillé en passant par son mode de
fonctionnement, les protocoles ajoutés et la gestion des clefs.
Avant de donner une conclusion générale, un dernier chapitre est consacré à la simulation d’un
VPN d’accès crypté par un tunnel IPSec et authentifié par un serveur RADIUS sous le simulateur
réseau GNS3.
2
CHAPITRE 1
GENERALITES SUR LES RESEAUX INFORMATIQUES
1.1. Introduction
Il convient toutefois de faire attention aux situations dans lesquelles le terme réseau est employé
en informatique. En effet, il peut désigner l’ensemble des machines, le protocole de
communications ou la manière dont les équipements sont connectés.
Les réseaux sont classés en fonction de leur étendue géographique. Ainsi, on parlera de :
− PAN (Personnal Area Network) pour les réseaux personnels de moins d’une dizaine de
machines ;
− LAN (Local Area Network) pour les réseaux locaux à l’échelle d’un bâtiment ;
− MAN (Metropolitan Area Network) pour les réseaux construits à l’échelle d’une ville ou
d’un campus ;
− WAN (Wide Area Network) pour les réseaux à l’échelle d’un pays ou mondiale.
LAN ou PAN. Il y donc non seulement interconnexion de machines mais aussi de réseaux au
travers desquels les messages seront acheminés. [1]
3
1.2.2. Modes d’acheminement des messages
Comme la mise en réseau de machines correspond au besoin d’échanger des informations, des
messages transitent en permanence dans un réseau. Il existe plusieurs stratégies pour acheminer un
message au travers du réseau. On parle alors de techniques de commutation. Nous détaillerons les
5 méthodes les plus courantes à savoir :
− Commutation de circuits ;
− Commutation de messages ;
− Commutation de paquets ;
− Commutation de trames ;
− Commutation de cellules.
C’est une méthode utilisée sur les réseaux téléphoniques classiques. Les communications passent
par trois phases distinctes :
Cette méthode s’appuie sur les nœuds du réseau. Ainsi, le message transite de nœuds en nœuds
jusqu’au destinataire. Un nœud ne peut envoyer le message que s’il a reçu ce dernier
complètement. Ce mode a été abandonné et remplacé au profit de la commutation de paquets. [2]
4
Figure 1.03 : Commutation de messages
Cette méthode consiste à fragmenter le message en paquets qui seront transmis de nœuds en
nœuds jusqu’au destinataire. Il existe plusieurs stratégies pour acheminer les paquets.
− Dans le mode connecté les paquets empruntent toujours le même chemin (c’est le cas du
réseau TRANSPAC) ;
− Dans le mode non-connecté les paquets peuvent emprunter des itinéraires différents. En
réalité, chaque nœud va se charger d’aiguiller l’information. C’est sur ce principe que sont
échangées les informations sur internet.
Comme il s’agit de l’un des plus répandus modes de commutation, ce dernier fait l’objet d’une
norme internationale qui est l’œuvre des opérateurs téléphoniques : la norme X25. Pour permettre
l’acheminement et le réassemblage des paquets, ce dernier renferme les informations suivantes :
− Un identifiant de source ;
− Un identifiant de destination ;
− Un numéro de séquence ;
− Un bloc contenant les données proprement dites ;
− Un code de vérification des erreurs.
5
Figure 1.04 : Commutation de paquets
Cette méthode est également une extension de la commutation de paquets à laquelle on ajoute les
avantages de la commutation de circuits. Les paquets ont une longueur fixe de 53 octets dont 5
sont utilisés pour l’en-tête. La connexion est mise en place avant toute émission de cellule. Le
réseau ATM (Asynchronous Transfer Mode) exploite cette solution. A ce type de commutation est
associée la notion de qualité de service qui dépend du type d’informations transportés. [2]
Cette norme a été créée en 1984 par l’ISO (International Standard Organisation). Elle s’intéresse
aux réseaux à commutation de paquets. Il s’agit d’un modèle à 7 couches qui décrit les réseaux.
Chaque couche possède une problématique qui lui est propre. La mise en place d’un réseau
consiste à trouver une solution par couche. Les couches sont en théorie indépendantes, il est donc
possible de modifier la solution adoptée pour une couche sans affecter les couches supérieures ou
inférieures. Le modèle OSI décrit ainsi les réseaux des couches basses qui concernent le matériel
qui constitue le réseau jusqu’aux couches hautes qui décrivent la communication entre les
applications fonctionnant à l’aide du réseau constitué. [3]
6
Niveau Nom Description
7 Application Gère l’accès des utilisateurs à l’environnement OSI et offre des services
d’information distribués.
4 Transport Accomplit un transfert fiable et transparent des données entre les points
d’extrémités. Assure une récupération d’erreur et un contrôle de flux de bout en
bout.
2 Liaison de Assure la communication entre plusieurs machines reliées par le même support
données physique.
1 Physique Décrit le support physique employé pour transmettre l’information (fibre optique,
paire torsadé….).
TCP/IP fut développé par le DoD (Département de la défense) des Etats-Unis et par DARPA
(Agence de projet de recherché de défense avancée) dans les années 70. TCP/IP fut conçu pour
être un standard ouvert, que quiconque puisse l’utiliser pour connecter des ordinateurs ensemble et
échanger des informations. Par la suite, il est devenu le modèle de base pour l’Internet.
TCP/IP prend comme modèle de référence le modèle OSI mais seulement avec 4 couches
fonctionnelles. Certaines couches du modèle TCP/IP portent les mêmes noms que celles du
modèle OSI mais avec des fonctions différentes. [3]
7
Couche Description Protocoles
Application Définit les protocoles d’application TCP/IP et explique http, Telnet, FTP, TFTP,
comment l’hôte programme l’interface avec les services SNMP, DNS, SMTP, X
de couches de transport pour utiliser le réseau Windows, autres protocoles
d’application
Transport Propose la gestion des sessions de communication entre TCP, UDP, RTP
les ordinateurs hôtes. Définit le niveau de service et l’état
de la connexion utilisés lors du transport des données.
Internet Regroupe les données en datagrammes IP qui IP, ICMP, ARP, RARP
contiennent des informations sur les adresses de source et
de destination utilisées pour transmettre les datagrammes
entre les hôtes et à travers les réseaux. Effectue le routage
des datagrammes IP.
Accès réseau Donne des détails sur le mode d’envoi des données à Ethernet, Token Ring, FDDI,
travers le réseau, y compris sur la façon dont les bits sont X25, FR, RS-232,v.35
électriquement signalés par les périphériques matériels
jouant directement le rôle d’interface avec un support
réseau, comme un câble coaxial, une fibre optique ou un
fil de cuivre à paire torsadée.
Dans cette partie, nous verrons les types de topologies d’un réseau, les manières de partager le
support physique entre plusieurs stations ainsi que les normes internationales qui y sont associées.
Lorsqu’il s’agit de connecter 2 stations l’une à l’autre, un seul câble suffit pour les faire
communiquer. Toutefois, comment cela se passe si l’on dispose d’une grande quantité de stations.
Plusieurs stratégies peuvent être employées pour relier les stations. Ces stratégies de câblages
donnent plusieurs configurations physiques de réseaux appelées topologies. [4]
8
1.4.1.1. Topologie maillée
Ce type de câblage constitue une généralisation du cas à deux stations. En effet, chaque station du
réseau est reliée à une autre par un câble. Ce système est inutilisé de nos jours en raison du
nombre de câbles nécessaires pour créer un tel réseau. De plus, rajouter une station sur ce réseau
signifie que l’on doit rajouter autant de câbles que de stations déjà présentes sur le réseau.
Dans ce type de câblage, toutes les stations se partagent le même support physique de
communication (le bus). Si les stations cherchent à communiquer en même temps, ce partage du
même support entraîne la collision des différents messages. Il faudra mettre au point des stratégies
d’anticollision. Les anciens réseaux Ethernet fonctionnent avec ce type de topologie.
9
1.4.1.3. Topologie en anneau
Un anneau est unidirectionnel, le message se propage toujours dans le même sens dans les câbles.
À la différence des topologies précédentes, chaque station qui reçoit un message va alors le
réémettre, donc le transmettre à la station suivante, si elle n’est pas concernée par le message en
question. Toutefois, si l’un des câbles est défectueux ou une des stations tombe en panne,
l’ensemble du réseau est coupé. Pour éviter ce problème, l’anneau est parfois doublé avec un
circuit allant dans le sens contraire.
Toutes les stations sont reliées à un nœud central (une station du réseau) qui sera le seul à relayer
les messages. Dans ce type de topologie, le point faible réside dans le nœud central. La fiabilité du
réseau est équivalente à celle du nœud central.
Lorsque plusieurs machines se partagent le même support physique de transmission, ces dernières
peuvent émettre des messages simultanément. Lorsque ceci se produit, les messages se mélangent
et il se produit ce que l’on appelle une collision.
Il existe plusieurs solutions pour éviter ce type de conflit, les plus couramment utilisées sont :
Elles sont compatibles avec la norme OSI bien qu’elles lui soient antérieures. Il s’agit de la série
des normes IEEE 802. Selon ces normes, les réseaux locaux sont subdivisés en 12 catégories.
802.9 Les réseaux intégrant la voix et les données Integrated Voice / Data Networks
Tableau 1.03 : Liste des normes IEEE 802 concernant les réseaux locaux
11
1.4.4. Exemple de solutions matérielles pour les réseaux
Le réseau Ethernet est décrit par la norme IEEE 802.3 qui a été internationalisée depuis en norme
ISO 8802.3. Elle concerne des topologies physiques en bus, en anneau ou en étoile mais qui seront
traitées de manière logique comme des bus. Les accès au support physique sont gérés de manière
compétitive avec écoute de la porteuse CSMA/CD. Plusieurs sous-normes décrivent les réseaux
Ethernet comme nous le montre le tableau 1.04.
Tableau 1.04 : Liste des caractéristiques physiques des différents réseaux Ethernet
Wifi, pour Wireless Fidelity, caractérise les réseaux sans-fil. Ces réseaux utilisent l’onde
hertzienne comme support de transmission. Plusieurs sous normes de la norme IEEE 802.11
existent, parmi ces dernières, seulement 3 concernent la constitution physique du réseau qui sont
décrites dans le tableau ci-dessous.
12
Norme Débit théorique Fréquence Canaux Portée
Comme nous l’avons évoqué, la couche 3 du modèle OSI fait intervenir la notion de réseau
logique, par opposition au réseau physique. Ainsi, les principales fonctionnalités qui sont traitées
par cette couche sont:
Les adresses IP (version 4) sont standardisées sous forme d’un nombre de 32 bits qui permet à la
fois l’identification de chaque hôte et du réseau auquel il appartient. Le choix des nombres
composants une adresse IP n’est pas laissée au hasard, au contraire il fait l’objet d’une attention
particulière notamment pour faciliter les opérations de routage. Ces adresses sont notées : w.x.y.z,
avec chaque élément compris entre 0 et 255. Le chiffre 0 est réservé pour les adresses de réseau et
le 255 pour les adresses de broadcast appelées aussi « adresse de diffusion », ces dernières
permettent de contacter toutes les machines d’un même réseau. Une adresse logique permet
d’identifier le réseau sur lequel est connectée une machine.
En fonction de la valeur du premier octet, une classe d’adresse est définie et un masque par défaut
est associé :
13
Classe 1er Octet Adresses Masque par défaut
E 240 à 255
Les grands réseaux sont fréquemment subdivisés en sous-réseaux. Ceci permet d’utiliser de
manière hétérogène plusieurs types de réseaux physiques différents. Cela favorise la segmentation
du réseau en vue de faciliter le routage et permet de réduire l’encombrement général du réseau.
Ceci permet aussi d’isoler certaines parties du réseau peu fiables ou au contraire très sécurisées
par rapport à un parc de machines standard. [5]
Il s’agit de l’un des rôles essentiels de la couche 3 du modèle OSI : acheminer les paquets d’un
réseau à un autre. Pour ce faire, les divers réseaux physiques seront reliés entre eux par des
machines qui seront sur plusieurs réseaux à la fois : les routeurs. De plus, comme il est impossible
de relier tous les réseaux physiques directement, les paquets doivent parfois passer par des réseaux
physiques intermédiaires. [5]
14
1.5.2.2. Table de routage
La table de routage est une table de correspondance entre l'adresse de la machine visée et le nœud
suivant auquel le routeur doit délivrer le message. En réalité il suffit que le message soit délivré
sur le réseau qui contient la machine, il n'est donc pas nécessaire de stocker l’adresse IP complète
de la machine, seul l’ ID du réseau a besoin d’être stocké.
Les informations sont mises à jour manuellement à chaque modification topologique du réseau.
− Boucles de routage ;
− Routages asymétriques ;
− Routages aberrants.
Le but d’un protocole de routage est de fournir l’information nécessaire pour effectuer un routage,
ils établissent des règles d’échange des messages d'état entre routeurs pour mettre à jours leurs
tables selon des critères de coût comme, par exemple, la distance, l'état de la liaison, le débit, et
ainsi améliorer l'efficacité du routage. [5]
15
a. Routing Information Protocol
RIP a été conçu pour fonctionner en tant qu’IGP (Interior Gateway Protocol) dans des systèmes
autonomes de taille modérée. Il utilise un algorithme d’une classe connue sous le nom d’«
algorithmes à vecteurs de distance », qui recherche le plus court chemin au sens d’un critère de
coût où seul le nombre de routeurs traversés intervient, un coût unitaire étant associé à la traversée
de chaque réseau. Ce protocole est limité aux réseaux dont le plus long chemin implique 15
routeurs maximum. Il est mal adapté au traitement de boucles dans les chemins et utilise des
métriques fixes pour comparer les routes alternatives. Cela n’est pas toujours approprié pour les
situations où les routes doivent être choisies en fonction de paramètres temps réel comme un délai,
une fiabilité ou une charge mesurés.
OSPF est plus performant que RIP et commence donc à le remplacer petit à petit. Il s'agit d'un
protocole de type protocole route-link que l'on pourrait traduire par « Protocole d'état de lien ».
Contrairement à RIP, ce protocole n'envoie pas aux routeurs adjacents le nombre de sauts qui les
sépare, mais l'état de la liaison qui les sépare. De cette façon, chaque routeur est capable de dresser
une carte de l'état du réseau et peut par conséquent choisir à tout moment la route la plus
appropriée pour un message donné.
1.6. Conclusion
16
CHAPITRE 2
RESEAUX PRIVES VIRTUELS
2.1. Introduction
De nos jours, les applications distribuées sont de plus en plus en vogue dans les grandes
entreprises. Ceci est faisable grâce au développement de l’utilisation des réseaux locaux. Ainsi,
leur utilisation devient de plus en plus indispensable à l’entreprise, et la vie de l’entreprise en
dépend. La sécurisation et l’optimisation du transit de données entre les nœuds de l’entreprise
devient ainsi primordial. Pour les sites distants géographiquement, l’utilisation des réseaux publics
comme l’Internet est une solution pour assurer l’interconnexion. Cependant, ces types de réseaux
sont non seulement non sécurisés mais aussi peu performants. Ainsi, les VPN ont été instaurés
pour y remédier en connectant une machine distante ou tout un réseau local au réseau de
l’entreprise comme s’ils étaient locaux.
Un réseau VPN repose sur un protocole appelé « protocole de tunneling ». Ce protocole permet de
faire circuler les informations de l'entreprise de façon cryptée d'un bout à l'autre du tunnel. Ainsi,
les utilisateurs ont l'impression de se connecter directement sur le réseau de leur entreprise.
Le principe de tunneling consiste à construire un chemin virtuel après avoir identifié l'émetteur et
le destinataire. Par la suite, la source chiffre les données et les achemine en empruntant ce chemin
virtuel. Afin d'assurer un accès aisé et peu coûteux aux intranets ou aux extranets d'entreprise, les
réseaux privés virtuels d'accès simulent un réseau privé, alors qu'ils utilisent en réalité une
infrastructure d'accès partagée, comme Internet. [6]
Le principe d’un VPN est d’être transparent pour les utilisateurs et pour les applications y ayant
accès. Il doit être capable de mettre en œuvre les fonctionnalités suivantes :
− Authentification d’utilisateur : seuls les utilisateurs autorisés doivent avoir accès au VPN ;
− Cryptage des données : les données doivent être protégées par un cryptage efficace ;
− Gestion des clés : les clés de cryptage pour le client et le serveur doivent pouvoir être
générées et régénérées ;
− Prise en charge multi protocole : la solution VPN doit supporter les protocoles les plus
utilisés sur les réseaux publics en particulier IP. [7]
17
2.2.2. Types de VPN
− Le VPN d’accès : il est utilisé pour permettre à des utilisateurs itinérants d’accéder au
réseau de leur entreprise. L’utilisateur se sert d’une connexion Internet afin d’établir une
liaison sécurisée ;
− L’intranet VPN : il est utilisé pour relier deux ou plusieurs intranets d’un même entreprise
entre eux. Ce type de réseau est particulièrement utile au sein d’une entreprise possédant
plusieurs sites distants. Cette technique est également utilisée pour relier des réseaux
d’entreprise, sans qu’il soit question d’intranet (partage de données, de ressources…) ;
18
− L’extranet VPN : 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 cas, il est ne
nécessaire d’avoir une authentification forte des utilisateurs, ainsi qu’une trace des
différents accès. De plus, seul une partie des ressources sera partagée, ce qui nécessite une
gestion rigoureuse des espaces d’échanges. [7]
Les protocoles utilisés dans le cadre d’un VPN sont de 2 types, suivant le niveau de la couche OSI
auquel il travaille :
PPTP est un protocole qui utilise une connexion PPP à travers un réseau IP en créant un réseau
privé virtuel (VPN). Microsoft a implémenté ses propres algorithmes afin de l'intégrer dans ses
versions de Windows. Ainsi, PPTP est une solution très employée dans les produits VPN
commerciaux à cause de son intégration au sein des systèmes d'exploitation Windows. PPTP est
un protocole de niveau 2 qui permet l'encryptage des données ainsi que leur compression.
L'authentification se fait grâce au protocole MS-CHAP de Microsoft. La partie chiffrement des
données s'effectue grâce au protocole MPPE (Microsoft Point-to-Point Encryption).
19
Le principe du protocole PPTP est de créer des paquets sous le protocole PPP et de les encapsuler
dans des datagrammes IP. PPTP crée ainsi un tunnel de niveau 3 défini par le protocole GRE
(Generic Routing Encapsulation). Le tunnel PPTP se caractérise par une initialisation du client,
une connexion de contrôle entre le client et le serveur ainsi que par la clôture du tunnel par le
serveur. Lors de l'établissement de la connexion, le client effectue d'abord une connexion avec son
fournisseur d'accès Internet. Cette première connexion établie une connexion de type PPP et
permet de faire circuler des données sur Internet. Par la suite, une deuxième connexion dial-up est
établie. Elle permet d'encapsuler les paquets PPP dans des datagrammes IP. C'est cette deuxième
connexion qui forme le tunnel PPTP. Tout trafic client conçu pour Internet emprunte la connexion
physique normale, alors que le trafic conçu pour le réseau privé distant, passe par la connexion
virtuelle de PPTP.
Plusieurs protocoles peuvent être associés à PPTP afin de sécuriser les données ou de les
compresser. Il y a les protocoles développés par Microsoft et cités précédemment. Ainsi, pour le
processus d'identification, il est possible d'utiliser les protocoles :
Ces divers protocoles permettent de réaliser une connexion VPN complète, mais L2TP permet un
niveau de performance et de fiabilité bien meilleur. [8]
20
2.3.2. Protocole L2TP
L2TP est issu de l’exploitation des points forts des protocoles PPTP et L2F. Il est actuellement
développé et évalué conjointement par Cisco Systems, Microsoft, Ascend, 3Com ainsi que
d'autres acteurs clés du marché des réseaux. Il permet l'encapsulation des paquets PPP au niveau
des couches 2 (Frame Relay et ATM) et 3 (IP). Lorsqu'il est configuré pour transporter les
données sur IP, L2TP peut être utilisé pour faire du tunneling. L2TP repose sur deux concepts : les
concentrateurs d'accès L2TP (LAC : L2TP Access Concentrator) et les serveurs réseau L2TP
(LNS : L2TP Network Server). L2TP n'intègre pas directement de protocole pour le chiffrement
des données. C'est pourquoi L'IETF préconise l'utilisation conjointe d'IPSec et L2TP. [8]
IPSec est une norme qui définit une extension de sécurité pour le protocole Internet (IP) afin de
permettre la sécurisation des réseaux basés sur ce protocole. Les services de sécurité fournis sont
la confidentialité, l’authentification et l’intégrité des données, la protection contre le rejeu et le
contrôle d’accès. Ces services sont basés sur des mécanismes cryptographiques qui leur confèrent
un niveau de sécurité élevé lorsqu’ils sont utilisés avec des algorithmes forts. La sécurisation se
faisant au niveau d’IP, IPSec peut être mis en œuvre sur tous les équipements du réseau et fournir
un moyen de protection unique pour tous les échanges de données. De nombreux fournisseurs
intègrent désormais IPSec dans leurs produits, ce qui facilite son déploiement à l’échelle d’un
réseau d’entreprise. Des exemples d’utilisations typiques d’IPSec sont la création de réseaux
privés virtuels, la sécurisation des accès distants à un intranet et la protection d’un serveur
sensible. Le fonctionnement et les principes d’IPSec seront détaillés dans le chapitre 3. [9]
21
2.3.4. Protocole MPLS
Le protocole MPLS est un protocole qui se présente comme une solution aux problèmes de
routage des datagrammes IP véhiculés sur Internet. Le principe de routage sur Internet repose sur
des tables de routage. Pour chaque paquet, afin de déterminer le prochain saut, les routeurs doivent
analyser l'adresse de destination du paquet contenu dans l'entête de niveau 3. Puis il consulte sa
table de routage pour déterminer sur quelle interface doit sortir le paquet. Ce mécanisme de
recherche dans la table de routage est consommateur de temps CPU et avec la croissance de la
taille des réseaux ces dernières années, les tables de routage des routeurs ont constamment
augmenté. Le protocole MPLS fut initialement développé pour donner une plus grande puissance
aux commutateurs IP, mais avec l'avènement de techniques de commutation comme CEF (Cisco
Express Forwarding) et la mise au point de nouveaux ASIC (Application Specific Interface
Circuits), les routeurs IP ont vu leurs performances augmenter sans le recours à MPLS. [9]
La mise en place d'un VPN permet de connecter de façon sécurisée des ordinateurs distants au
travers d'une liaison non fiable (Internet), comme s'ils étaient sur le même réseau local, grâce à des
liaisons virtuelles qui s'appuient sur une infrastructure de communication sous-jacente.
L'infrastructure sous-jacente peut être un réseau international à accès publique ou une partie d'un
réseau dédié. [10]
22
Ce procédé est utilisé par de nombreuses entreprises afin de permettre à leurs utilisateurs de se
connecter au réseau d'entreprise hors de leur lieu de travail. On peut facilement imaginer un grand
nombre d'applications possibles :
− Accès au réseau local (d'entreprise) à distance et de façon sécurisée pour les travailleurs
nomades ;
− Partage de fichiers sécurisés ;
− Jeu en réseau local avec des machines distantes.
− Sécurisé ;
− Simple ;
− Economique ;
− Mobile.
2.4.1. Sécurisé
L’administration de la sécurité est centralisée, basée sur des politiques. Les protocoles de
tunneling permettent de faire circuler les informations de façon cryptée de bout à l’autre du tunnel.
Ainsi, les échanges entre utilisateurs authentifiés se font comme s’ils étaient connectés
directement sur un même réseau local sans que les autres utilisateurs non authentifiés puissent
intercepter. Pour garantir la confidentialité, le réseau privé est coupé logiquement du réseau
internet. En général, les machines se trouvant à l'extérieur du réseau privé ne peuvent accéder à
celui-ci. L'inverse n'étant pas forcément vrai. L'utilisateur au sein d'un réseau privé pourra accéder
au réseau internet.
2.4.2. Simple
Les VPN utilisent les circuits de communication classiques. La gestion des infrastructures se
trouve ainsi simplifié. On peut alors améliorer la capacité à déployer de nouvelles applications
sans avoir à se préoccuper de sécurité.
2.4.3. Economique
Les VPN utilisent Internet en tant que media principal de transport. Ce qui diminue les couts car
on a plus besoin d’une ligne dédiée. De plus, l'infrastructure est partagée.
23
2.4.4. Mobile
Plusieurs fournisseurs d’accès Internet utilise RADIUS pour authentifier leurs clients et leur
communiquer une configuration IP. Ce protocole est également très utile pour sécuriser un réseau
Wifi, un réseau VPN ou même un réseau filaire, dans certaines conditions.
Le fonctionnement de RADIUS est basé sur un système client/serveur chargé de définir les accès
d'utilisateurs distants à un réseau. Il s'agit du protocole de prédilection des fournisseurs d'accès à
Internet car il est relativement standard et propose des fonctionnalités de comptabilité permettant
aux FAI de facturer précisément leurs clients. [11]
Le protocole RADIUS repose principalement sur un serveur (serveur RADIUS), relié à une base
d'identification (base de données, annuaire LDAP …) et un client RADIUS, appelé NAS
(Network Access Server), faisant office d'intermédiaire entre l'utilisateur final et le serveur.
L'ensemble des transactions entre le client RADIUS et le serveur RADIUS est chiffré et
authentifié grâce à un secret partagé.
24
2.5.2.1. Modèle client/serveur
Un serveur d’accès de réseau NAS fonctionne en tant que client RADIUS. Le client est
responsable pour passer l’information utilisateur vers les serveurs Radius, et puis d’effectuer les
traitements en fonction de la réponse qui est retournée. Les serveurs Radius sont chargés de
recevoir les demandes de connexion d’utilisateur, d’authentifier l’utilisateur, et puis de renvoyer
toute l’information de configuration nécessaire pour que le client puisse fournir le service à
l’utilisateur.
Les transactions entre le client et le serveur RADIUS sont authentifiées par l’utilisation d’un
secret partagé, qui n’est jamais envoyé en dehors du réseau. En outre, tous les mots de passe
utilisateur sont envoyés chiffrés entre le client et le serveur, pour éliminer la possibilité que
quelqu’un sur un réseau suffisamment sécurisé, puisse espionner le transit réseau pour déterminer
le mot de passe d’un utilisateur.
25
2.5.2.3. Mécanismes flexibles d’authentification
Le serveur Radius peut supporter une variété de méthodes pour authentifier un utilisateur. Quand
on lui fournit le nom d’utilisateur et le mot de passe initial donnés par l’utilisateur, il peut
supporter la procédure de connexion de PPP, PAP, CHAP, login Unix ou d’autres mécanismes
d’authentification.
Toutes les transactions sont composées de triplets (Attribut, Longueur, Valeur). Des nouvelles
valeurs d’attribut peuvent être ajoutées sans perturber les implémentations existantes du protocole.
Quand un client est configuré pour utiliser Radius, n’importe quel utilisateur du client présente
l’information d’authentification au client. Ceci pourrait être avec une demande de procédure de
connexion spécifique où l’utilisateur doit entrer son nom et son mot de passe. Alternativement,
l’utilisateur pourrait utiliser un protocole tel que le PPP, qui transmet cette information dans des
paquets d’authentification.
Une fois que le client a obtenu une telle information, il peut authentifier l’utilisateur en utilisant
RADIUS. Pour ceci, le client crée une « demande d’accès » contenant des attributs tels que le nom
d’utilisateur, le mot de passe de l’utilisateur, l’identification du client et l’identification du port
auquel l’utilisateur accède. Quand un mot de passe est présent, il est caché en utilisant une
méthode basée sur l’algorithme MD5 de RSA.
La requête d’accès est soumise au serveur RADIUS par l’intermédiaire du réseau. Si aucune
réponse n’est tournée après un certain temps, la demande est renvoyée un certain nombre de fois.
Le client peut également expédier des demandes à un ou des serveurs alternatifs au cas où le
serveur primaire serait en panne ou inaccessible.
Une fois que le serveur RADIUS reçoit la demande, il valide le client. Une demande de client
pour lequel le serveur Radius n’a pas un secret partagé sera silencieusement négligée. Si le client
est valide, le serveur Radius consulte une base de données des utilisateurs pour trouver
l’utilisateur dont le nom est dans la demande. L’entrée pour l’utilisateur dans la base de données
contient une liste de besoins qui doivent être satisfaits pour permettre l’accès à l’utilisateur.
Si aucune condition n’est réunie, le serveur Radius envoie une réponse « rejet d’accès » indiquant
que cette demande d’utilisateur est incorrecte. Si toutes les conditions sont réunies et que le
26
serveur Radius souhaite émettre un « défi » auquel l’utilisateur doit répondre, le serveur Radius
envoie une réponse « Access-Challenge ». C’est-à-dire, soit la demande actuelle convient, soit une
autre méthode d’identification est demandée à l’utilisateur. Le serveur RADIUS retourne ainsi une
des quatre réponses suivantes :
2.5.4. Challenge/Réponse
27
la clé secrète nécessaire pour émuler un tel dispositif ou logiciel, peuvent seulement deviner à la
réponse. Le paquet « Access-Challenge » contient typiquement un « Reply Message » comprenant
un défi à afficher à l’utilisateur, tel qu’une valeur numérique peu susceptible d’être un jour
répétée. Typiquement ceci est obtenu à partir d’un serveur externe qui connaît quel type
d’authentification devrait être en possession de l’utilisateur autorisé et peut donc choisir un
nombre pseudo-aléatoire et non répétitif d’une longueur appropriée. L’utilisateur communique
alors le défi dans son dispositif ou logiciel et calcule une réponse, que l’utilisateur envoie au client
qui fait suivre l’information vers le serveur Radius par l’intermédiaire d’un deuxième « Access-
Request ». Si la réponse correspond à la réponse prévue, le serveur Radius répond avec un
« Access-Accept », sinon avec un « Access-Reject ». [12]
2.5.5. Accounting
Si un serveur d’accès au réseau est configuré à cette fin, il envoie des informations de
comptabilisation au serveur à chaque début et fin de session d’appel. Les données contenues dans
les lots varient selon le fournisseur du serveur d’accès au réseau, mais elles se composent
généralement du nom de l’utilisateur, de l’adresse IP, de la durée de la session et du nombre de
caractères ou de lots transmis. Le serveur stocke ces informations à des fins de facturation et d’état
statistique. Les lots de comptabilisation contiennent les informations qui permettent au fournisseur
de services internet de facturer en fonction du temps système utilisé ou de la quantité de donnée
transmises. Quand un client est configuré pour utiliser l’Accounting Radius, il génère un paquet
« Accounting Start » lorsque le service commence à être délivrer à l’utilisateur, indiquant la nature
du service concerné et l’identité de l’utilisateur et le serveur d’Accounting retourne un accusé de
réception. A la fin de la livraison de service, le client produira d’un paquet « Accounting Stop »
décrivant le type du service délivré et éventuellement des statistiques telles que temps écoulé,
quantité d’octets entrée et sortie, ou nombre de paquets en entrée et en sortie. Il enverra cela au
serveur de comptabilité de RADIUS, qui renverra un accusé de réception. [12]
2.6. Conclusion
L’implantation d’un VPN au sein d’un système d’information est quelque chose de très actuel, du
fait de l’apparition forte de la mobilité et de l’évolution des possibilités informatiques. Cependant,
cette implantation n’est pas quelque chose à prendre à la légère. La technologie VPN autorise une
certaine souplesse, surtout en termes d’intégration de l’information par les nomades, cependant,
celle-ci tant en termes d’architecture que de sécurité doit être pensée et réfléchie au préalable.
28
CHAPITRE 3
INTERNET PROTOCOL SECURITY
3.1. Introduction
IPSec (Internet Protocol Security) a été conçu pour sécuriser les communications réseau à partir de
la couche 3 du modèle OSI. Il a été conçu de manière à être supporté par IPv4 et a été intégré dans
le protocole IPv6. Ce protocole n'est pas un remplaçant d'IP mais un complément. Ainsi, il intègre
des notions essentielles de sécurité au datagramme IP qui en assureront l'authenticité et le
cryptage. Pour cela, il fait largement usage de clé de sessions. Sa position dans les couches basses
du modèle OSI lui permet donc de sécuriser tous types d'applications et protocoles réseaux basée
sur IP sans distinction. IPSec est très largement utilisé pour le déploiement de réseau VPN à
travers Internet à petite et grande échelle.
IPSec est basé sur 2 mécanismes différents assurant les rôles de sécurisation des données : AH
(Authentification header) et ESP (Encapsuling Security Payload).
IPSec est largement configurable. Ainsi, chacun des deux mécanismes AH et ESP peuvent être
utilisés seuls ou combinés avec le second afin de définir le niveau de sécurité voulu. De plus, il
est possible d'indiquer les algorithmes de hachage ou d'encryption voulue lors d'une
communication. Les clés de session sont de type symétrique (définition manuelle des clés) ou
asymétrique (génération automatique des clés). L'authentification et l'authenticité des données sont
assurées par un mécanisme de hachage des données traitées. Si les deux parties de la
communication trouve la même signature, c'est qu'ils utilisent bien les même clés de sessions qui
ont permis de générer cette même signature des deux côtés. [13]
Le mécanisme interne d'IPSec est complexe. Le fait que ce protocole soit hautement configurable
introduit des notions de gestion et de configuration inconnues du monde IP.
Les flux IPSec sont gérés unidirectionnellement. Ainsi, une communication bidirectionnelle entre
deux machines utilisant IPSec sera définie par divers processus pour chacun des sens de
communication. Les procédés détaillés ci-dessous respectent tout deux cette loi.
29
3.3.1.1. Security Policy
Une SP définit ce qui doit être traité sur un flux. Comment peut-on transformer un paquet ?
Notons qu'une SP ne définit qu'un protocole de traitement à la fois. Pour utiliser AH et ESP
sur une communication, deux SP devront être créées.
Une SA définit comment sera traité le paquet en fonction de sa SP associée. Elle n’est que la
réalisation des SP. Elle possède l'ensemble des propriétés de la liaison. Ainsi, elle sera représentée
par une structure de donnée contenant les informations suivantes :
Une SA est identifiée à un seul et unique flux unidirectionnel grâce à trois champs :
Comme nous pouvons le voir, une SA ne sera associée qu'a un seul des protocoles AH ou ESP. Si
nous voulons protéger un flux avec ces deux protocoles, deux SA devront être créés.
30
Le SPI est un indice sur 32 bits attribué au SA lors de sa création. Il sert à distinguer les
différentes SA qui aboutissent à une même destination et utilisant le même protocole. [13]
Tout système implémentant IPSec possède donc deux bases de données distinctes dans lesquelles
ils stockent leurs SP (SP Database) et leurs SA (SA Database).
La SPD défini donc le traitement de chaque type de trafic entrant ou sortant, en fonction des
émetteurs/récepteurs, selon trois type :
− DISCARD : dans ce cas celui-ci sera tout simplement jeté. Il n'est pas autorisé à sortir de la
passerelle ni à la traverser ni à être délivré à une quelconque application ;
− BYPASS IPSec : laisse passer le trafic sans traitement IPSec ;
− APPLY IPSec : signifie que des services IPSec sont à appliquer à ce trafic.
Pour chaque trafic soumis à des services IPSec, la base SPD possède une référence vers la SA
correspondante dans la base SAD. Si cette entrée n'est pas définie, dans le cas d'une gestion
dynamique des clés, celle-ci sera alors créée en accord avec la configuration définie par
l'administrateur.
Il existe deux modes d'utilisation d'IPSec : le mode transport et le mode tunnel. La génération des
datagrammes sera différente selon le mode utilisé. [14]
Ce mode est utilisé pour créer une communication entre deux hôtes qui supportent IPSec. Une SA
est établie entre les deux hôtes. Les entêtes IP ne sont pas modifiées et les protocoles AH et ESP
sont intégrés entre cette entête et l'entête du protocole transporté.
Ce mode est utilisé pour encapsuler les datagrammes IP dans IPSec. La SA est appliquée sur un
tunnel IP. Ainsi, les entêtes IP originales ne sont pas modifiés et un entête propre à IPSec est créé.
Ce mode est souvent utilisé pour créer des tunnels entre réseaux LAN distant. Effectivement, il
permet de relier deux passerelles étant capable d'utiliser IPSec sans perturber le trafic IP des
machines du réseau qui ne sont donc pas forcément prête à utiliser le protocole IPSec.
31
3.3.3. Détails des protocoles ajoutés
Nous verrons que certains champs sont présents dans les deux protocoles AH et ESP. En cas
d'utilisation des deux protocoles pour un même flux de données, il n'y aura pas de redondance
d'information. Effectivement, il faut garder à l'esprit que AH et ESP seront gérés séparément par
des SA différents. AH et ESP sont deux protocoles utilisant des clés des sessions utiles à leurs
traitement sur le datagramme IP.
3.3.3.1. En-tête AH
En revanche, il ajoute tout de même un contrôle contre les répétitions et d'intégrité des données
sur un mode non connecté (couche IP).
32
− Données Authentification (variable) : champs contenant les signatures de hachages
permettant d'authentifier l'émetteur et l'authenticité des données. La taille de ce champ
dépend des protocoles de hachage utilisés ;
L'authentification et l'intégrité des données sont assurées par les mêmes mécanismes que pour AH.
33
− Données Authentification (variable): champs contenant les signatures de hachages
permettant d'authentifier l'émetteur et l'authenticité des données. La taille de ces
champs dépend des protocoles de hachage et d'encryptions utilisés.
Tous les processus que nous venons de découvrir sont donc basés sur des mécanismes de
cryptage et de hachage complexes qui utilisent des clés de longueurs variables. Avant d'utiliser
un VPN, il faut donc s'intéresser à la gestion de ses clés. [15]
Ces clefs sont utilisées afin de chiffrer d'autres clefs et ont généralement une durée de vie longue.
Les clefs étant des valeurs aléatoires, l'utilisation d'autres clefs pour les chiffrer rend les attaques
par cryptanalyse (tentatives de déchiffrement du message) plus difficiles à leur niveau. La
cryptographie à clef publique est souvent utilisée pour le transport de clefs, en chiffrant la clef à
transporter à l'aide d'une clef publique.
Les clefs maîtresses sont des clefs qui ne servent pas à chiffrer mais uniquement à générer
d'autres clefs par dérivation. Une clef maîtresse peut ainsi être utilisée, par exemple, pour générer
deux clefs : une pour le chiffrement et une pour la signature.
Le PFS (Perfect Forward Secrecy) est assurée par une renégociation régulière des clefs. Dans le
cas où un attaquant intercepterait et déchiffrerait une clef de session, celle-ci serait probablement
déjà périmée avant qu'il puisse l'utiliser.
34
L'Identity Protection, ou protection de l'identité, est respectée si un message intercepté ne permet
pas de déterminer l'identité des tiers communiquant.
Le Back Traffic Protection consiste en une génération de nouvelles clefs de sessions sans
utilisation de clefs maîtresses. Les nouvelles clefs étant indépendantes des clefs précédentes, la
découverte d'une clef de session ne permet ni de retrouver les clefs de session passées ni d'en
déduire les clefs à venir.
Inventé en 1976 par Diffie et Hellman, ce protocole permet à deux tiers de générer un secret
partagé sans avoir aucune information préalable l'un sur l'autre. Il est basé sur un mécanisme de
cryptage à clef publique, et fait donc intervenir les valeurs publiques et privées des tiers. Le secret
généré à l'aide de ce protocole peut ensuite être utilisé pour dériver une ou plusieurs clefs (clef
secrète, clef de chiffrement de clefs...).
Soient 2 personnes A et B désirant communiquer sans utiliser une clef secrète. Pour cela ils se
mettent d'accord sur 2 nombres g et n tels que n soit supérieur à g et g supérieur à 1, et cela sur
un canal non sécurisé (il faut que n soit grand: de l'ordre de 512 ou 1024 bits pour que l'échange
des clefs soit sécurisé). Ils prennent chacun chez eux un nombre aléatoire :
Ainsi le pirate peut intercepter X, et Y mais il lui est très difficile d'en déduire x et y, c'est sur ce
principe que repose la sécurité de l'algorithme. Une fois dans son coin, A calcule k=Y^xmod n et
B calcule k'=X^ymod n. En regardant de plus près, on constate que : k=k'=g^xymod n. Ainsi, A
et B ont réussi à créer une clef privée dont ils sont les seuls détenteurs.
IKE (Internet Key Exchange) est un système développé spécifiquement pour IPSec qui vise à
fournir des mécanismes d'authentification et d'échange de clef adaptés à l'ensemble des situations
qui peuvent se présenter sur l'Internet. Il est composé de plusieurs éléments : le cadre générique
ISAKMP et une partie des protocoles Oakley et SKEME. Lorsqu'il est utilisé pour IPSec, IKE est
de plus complété par un domaine d'interprétation pour IPSec.
35
3.4.3.1. ISAKMP
ISAKMP (Internet Security Association and Key Management Protocol) permet la négociation,
l'établissement, et la suppression d'associations de sécurité (SA), permettant ainsi la sécurisation
de paquets devant être acheminés.
Il s'agit d'un cadre générique permettant la négociation des associations de sécurité, mais il
n'impose rien quant aux paramètres qui les composent. Cette négociation s'effectue en deux
phases, permettant de séparer la négociation des SA pour la protection des données à transférer, de
celle pour la protection du trafic propre à ISAKMP :
− Durant la première phase, un ensemble d'attributs relatifs à la sécurité est négocié, les
identités des tiers sont authentifiées et des clefs sont générées. Ces éléments forment la
SA/ISAKMP. Contrairement aux SA IPSec, la SAISAKMP est bidirectionnelle. Elle
servira à sécuriser l'ensemble des échanges ISAKMP futurs ;
− La seconde phase permet de négocier les paramètres de sécurité qui interviendront pour le
transfert des données applicatives (le paquet IP qui devait être transmis, et qui est à
l'origine de l'établissement d'une SA). Les échanges de cette phase sont sécurisés grâce à la
SAISAKMP.
3.4.3.2. IKE
IKE utilise ISAKMP, pour construire un protocole pratique. Le protocole de gestion des clefs
associé à ISAKMP dans ce but est inspiré à la fois d'Oakley et de SKEME. Plus exactement, IKE
utilise certains des modes définis par Oakley et emprunte à SKEME son utilisation du
chiffrement à clef publique pour l'authentification et sa méthode de changement de clef.
IKE comprend quatre modes : le mode principal (Main Mode), le mode agressif (Aggressive
Mode), le mode rapide (Quick Mode) et le mode nouveau groupe (New Group Mode).
Main Mode et Aggressive Mode sont utilisés durant la phase 1, et sont détaillés ci-dessous. Quick
Mode, quand à lui, est un échange de phase 2.
New Group Mode sert à se mettre d'accord sur un nouveau groupe pour de futurs échanges Diffie-
Hellman.
36
a. Phase 1 : Main mode et Aggressive mode
Les attributs suivants sont utilisés par IKE et négociés durant la phase 1 : un algorithme de
chiffrement, une fonction de hachage, une méthode d'authentification et un groupe pour Diffie-
Hellman.
Trois clefs sont générées à l'issue de la phase 1 : une pour le chiffrement, une pour
l'authentification et une pour la dérivation d'autres clefs. Ces clefs dépendent des cookies, des
aléas échangés et des valeurs publiques Diffie-Hellman ou du secret partagé préalable. Leur
calcule fait intervenir la fonction de hachage choisie pour la SA ISAKMP et dépend du mode
d'authentification choisi.
Main mode :
Composé de six messages, Main Mode est une instance de l'échange ISAKMP Identity Protection
Exchange :
− Les deux premiers messages servent à négocier les paramètres IKE : algorithme de
chiffrement, fonction de hachage, méthode d'authentification des tiers et groupe pour
Diffie-Hellman ;
Les quatre méthodes d'authentification possibles sont la signature numérique, deux formes
d'authentification par chiffrement à clef publique et l'utilisation d'un secret partagé préalable.
− Les deux seconds messages permettent l'établissement d'un secret partagé via l'utilisation
du protocole Diffie-Hellman ;
37
Figure 3.04 : Etablissement d’un secret partagé
Le secret partagé sert à dériver des clefs de session, deux d'entre elles étant utilisées pour protéger
la suite des échanges avec les algorithmes de chiffrement et de hachage négociés précédemment.
− Les deux derniers messages servent à l'authentification des échanges et notamment des
valeurs publiques.
Agressive mode :
Aggressive Mode est une instance de l'échange ISAKMP Aggressive Exchange : il combine les
échanges décrits ci-dessus pour Main Mode de façon à ramener le nombre total de messages à
trois.
Dans les deux cas, la méthode choisie pour l'authentification influence le contenu des messages
et la méthode de génération de la clef de session. Les quatre méthodes d'authentification
possibles sont la signature numérique, deux formes d'authentification par chiffrement à clef
publique et l'utilisation d'un secret partagé préalable.
38
b. Phase 2 : Quick Mode
Les messages échangés durant la phase 2 sont protégés en authenticité et en confidentialité grâce
aux éléments négociés durant la phase 1. L'authenticité des messages est assurée par l'ajout d'un
bloc HASH après l'en-tête ISAKMP, et la confidentialité est assurée par le chiffrement de
l'ensemble des blocs du message.
Quick Mode est utilisé pour la négociation de SA pour des protocoles de sécurité donnés comme
IPSec. Chaque négociation aboutit en fait à deux SA, une dans chaque sens de la communication.
3.5. Conclusion
IPSec est un système très complet qui peut répondre à beaucoup de besoins en matière de sécurité
et s’adapter à de nombreuses situations. Sa conception en fait un système très sûr et sa nature de
norme garantit l’interopérabilité entre les équipements de différents fournisseurs. Ces avantages,
couplés à la prédominance grandissante du protocole IP, vont certainement faire d’IPSec un acteur
important de la sécurité des réseaux informatiques. Il lui manque encore, pour être utilisé à grande
échelle, un peu de maturité et surtout un système de gestion centralisée et dynamique des
politiques de sécurité. Les avancées actuelles dans ce domaine laissent à penser qu’il ne s’agit que
d’une question de temps avant qu’un tel système ne voie le jour. L’apparition d’infrastructures à
clefs publiques fonctionnelles et reconnues est également indispensable pour une utilisation
pratique et répandue d’IPSec.
39
CHAPITRE 4
SIMULATION D’UN VPN D’ACCES SOUS GNS3
La topologie est composée de 2 routeurs Cisco c3725, 2Switch, un nuage simulant l’accès à
internet et 3 machines virtuelles sous VirtualBox. Le serveur RADIUS est installé sur une
machine Linux pour une raison de sécurité. Chaque routeur sont reliés au nuage par des liaisons
série et reliés aux ordinateurs par des liaisons FastEthernet. On a donc 2 réseaux locaux différents
et reliés à Internet dont l’un représente le réseau intranet de l’entreprise par exemple et l’autre le
réseau où l’utilisateur distant est connecté (à la maison, dans un Cyber café…).
Réseau de l’entreprise :
− Adresse : 192.168.1.0 ;
− Passerelle : 192.168.1.254 ;
− Masque : 255.255.255.0 ;
− Broadcast : 192.168.1.255 ;
− PC Entreprise : 192.168.1.1 ;
− Serveur RADIUS : 192.168.1.253.
40
Réseau distant :
− Adresse : 172.16.1.0 ;
− Passerelle : 172.16.1.254 ;
− Masque : 255.255.0.0 ;
− Broadcast : 172.16.255.255 ;
− Client VPN : 172.16.1.1.
Pour Installer le paquet freeradius, il faut bien s’assurer que l’ordinateur est connecté à internet ou
que l’on dispose des 8 DVD d’installation de Debian. L’installation peut être différente selon la
version de freeradius et la distribution de Linux utilisée. Ici, nous avons utilisé Debian Squeeze
qui est une distribution majeure sous sa version stable 6.0.
Il faut ensuite ouvrir une console en mode administrateur et entrer la commande suivante :
41
Apres l’installation, vérifions que le dossier contenant les fichiers utilisés par freeradius a été créé,
allons dans le répertoire /etc/freeradius et entrons ensuite la commande « ls » :
Pour ajouter un client, on doit se situer dans le répertoire de freeradius et éditer le fichier
clients.conf Insérer l’adresse IP du client, la clé partagée (secret), son nom (shortname) et le type
de client (nastype) dans le fichier de configuration et sauvegarder :
42
4.2.3. Ajouter un utilisateur
Dans le même répertoire, éditer le fichier users et insérer sur une ligne le nom d’un utilisateur et
son mot de passe. Par exemple :
Apres avoir édité toutes les fichiers de configurations, enregistrer les modifications par la
commande « ldconfig » et redémarrer le daemon de freeradius avec la commande :
# /etc/init.d/freeradius restart
On peut maintenant tester localement sur le port 1812, l’authentification de l’utilisateur ajouté ci-
ci
dessus avec le client « testing123 » que freeradius
ius utilise pour un test local, insérons la commande
suivante sur la console :
43
Figure 4.06 : Test local du serveur
Le message « Access-Accept
Accept packet » indique que l’utilisateur est dans la liste et que le serveur
fonctionne normalement. Le serveur est donc prêt pour authentifier les utilisateurs
utilisateur qui envoient
des requêtes au NAS.
Apres avoir entré toutes les commandes nécessaires pour que le routeur Cisco soit accessible par
telnet et SSH, lancer l’application SDM et entrer l’adresse IP ou le nom de l’interface du routeur
qui est relié à la machine.
44
Si tout est configuré normalement, une fenêtre d’authentification apparait, l’utilisateur doit entrer
son nom et son mot de passe.
Si le nom et le mot de passe entrés sont corrects, la fenêtre principale de SDM s’ouvre. Cette
fenêtre affiche les informations sur le routeur et le résumé de sa configuration comme le model du
routeur, la version d’IOS utilisée et la version de SDM utilisée…
45
Lançons la configuration du serveur VPN en allant dans l’onglet « Configure » puis dans la
section VPN et lancer le guide de configuration de « Easy VPN Server ».
46
Sélectionner l’interface du routeur à utiliser pour le tunnel virtuel du serveur VPN, l’adresse IP de
cette interface sera ensuite l’adresse du serveur VPN :
L’authentification d’utilisateur peut être configurée localement sur le routeur, sur un serveur
externe ou les deux en même temps. Ici on a choisi l’authentification RADIUS, on doit alors
indiquer les informations sur le serveur RADIUS qui se chargera de l’authentification. Les
paramètres à entrer sont :
− L’adresse IP du serveur ;
− Le port d’autorisation ;
− Le port de comptabilité ;
− Le temps d’expiration ;
− La clé partagée.
La clé partagée est la même que celle configurée pour le client RADIUS dans le fichier de
configuration du serveur RADIUS (users). Cette clé sera aussi utilisée pour la création de groupe
d’utilisateur et doit être connue par les clients VPN.
48
Figure 4.15 : Information sur le serveur RADIUS
Vient ensuite la création de groupe d’utilisateur, les paramètres à entrer sont les suivants :
− Le nom du groupe ;
− La clé partagée ;
− La plage d’adresse attribuée dynamiquement aux clients VPN qui vont connecter au
réseau ;
− Le masque de sous-réseau qui est optionnel ;
− Le nombre maximum de connexion autorisé.
49
Figure 4.16 : Ajout d’un groupe d’utilisateur
Une récapitulation de tous les réglages effectués est affichée avant d’envoyer les commandes au
routeur. On peut encore revenir en arrière pour faire une modification en cas d’erreurs.
50
Sinon, l’envoi des commandes peut commencer et un message apparait si tout s’est passé
correctement :
Le serveur est maintenant créé mais le tunnel IPSec n’a pas encore été établi tant qu’un client ne
se connecte au réseau. On peut ajouter autant de serveur selon le besoin de l’entreprise, un serveur
affiché dans la liste peut être modifié ou même supprimé.
51
4.4. Se connecter au serveur avec Cisco VPN Client
Apres l’installation de Cisco VNP Client, lancer l’application pour accéder à sa fenêtre
principale :
Le client peut importer une connexion préconfigurée ou créer une nouvelle connexion en cliquant
sur « New », une fenêtre apparait et demande les informations sur le serveur VPN et le groupe
d’utilisateur correspondant :
− Le nom de la connexion ;
− La description de la connexion ;
− L’adresse IP du serveur VPN ;
− Le nom du groupe d’utilisateur ;
− La clé partagée ;
− Le certificat d’authentification (facultatif).
On peut établir plusieurs connexions sur des serveurs VPN différents en même temps.
52
Figure 4.21 : Configuration d’une nouvelle connexion VPN
Cliquer ensuite sur « Save » et la connexion va être affichée dans la liste des connexions
entrantes :
53
Etablir la connexion en cliquant sur « Connect » ou en double cliquant sur la connexion dans la
liste, si tous les paramètres entrés sont corrects, une fenêtre d’authentification va apparaitre pour
que l’utilisateur entre son nom et son mot de passe et le nom de domaine (optionnel). L’utilisateur
ne peut pas accéder à cette fenêtre s’il ne connait pas la clé partagée du groupe d’utilisateur.
Avec le bon nom et mot de passe, un petit cadenas jaune indique que la connexion est établie.
L’utilisateur distant est désormais connecté au réseau VPN et donc connecté au réseau local de
son entreprise. On peut maintenant vérifier l’état de la connexion dans le menu Status, la fenêtre
ci-dessous affiche l’adresse du serveur VPN et l’adresse du client ainsi que le tunnel
correspondant.
54
4.5. Résultat de la simulation
Apres la connexion d’un client au serveur VPN, un tunnel IPSec a été créé et on peut bien vérifier
qu’il fonctionne correctement (Tunnel Status : Up).On peut voir la progression de l’encapsulation
et désencapsulation des paquets IPSec qui circulent sur le trafic. La progression des paquets
erronés envoyés et reçues par le routeur et aussi disponible.
Le client est maintenant affiché dans la liste des clients connectés au réseau dans le groupe ESPA,
il a reçu le premier adresse dans la plage configurée sur le serveur : 192.168.1.100, cet adresse lui
a été attribué dynamiquement. La communication entre le entre les deux cotés du tunnel est en
mode « full duplex », les hôtes du réseau local de l’entreprise peuvent envoyer des flux vers le
client VPN comme si ce dernier était dans le même réseau qu’eux.
On peut donc dire que le client est « virtuellement » dans le réseau local de son entreprise, il peut
désormais accéder en toute sécurité à tous les ressources de son entreprise comme le partage de
fichier, l’imprimante ou le bureau à distance.
55
CONCLUSION GENERALE
Les VPN est l’une des applications du tunneling pour relier en pseudo-local les nœuds ou réseaux
géographiquement distants. Il permet ainsi d’assurer le transit et l’intégrité des paquets entre les
nœuds d’un grand réseau et aussi sécuriser et protéger les données lorsque ces derniers passent par
des réseaux publics.
De plus, le concept de VPN et une solution moins coûteuse et facile à déployer pour
l’interconnexion de sites distants. Les routeurs Cisco intègrent un serveur VPN puissant, adapté
pour de grandes utilisation, avec une gestion de groupe d’utilisateurs et de connexion intégré et
facile à mettre en œuvre.
Le protocole RADIUS joue un rôle important au niveau de la sécurité des VPN, il offre une
authentification fiable, centralisé et adapté à tous types de serveur d’accès réseaux. Son seul
inconvénient c’est qu’il est lourd à mettre en place et donc limité.
D’un autre coté, IPSec assure une meilleure gestion du trafic et de sa sécurité. Du point de vue des
VPN, on voit tout de suite l’impact que ce protocole peut avoir. En effet, on n’inclut plus la
couche de chiffrement à niveau supérieur mais directement dans IP. Il en va de même pour une
liaison entre deux hôtes. C’est donc une avancé non négligeable et cela explique pourquoi,
aujourd’hui, IPSec est très employé dans la gestion et sécurisation des VPN.
En bref, la sécurité des VPN est un vaste domaine, on a pu étudier une partie de cette complexité
et de la transcrire d’une manière assez large pour en tirer une solution. La sécurité des VPN
impose donc la prise en considération de nombreux paramètres. Une analyse fine des besoins doit
être effectuée en tenant compte de ceux exprimés mais aussi en anticipant, autant que possible, les
besoins futurs.
56
ANNEXES
Cet outil est parfait pour se préparer aux certifications Cisco CCNA, CCNP, CCIP ou CCIE. C’est
l’outil idéal pour un test autour des protocoles de routage comme RIP et OSPF.
Afin de permettre des simulations complètes, GNS3 est fortement lié avec:
− Dynamips, un émulateur d'image IOS qui permet de lancer des images binaires IOS
provenant de Cisco Systems ;
− Dynagen, une interface en mode texte pour Dynamips.
GNS3 est un logiciel libre qui fonctionne sur de multiples plateformes, incluant Windows, Linux,
et Mac OS X.
GNS3 est une bonne solution pour la mise en place de labos virtuels, mais nécessite une machine
avec de bonnes ressources pour émuler plusieurs équipements en simultané.
57
ANNEXE 2 : PRESENTATION DE CISCO SDM
Cisco SDM (Secure Device Manager) est un outil d’assistance de configuration de routeur de type
IOS à partir d’une interface web et qui permet de configurer les interfaces LAN et WAN, le
routage, le NAC (Network Admission Control), le NAT (Network Address Translation), les
firewalls, l’IPS (Intrusion Prevention System), les VPN (Virtual Private Network), et bien d'autres
dispositifs sur le routeur.
Cisco SDM exige l'environnement JRE (Java Runtime Environment). Les versions suivantes sont
soutenues:
− JRE 1.5_09 ;
− JRE1.4.2_08 ;
− JRE 1.5.0_06 ;
− JRE 1.5.0_07 ;
− JRE 1.6.0_02.
58
ANNEXE 3 : PRESENTATION DE CISCO VPN CLIENT
Cisco VPN Client est un client VPN permettant de se connecter aux concentrateurs VPN Cisco. Il
est utilisé dans le cadre d'infrastructures gérant des milliers de connexions, on le retrouve donc le
plus souvent dans les grandes entreprises et de nombreuses universités.
Le client VPN fourni par Cisco a plusieurs fois changé de nom au cours de son histoire. De Cisco
Secure VPN Client à sa version initiale, il a été renommé en Cisco VPN 3000 Client pour la
version 2, puis finalement en Cisco VPN Client pour les versions 3 et suivantes.
version 12.4
no service password-encryption
hostname SERVEUR_VPN
boot-start-marker
boot-end-marker
aaa new-model
59
!
memory-size iomem 5
ip cef
no ip domain lookup
ip auth-proxy max-nodata-conns 3
ip admission max-nodata-conns 3
enrollment selfsigned
subject-name cn=IOS-Self-Signed-Certificate-4279256517
60
revocation-check none
rsakeypair TP-self-signed-4279256517
archive
log config
hidekeys
encr 3des
authentication pre-share
group 2
key 123456
pool SDM_POOL_1
netmask 255.255.255.0
61
isakmp authorization list sdm_vpn_group_ml_2
virtual-template 2
interface FastEthernet0/0
duplex auto
speed auto
interface Serial0/0
interface FastEthernet0/1
no ip address
shutdown
62
duplex auto
speed auto
interface Serial0/1
no ip address
shutdown
ip unnumbered Serial0/0
router rip
version 2
network 192.168.1.0
network 220.86.19.0
ip forward-protocol nd
ip http server
ip http secure-server
63
ip radius source-interface FastEthernet0/0
radius-server host 192.168.1.253 auth-port 1812 acct-port 1813 timeout 60 key 123456
control-plane
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0 4
privilege level 15
end
64
BIBLIOGRAPHIE
[2] J. Habraken et M. Hayden, « Les réseaux », Pearson Education, 3è édition, Juillet 2007.
[3] L.E. Randriarijaona, « Réseaux TCP/IP », Cours L3 – TCO, Dép. TCO.- E.S.P.A., A.U. :
2010-2011.
[9] J.P. Archier, « Les VPN : Fonctionnement, mise en œuvre et maintenance des réseaux privés
virtuels », ENI, Juin 2010.
[10] R. Bidou, « Introduction aux VPN », Multi-System & Internet Security Cookbook,
Décembre 2003.
[11] http://www.commentcamarche.net/authentification/radius.php3.
[12] S. Bordères, « Méthodes d’authentification avec un serveur RADIUS », ResInfo, Mars 2007.
[14] J. Ventura, « Présentation sur le tunneling utilisant SSL, SSH, IPSec », TCOM, Juillet 2002.
[15] S. Kent et K. Seo, « Security architecture for the Internet Protocol (IPSecv2) », RFC 4301,
IETF, 2005.
65
RENSEIGNEMENTS
Nom : MAHANDRIRANTOSOA
Prénom : Miharimanana
Téléphone : 0344571734
E-mail : mahandrirantosoa@gmail.com
Nombre de pages : 67
Nombre de figures : 47
Nombre de tableaux : 7
66
RESUME
Ce présent travail concerne la sécurité des réseaux VPN avec IPSec et RADIUS, on a pu étudier
chacun de ces protocoles. Un exemple de déploiement de VPN d’accès a été simulé avec des
équipements Cisco sous le simulateur de réseau GNS3. L’utilisation des outils Cisco SDM et
Cisco VPN Client a permis une bonne administration de ces réseaux. Le résultat est convaincant,
ces deux protocoles constituent une meilleure garantie de sécurité disponible dans l’état actuel des
réseaux VPN.
ABSTRACT
The present work concerns the security of VPN networks with IPSec and RADIUS, we was able
to study each of these protocols. An example of access VPN deployment was simulated with
Cisco equipment in the network simulator GNS3. The use of Cisco SDM and Cisco VPN Client
tools has the proper administration of these networks. The results are convincing, both protocols
are a better guarantee of security available in the current state of VPN.
67