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
Réseau
IP / IPSec
Liaison Physique
UDP (ESP, AH)
PPTP, L2TP, …
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
Solutions assimilables à des reverse proxy HTTPS (i.e. tunnel SSL et redirection de port) Usage abusif du terme VPN ?
Secteur en plein essor !
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
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)
Standard Web browser
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 authentication methods; embedded PKI available from some vendors
Supports multiple authentication methods; use of stron authentication requires extra cost and limits access devices
Security implications
Extends security infrastructure to remote access; enhancesendpoint security with integrated security (e.g. personal firewall)
Limited control over information access and client environment; good for accessing lesssensitive information
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 -based (SSL) Enterprise CPEbased VPNs
Provider Provisioned
CPE-based
Enterprise CPEbased VPNs
Dedicated VPN appliance Web server & s/w agents
Layers 4-7 (transport layer+)
Network-based
Provider Provisioned
RFC2547 (MPLS/BGP) Virtual Router Technology
Dedicated VPN appliance Firewall with VPN add-on Check Point -based appliance VPN Router
L3 routing (IP)
Source Burton Group ( d’après Nortel)
Ethernet VPN's ATM/FR VPN's (leveraging MPLS)
Martini draft MPLS ATM (point to point) Frame Relay Optical Ethernet
L2 switching (packet/cell/frame)
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
Server B
VPN Workstation A
Internet
Security gateway 1
Security 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
Workstation A
B
Internet Security destinationgateway 1
source A
B
Security gateway 2 encrypted
data 1
2
A B
data
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 Phase d’initialisation
Phase 1 Négociation des SA IKE
Secret partagé
Main mode
Phase 2
(Source FT R&D)
ou
Agressive mode
Quick mode
Négociation des SA pour AH et ESP
Phase opérationnelle
Certificat
AH
ESP
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 172.16.10.x 100.10.10.2
100.10.10.1
Passerel le
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