Vous êtes sur la page 1sur 60

Réseaux privés virtuels

(VPN)
Michel Le Tohic –ENST Bretagne
Plan

 Introduction
 Classification
 VPN IPSec entre un nomade et une
passerelle
Introduction

Crédits – Généralités – Notion de chiffrement –


Notion d’authentification – Notion de tunnel –
Concept de VPN
Introduction

 Crédits
 Ce support doit beaucoup aux articles ou présentations
suivantes :
 « VPNs Mean Business », D. Kosiur (Burton Group)
 « Technologies VPN », M. Achemlal & M. Dudet (FTR&D)
 « MPLS IPSec SSL comparison » (Cisco)
 La revue MISC n° 10 entièrement consacrée aux VPN
 « IPSec : la sécurité au niveau IP », J. Cartigny (Lille 1)
 « Virtual Private Network Applications », A. Steffen (ZHW)
 « Les VPN SSL : Principes et comparaison avec IPSec », Wilfrid Rabot
(FTR&D)
 Le TP doit beaucoup…
 À un groupe d’étudiants de DESSISA en projet avec moi et à Gilles
Guette qui a accepté de me succéder 
Introduction

 Généralités

Les réseaux publics (i.e. Internet) en tant
qu’alternative aux liaisons spécialisées
 Solutions meilleure marché
 Solutions non-sécurisées par nature

Usage de « tunnels »
 Solutions permettant d’étendre le réseau interne
 Solutions permettant d’encapsuler les données à
transporter
 Solutions généralement associées à une
sécurisation des échanges (authentification,
chiffrement)
Introduction

 Notion de chiffrement

Supposée connues
 Opérations de chiffrement/déchiffrement beaucoup
plus lourdes en cas de chiffrement asymétrique
 Nécessité d’une infrastructure de gestion des clés
en cas de chiffrement asymétrique (PKI)
 Problème de diffusion sécurisée de la clé en cas de
chiffrement symétrique

Chiffrement symétrique (rappel)
 Clé unique utilisée à la fois pour le chiffrement et le
déchiffrement
Introduction

 Notion de chiffrement (suite)



Chiffrement asymétrique (rappel)
 Clé publique du destinataire (diffusée largement)
utilisée pour le chiffrement du « message »
 Clé privée du destinataire (confidentielle !) utilisée
pour le déchiffrement du « message »
 Clé privée de l’émetteur utilisée pour signer le
« message »
 Clé publique de l’émetteur utilisée pour authentifier
le « message »
Introduction

 Notion d’authentification

Authentification des données
 On vient de le voir (chiffrement)

Authentification des connexions
 Connexion entre sites distants ⇒ s’assurer que les
équipements d’interconnexion (routeurs, firewall, …
etc) sont bien ceux qu’ils prétendent être
 Connexion entre nomade et site distant ⇒ s’assurer
que l’utilisateur est bien celui qu’il prétend être

Certificat X509
 Clé publique + signature par une CA + infos diverses
 Standard de fait
 Applications possibles : IPSec, TLS, …
Introduction

 Notion de tunnel

Connexion réseau bi-directionnelle sécurisée entre
2 systèmes | sites
 Aspects sécurité déjà évoqués (chiffrement,
authentification, …etc.)

Aspect réseau ⇒ tunnel à quel niveau ?
 Prise en charge des problèmes de routage
(transparent pour l’utilisateur final)
 Cf. plus avant
Introduction

 Concept de VPN

Fournir un accès à distance transparent aux
ressources du système d’information
 Malgré la traversée d’un réseau public (Internet)
 Avec les risques inhérents (intrusion)

Utilisation possibles
 Télé-travail (Road Warrrior)
 Connexion de sites distants (eg. succursale)
 Externalisation (de l’exploitation du SI)
 Offres commerciales (opérateurs télécoms)
Introduction

Source Décision Micro & Réseaux


Introduction

 Concept de VPN (suite)



« Client » et « Serveur » VPN ?
 Termes impropres quand on les applique à IPSec

Client VPN
 Équipement initiant une connexion VPN vers un serveur
VPN.

Eg. un ordinateur qui obtient une connexion VPN accès distant
ou un routeur qui obtient une connexion VPN routeur à routeur.

Serveur VPN
 Synonyme : passerelle, concentrateur
 Équipement qui accepte des connexions VPN de clients
VPN.

Un serveur VPN peut fournir une connexion VPN accès distant
ou une connexion VPN routeur à routeur.
Introduction

Source Décision Micro & Réseaux


Classification

Classification des VNP suivant le niveau (au


sens OSI du terme) – Classification des VNP en
fonction des équipements mis en œuvre
Classification

 Classification des VPN selon le niveau (au


sens OSI du terme)

VPN de niveau 2 (couche liaison)
 Impliquent la configuration d’équipements au
niveau de l’infrastructure réseau (de l’opérateur)

VPN de niveau 3 (couche réseau)
 Impliquent la configuration des équipements
d’interconnexion des entreprises

VPN de niveau >= 4 (couche transport → session)
 Transparents mais sans garantie en terme de QOS
VPN (logiciels) et couche OSI

Application HTTP-s, … IKE (ISAKMP, …)

Présentation
Session SSL / TLS
Transport TCP UDP
Réseau IP / IPSec (ESP, AH)

Liaison PPTP, L2TP, …


Physique
Classification

 Classification des VPN en fonction des


équipements mis en œuvre

VPN « réseau » (Network Based)
 Destinés exclusivement aux VPN site à site
 Fonctions VPN implémentées en cœur de réseau par
l’opérateur
 Possibilité de garantie de QOS
 Différentes techniques utilisées…
Classification
 Des circuits virtuels basés sur Frame Relay ou ATM
 Une technologie phare en VPN IP : MPLS

Combinable au besoin avec IPSec

Site-to-Site MPLS-Based VPN

Source CISCO
Classification

 Classification des VPN en fonction des


équipements mis en œuvre (suite)

VPN « client » ou CPE (Customer Premise
Equipment Based)
 Destinés aussi bien aux VPN site à site comme aux
VPN accès distant
 Fonctions VPN implémentées sur des passerelles
(routeurs, firewall, …etc.) interconnectant les sites
et le réseau public (Internet)
 Pas de gestion de QOS
 Pléthore de solutions !
Classification
 Différentes technologies de « VPN légers » limitées
et incompatibles entre elles :

GRE : origine Cisco ; solution générique ; tunnel non chiffré

IPIP : IP sur IP ; solution simpliste ; tunnel non chiffré

L2F : origine Cisco ;

PPTP : origine Microsoft ; PPP encapsulé dans GRE ;
standard du monde Windows (avant l’arrivée d’IPSec)

L2TP : fusion entre L2F et PPTP ; standard de fait

CIPE :

TUN/TAP

…etc.
Classification
 Une technologie standard garantissant la
sécurisation des échanges : IPSec

… mais complexe à mettre en œuvre 

… mais problématique avec NAT

Site-to-Site IPSec-Based VPN

Source CISCO
Classification

… et nécessitant un « client IPSec »

Remote Access IPSec-Based VPN

Source CISCO
Classification

 Classification des VPN en fonction des


équipements mis en œuvre (suite)

VPN « session » (Session Based)
 Solutions plus connues sous le nom de VPN SSL

Secteur en plein essor !
 Solutions assimilables à des reverse proxy HTTPS
(i.e. tunnel SSL et redirection de port)
 Usage abusif du terme VPN ?

Accès à un portail d’ applications et non au réseau interne

Excepté OpenVPN ?
 Convient bien aux accès distant
Classification

Aucune fonction VPN à implémenter côté client (un simple
navigateur web suffit)

Remote Access SSL-Based VPN

Source CISCO
Comparaison IPSec versus SSL
IPSec VPN SSL VPN
Application accessibility ALL IP applications (Web Primarily Web
applications, enterprise, applications
e-mail, VoIP and
multimedia
Software required IPSec client software Standard Web browser
Information exposure Only designated people / Access from everywhere
computers are allowed (e.g. internet kiosks).
access Information can be left
behind (intentionnaly or
unintentionnaly)

Level of client security Medium-High (depending Low-Medium (Medium


on client software being can be achieved via
used) dedicated software –
non-clientless solution)

(Source Chek Point Software)


Comparaison IPSec versus SSL
(suite) IPSec VPN SSL VPN
Scalability Highly scaleable, proven Highly scaleable, easy to
in tens of thousands of deploy
customer deployments

Authentication methods Supports multiple Supports multiple


authentication methods; authentication methods;
embedded PKI available use of stron
from some vendors authentication requires
extra cost and limits
access devices
Security implications Extends security Limited control over
infrastructure to remote information access and
access; enhancesend- client environment; good
point security with for accessing less-
integrated security (e.g. sensitive information
personal firewall)

Ideal for Secure employee access; External Web customer


site-to-site access access
(Source Chek Point Software)
Classification

 En résumé…
 Pour les solutions de type VPN IPSec
 Avantages :

Accès complet au réseau local

Interopérabilité
 Inconvénients

Lourdeur et complexité de mise en oeuvre

Gestion du logiciel « client » (installation, mise à jour, paramétrage)
 Pour les solutions de type VPN SSL
 Avantages

« Pas » de logiciel client

Vision portail applicatif
 Inconvénients

Limité aux applications Web (ou « Webifiées »)

Limitations en terme de fonctions évoluées
Synthèse des solutions VPN
VPNs

Session
CPE-based Network-based
-based (SSL)

Enterprise CPE- Provider Enterprise CPE- Provider RFC2547 Ethernet VPN's ATM/FR VPN's
based VPNs Provisioned based VPNs Provisioned (MPLS/BGP) (leveraging MPLS)

Virtual Router Martini draft MPLS ATM


Dedicated VPN appliance Dedicated VPN appliance Technology (point to point) Frame Relay
Web server & s/w agents Firewall with VPN add-on Optical Ethernet
Check Point -based appliance
VPN Router

Layers 4-7 (transport layer+) L3 routing (IP) L2 switching (packet/cell/frame)

Source Burton Group ( d’après Nortel)


VPN IPSec entre un
nomade et une passerelle
IPSec – Méthodes d’authentification –
Présentation du TP
IPSec

 Généralités

Aspects théoriques supposés connus
 … donc simple rappels

Protocole le plus célèbre pour la mise en place de VPN
 Plus exactement : ensemble de protocoles
 Extrêmement diffusé
 Standard dans IPv6

Ensemble de protocoles couvrant deux aspects
 Encapsulation des datagrammes IP dans d’autres
datagrammes IP

⇒ services de sécurité (intégrité, confidentialité, …etc.)
 Négociation des clés et des associations de sécurité

⇒ utilisées lors de l ’encapsulation
IPSec

 2 protocoles définis pour l’encapsulation



AH ⇒ intégrité et authentification des paquets IP
 Implémentation optionnelle (décision de l’IETF)
 Protection contre le rejeu à prévoir ?
 Ne passe pas le NAT

NAT-Traversal développé pour l’occasion

ESP ⇒ idem plus confidentialité (par chiffrement)
 Protection (limitée) contre l’analyse du trafic ?

Utilisation conjointe possible de AH et ESP
 Optimale ?
 Contrôle d’intégrité et d’authentification sur
l’ensemble du paquet IP via AH
 Données chiffrées via ESP
IPSec

 2 protocoles définis pour l’encapsulation


(suite)

AH comme ESP sont utilisables en mode transport
ou en mode tunnel

Utilisation en mode transport
 Utile pour sécuriser les communications de bout en
bout

eg. de PC à PC
 Adresses source et destination « visibles » sur le
réseau public (Internet)
 Données cryptées si ESP
 Les réseaux internes n’ont pas besoin d’être sûrs

… et des passerelles de sécurité ne sont pas requises
IPSec en mode transport

VPN Server B

Workstation A

Internet

Security Security
gateway 1 gateway 2

encrypted

A B data
IPSec

 2 protocoles définis pour l’encapsulation


(suite)

Utilisation en mode tunnel
 Méthode courante pour sécuriser les échanges
entre passerelles
 Adresses source et destination «  invisibles » sur le
réseau public (Internet)
 Données cryptées si ESP
 Les réseaux internes sont supposés sûrs
IPSec en mode tunnel

Server B
VPN
A B data
Workstation A

Internet

Security Security
source destinationgateway 1 gateway 2
A B data encrypted

1 2 A B data
IPSec

 2 protocoles définis pour l’encapsulation


(suite)

Utilisation conjointe possible de AH et ESP
 Optimale ?
 Contrôle d’intégrité et d’authentification sur
l’ensemble du paquet IP via AH
 Données chiffrées via ESP
Modes IPSec

Mode tunnel

Mode transport

Mode nesting
Modes IPSec
IPSec

 1 protocole pour l’échange de clés



IKE ⇒ gestion automatique des associations de
sécurité
 Une usine à gaz 

Complexité due à l’emploi de mécanismes de chiffrement
asymétrique (i.e. gestion des clés et de leur distribution)

… mais manuellement c’est pire !

IKEv2 est censé améliorer les choses
 Concrétisation du cadre générique d’échange de clés
et de négociation des associations de sécurité (SA)
décrites dans ISAKMP

Association de sécurité ⇒ somme d’informations caractérisant
une relation unidirectionnelle sécurisée entre 2 machines
(paramètres d’authentification, paramètres de chiffrement,
temps de vie, mode IPSec, …etc.)

Les SA sont stockées dans une base de données (SAD)
IKE

(Source www.frameip.com)
IKE
IPSec

 1 protocole pour l’échange de clés (suite)



SPD ⇒ base de données des règles de sécurité
 Spécifie pour chaque datagramme IP quels opérations
effectuer et au besoin via quels services de sécurité

Géré majoritairement au niveau de chaque passerelle… mais les
opérateurs de télécommunications oeuvrent à la centralisation
des SPD

Chaque entrée du SPD est constitué d’un certain nombre de
paramètres appelés sélecteurs
 Le trafic IP est rattaché à une SA spécifique qui s’appuie
sur la SPD

En pratique : le moteur à 2 temps IKE 
 1ère phase : négociation d’une SA pour protéger les
échanges ultérieurs
 2ème phase : échanges relatifs à l’établissement de
nouvelles SA protégés par la SA initiale
Phases IKE
Secret
Phase d’initialisation Certificat
partagé

Phase 1 Main mode


ou Agressive mode
Négociation des SA IKE

Phase 2
Négociation des SA
Quick mode
pour AH et ESP

Phase opérationnelle AH ESP

(Source FT R&D)
IKE

(Source FT R&D)
IPSec

 En résumé…

« Protocole » sûr, flexible, standard, complexe
 Natif sous Windows 2000 et ultérieurs

L2TP est également supporté
 Natif sous Solaris 8 et ultérieurs
 Non natif côté Unix libres mais diverses implémentations
(NB : intégration prévue dans les kernel futurs)

FreeS/WAN et ses descendants (Linux)

Kame (FreeBSD, NetBSD, MacOSX)
 Pléthore d’ implémentations propriétaires

Souvent incluse dans du matériel (Cisco, 6Wind, …etc)
 Obligatoire avec IPv6
 Pose des problèmes avec NAT/PAT

Solution NAT-Traversal
IPSec

 FreeS/WAN et ses descendants



Implémentation d’IPSec pour Linux
 Utilise le mode tunnel et l’encapsulation au format ESP

Configuration
 Fichier ipsec.secrets
 Fichier ipsec.conf
 Répertoire ipsec.d

Fonctionnement en mode noyau
 KLIPS => Kernel IPSec Support
 Pluto => négociation ISAKMP

Support X509… variable

Développement interrompu courant 2004
 2 fork : Strongswan et Openswan
FreeS/WAN et ses descendants
Méthodes d’authentification

 Authentification des nomades auprès de


la passerelle

Mécanisme nécessaire
 Pour être certain que l’échange de données se fera
entre 2 entités connues et autorisées

Deux modes
 Mode « manuel »

Clefs et algorithmes utilisés définis une bonne fois pour
toutes !

À proscrire !
 Mode « automatique »

Échanges de clés (IKE)
Méthodes d’authentification

 Authentification des nomades auprès de la


passerelle (suite)

Différentes méthodes (dont certaines propres à
certains systèmes d’exploitation)
 Clefs RSA
 PSK (Pre Shared Keys)
 Kerberos (=> Windows)
 DNS « opportunistic encryption » (=> FreeS/Wan)
 Certificats X509

Certificats X509
 Méthode présentant la meilleure interopérabilité
 Supporté par Windows 2000 et supérieur
 Supporté (moyennant patch) par Linux
Présentation du TP

 Réalisation d’un VPN entre un « nomade »


Windows et une passerelle Linux

Cette connexion permettra d’atteindre un serveur
Web situé sur un Intranet fictif
 Découpage en plusieurs phases :

Rapatriement des logiciels nécessaires

Configuration du réseau

Utilisation du sniffer réseau ettercap

Mise en œuvre de FreeS/WAN

Création de l’autorité de certification (CA) et des
certificats

Établissement du VPN
Présentation du TP

 Packages rpm et autres fichiers


nécessaires

Packages FreeS/WAN ou Openswan préinstallé sur
RedHat 9.0
 Installation de IPSec

Packages ettercap
 Sniffer réseau

Fichiers de configuration
 On utilisera pas les scripts mis au point dans le
cadre d’un projet étudiant de DESSISA… afin de
mieux comprendre ce que l’on fait 
Présentation du TP

 Configuration du réseau

Chaque tablée (de la salle i207) symbolise un
ensemble « nomade connecté à une passerelle »

Attention aux problèmes de rebouclage !!!
 Connexion directe par câble croisé entre eth0 du
« nomade » et eth0 de la passerelle (symbolise
l’Internet)
 Connexion eth1 du « nomade » débranchée
 Connexion eth1 de la passerelle reliée à l’intranet
(réseau local)
Présentation du TP

Configuration du « nomade »
 Adresse à fixer sur eth0

100.10.10.2

Configuration de la passerelle
 Adresse à fixer sur eth0

100.10.10.1
 Adresse déjà fixé sur eth1 (à vérifier)

172.16.10.x

Test de votre réseau
 Penser au relayage des paquets !!!
 Pour le reste : ping, route, … etc.
Schéma

172.16.10.1

Switch Serveur Web


Tablée

Nomade Passerel
le
172.16.10.x

100.10.10.2 100.10.10.1
Présentation du TP

 Utilisation d’un sniffer de mot de passe



Installation de ettercap
 Différents rpm

Connexion au serveur Web depuis le « nomade »
 URL = http://hathor /test
 On sniffera sur la passerelle
Présentation du TP

 Mise en oeuvre de FreeS/WAN



Installation de FreeS/WAN…
 Différents rpm pré-patchés

… ou d’Openswan
 Depuis les sources (incorporant le support X509, …etc.)
avec recompilation du noyau

Vérification de FreeS/WAN ou d’Openswan
 Démarrage et vérification (Cf. la commande ipsec)
Présentation du TP

 Création du CA et des certificats



À la main !
 Pour mieux comprendre ce que l’on fait

Installation de openssl-perl
 Pour disposer du script CA

Création de l’autorité de certification (CA)
 Utilisation du script CA
 ⇒ création d’un répertoire contenant la clé publique
de l’autorité de certification (CA)

Création d’un certificat pour la passerelle
 Utilisation du script CA
Création du CA et des certificats

Création d’un certificat pour le « nomade »
 Utilisation du script CA

Conversion au format p12 du certificat pour le
nomade
 Le format supporté par Windows
 Utilisation de openssl

Placement des certificats sur la passerelle
 Arborescence /etc/ipsec.d

Placement des certificats sur le « nomade »
 Tout un outillage Windows à prévoir : MMC & Co
Placement des certificats
Fin de la présentation