Tunnels.ppt

23
Tunnels ESIL INFO 2005/2006 Sophie Nicoud [email protected] 2 Plan Pourquoi ? Comment ? Qu’est-ce ? Quelles solutions ? Tunnels applicatifs

description

tunnel VPN

Transcript of Tunnels.ppt

Page 1: Tunnels.ppt

1

Tunnels

ESIL INFO2005/2006Sophie Nicoud

[email protected]

2

Plan

• Pourquoi ?• Comment ?• Qu’est-ce ?• Quelles solutions ?• Tunnels applicatifs

Page 2: Tunnels.ppt

2

3

Tunnels, pourquoi ?• Relier deux réseaux locaux à travers un réseau non

sécurisé public tel que Internet • Extension de la zone de confiance du réseau local• Permettre aux utilisateurs nomades d’accéder au

réseau local• Pourquoi faire ?

• Accéder à l’intranet,• Utiliser la messagerie• Accéder aux partages Windows,• Utiliser les logiciels avec licence,• Accéder à la bibliothèque,• …

4

Tunnels, comment ?

• Sécuriser les communications• Remplacer ou sécuriser les protocoles ne

chiffrant pas l’authentification• Si besoin, chiffrer les données

⇒ Créer une connexion chiffrée entre les clients et les serveurs

⇒ Tunnels applicatifs, tunnels, VPN

Page 3: Tunnels.ppt

3

5

VPN, définition

VPN, Virtual Private Network – Réseau privé virtuel

• Consiste à faire transiter un protocole par l’intermédiaire d’un autre

• Aussi appelé protocole de tunneling (tunnel)• Cela consiste à créer un chemin virtuel du client

vers le serveur au travers un réseau public en chiffrant les communications

6

VPN, définition (2)

• Un VPN doit assurer:– L’authentification– L’intégrité– La confidentialité– La protection contre le rejeu (gestion des clés)– Éventuellement affecter une @ IP au client– Éventuellement la compression

Page 4: Tunnels.ppt

4

7

Utilisation

• Le VPN d’accès– Permettre aux utilisateurs nomades d’accéder au

réseau local

8

Utilisation (2)

• L’intranet VPN– Relier 2 (ou + ) sites distants entre eux

Page 5: Tunnels.ppt

5

9

Utilisation (3)

• L’extranet VPN– Ouvrir son réseau local à ses partenaires

10

Tunnels, comment ?

• Chiffrer à quel niveau de la couche OSI ?• Quelle authentification ?• Pour quelle utilisation ?

Couche application

Couche présentation

Couche session

Couche transport

Couche réseau

Couche liaison de données

Couche physique

Page 6: Tunnels.ppt

6

11

Quelles solutions ?

7. Application

6. Présentation

5. Session

4. Transport

3. Réseau

2. Liaison de données

1. Physique

PPTP, L2TP avec PPP

IPSEC

SSL/TLS

SSH

Modèle OSI

12

Tunnels de niveau 2, liaison de donnée

• Protocoles : PPTP et L2TP• PPTP (Point-to-Point Tunneling Protocol) a

été développé par Microsoft, 3Com, Ascend, US Robotics et ECI Telematics.

• L2TP (Layer Two Tunneling Protocol) est une évolution de Pptp et de L2F, reprenant les avantages des deux protocoles.

• L2F (Layer Two Forwarding) développé par Cisco est remplacé par L2TP.

Page 7: Tunnels.ppt

7

13

Tunnels de niveau 2, liaison de donnée

• PPTP et L2TP dépendent des fonctionnalités du protocole PPP (Point to Point Protocole)

• PPP est un protocole qui permet de transférer des données sur un lien synchrone ou asynchrone. – Il est full duplex et garantit l'ordre d'arrivée des

paquets. – Il encapsule les paquets IP, IPX et Netbeui dans des

trames PPP, puis transmet ces paquets encapsulés sur la liaison point à point.

14

Tunnels de niveau 2, PPTP

• PPTP (Point-to-Point Tunneling Protocol)– Microsoft authentification MS/CHAP V2– Microsoft chiffrement MPPE (RC4 40 ou 128 bits)– Protocole réseau qui encapsule des trames PPP

dans des datagrammes IP. – Compresse éventuellement les communications– PPTP crée ainsi un tunnel de niveau 3 défini par le

protocole GRE (Generic Routing Encapsulation)– Utilise les canaux de communication :

• Port TCP 1723• Protocole IP 47 (GRE)

Page 8: Tunnels.ppt

8

15

Tunnels de niveau 2, PPTP• Inconvénients :

– Faiblesse de l’authentification (attaques facile par force brute)– Mauvaise gestion des mots de passe dans les environnements

mixtes Windows 95/NT– Identification des paquets non implémentée (vulnérabilité à la

mascarade d’adresse)– Protocole IP 47 (GRE) pas toujours traité par certains routeurs

ce qui nécessite d’ouvrir tout IP vers le serveur VPN• Avantages :

– Facile à installer sur Windows– Utilise l’authentification Radius des Windows

• Utilisation :– VPN d’accès (nomades à site)

16

Tunnels de niveau 2, L2TP

• L2TP (Layer Two Tunneling Protocol)– Protocole réseau qui encapsule des trames PPP pour les

envoyer sur des réseaux IP, X25, relais de trames ou ATM

- Utilise le port UDP 1701

- Par défaut, utilise le protocole IPsec

Page 9: Tunnels.ppt

9

17

Tunnels de niveau 2, L2TP• Inconvénients :

– L2TP repose sur UDP qui lui même repose sur IP. Au total, l'empilement total des couches protocolaires est assez lourd : IP/PPP/L2TP/UDP/IP/Couche2

– Si utilisé avec IPsec, authentification à la machine, pas d’authentification de l’utilisateur => mettre en place Radius

Empilement des couches lorsque qu’un client surf sur le web

18

Tunnels de niveau 2, L2TP

• Avantages :– Facile à installer sur les Windows

• Pré-requis :– Authentification Radius à mettre en place

• Utilisation :– VPN d’accès (nomades à site)

Page 10: Tunnels.ppt

10

19

Tunnel de niveau 3, réseau

• IPsec (Ip Security Protocols) basé sur les mécanismes :– AH (Authentification Header) qui assure l'intégrité

et l'authenticité des datagrammes IP.– ESP (Encapsulating Security Payload) peut aussi

permettre l'authentification des données mais est principalement utilisé pour le cryptage des informations.

– IKE (Internet Key Exchange) protocole qui prend en charge la gestion des clés de cryptographie

20

Tunnel de niveau 3, IPSec• Le protocole IPsec chiffre les paquets IP et les encapsule

dans des nouveaux datagrammes IP • Chaque datagramme IP peut être

– signé (authentification et intégrité) et – chiffré (confidentialité) : entêtes IP (v4 et v6) spécifiques

• Utilisation de certificats possible• Entre équipements IP: Routeurs, Stations• Utilise 2 canaux de communication

– port UDP 500 (destination et source) pour échanger les clefs d ’authentifications et d’encryption

– protocol IP 50 (ESP) pour les données

Page 11: Tunnels.ppt

11

21

Tunnel de niveau 3, IPSec• Pré-requis :

– Une passerelle IPsec et IPsec sur les clients• Inconvénients :

– IPsec ne permet d’identifier que des machines et non pas des utilisateurs => Mettre en place un système d’authentification

– IPsec à cause de la lourdeur des opérations de cryptage/décryptage réduit les performances globales des réseaux. => L’achat de périphériques dédiés, coûteux est souvent indispensable. Nécessite un bon débit réseau.

• Avantages :– Les mécanismes de sécurité sont assez robustes– Souvent utilisé avec L2TP

• Utilisation :– Intranet, extranet (Sites à sites)

22

Tunnel de niveau 3, IPSecClient VPN Cisco

Cisco Easy VPN Remote featureis now available on Cisco 800, Cisco 1700, and Cisco uBR900 series routers, as well as Cisco PIX 501 firewalls and the Cisco VPN 3002 hardware client

Page 12: Tunnels.ppt

12

23

Tunnel de niveau 4, transport

• SSL/TLS (Secure Socket Layer/Transport Layer Security)

• SSL/TLS fonctionnent entre le protocole transport (TCP ou UDP) et le niveau applicatif pour sécuriser un protocole nativement peu sûr

• SSL/TLS permettent le chiffrement des communications et l’authentification des clients et des serveurs

• SSL/TLS sont indépendants du protocole avec lequel ils sont utilisés

• Applicables à toutes les applications sur TCP sans réécriture de celles-ci

24

Tunnel de niveau 4, SSL/TLS

• SSL/TLS permettent :– Authentification des extrémités – Confidentialité– Intégrité des échanges– Utilisation de certificats X509 et de clés de session– Flot de données découpé en paquets signés et

chiffrés

Page 13: Tunnels.ppt

13

25

SSL/TLS, historique• 7/94 Conception initiale du protocole (V1.0) développé

par Netscape • 12/94 SSL V2.0 Sortie des premiers produits• 4/95 SSL Ref 2.0 - L'implémentation de référence• 1995 Arrivée d'une quantité importante

d’implémentations au niveau international• 7/95 La BOF SSL à l’IETF• 11/95 SSL V3.0• 3/96 Le développement est repris par l'IETF au sein du

groupe TLS (Transport Layer Security)• 3/97 IETF TLS V1.0• 08/2004. TLS V1.1

26

Tunnel de niveau 4, SSL/TLS

TLS: Transport Layer Security• TLS reprend tous les concepts généraux de SSL car

TLS 1.0 puis TLS 1.1 sont basés sur SSL 3.0, donc compatibles

• TLS est plus clair• TLS est plus générique que SSL (encapsulation)• La conception du protocole est indépendante de son

utilisation• TLS n'impose pas de méthodes de chiffrements

spécifiques

Page 14: Tunnels.ppt

14

27

Tunnel de niveau 4, SSL/TLSL'authentification avec SSL :• L'identification des serveurs est basée sur les DNS

• Le serveur s'authentifie avec un certificat (X.509)– il doit y avoir identité entre le nom DNS et celui du

certificat– Attention : l’authentification du serveur ne permet pas de

savoir si le serveur de la poste est poste.fr ou laposte.com

• Authentification du client :• par mot de passe (basic), mais dans le tunnel chiffré

• par certificat (depuis SSL v3)

28

Tunnel de niveau 4, SSL/TLS

• SSL/TLS est composé :– d'un générateur de clés, – de fonctions de hachage, – d'algorithmes de chiffrement, – de protocoles de négociation et de gestion de

session, – de certificats X509

• SLL/TLS s’appuie sur OpenSSL

Page 15: Tunnels.ppt

15

29

Tunnel de niveau 4, SSL/TLS

• Composants :– SSL Record Protocol : protection des données– SSL Handshake Protocol : établissement de la

session– SSL Change Cipher Spec Protocol : négociation

des algorithmes (chiffrement, compression)– SSL Alert Protocol : messages d'erreur

30

Tunnel de niveau 4, SSL/TLS• SSL Handshake :

négociation du chiffrement et de l’authentification– Sélection des algorithmes de chiffrement et de la version

utilisée– Choix d’un identificateur de session– Sélection et échange des certificats

• Le serveur envoi son certificat (et sa chaîne de certification)• A la demande du serveur, le client envoi son certificat (et sa chaîne de

certification)• Authentification du client et vérification (si demandée)• Envoi par le client d’une chaîne chiffrée avec sa clef privée. Le serveur

vérifie que le client est bien titulaire de la clef privée en déchiffrant cette chaîne avec la clef publique du client qu’il avait reçue auparavant

– Échange d’une clef de session pour le chiffrement symétrique des communications

Page 16: Tunnels.ppt

16

31

SSL/TLS, SSL Handshake

Client hello

Finished

Change Cipher Spec

Client Certificate

Server HelloServer CertificateServer Hello Done

Change Cipher Spec

Finished

0.2 à0.4 KB

32

SSL/TLS, Échange de données

• Reprendre une session :– Pour reprendre une session déjà initialisée, le client

envoie dans le Client Hello l’ identificateur de cette session.

– S’il retrouve cet identificateur dans son cache de session le serveur répond avec le même identificateur de session dans le Server Hello

– Cet identificateur permet de restaurer le contexte de la session, en particulier la clef de chiffrement symétrique.

Page 17: Tunnels.ppt

17

33

SSL/TLS, Échange de données

• Forcer la renégociation :– Le serveur peut forcer la renégociation en répondant avec

un nouveau Session Id

• SSL Change Cipher Spec Protocol :– Permet de signaler des transitions dans les stratégies de

chiffrement,– Envoi d'un message pour indiquer que les messages

suivants utilisent les nouveaux paramètres négociés• SSL Alert Protocol :

– Définit plusieurs niveaux d'alertes– Certaine alertes sont définies pour entraîner l'arrêt immédiat

de la session

34

Tunnel de niveau 4, SSL/TLS

• Optimisation indispensable du réglage des paramètres des serveurs :– Durée de conservation des contextes de session– Partage du cache en processus coopérants

• Si le service que vous désirez ne prend pas en compte SSL/TLS, il est toujours possible d’utiliser STUNNEL

• STUNNEL établi un tunnel chiffré par application entre le serveur et les clients

Page 18: Tunnels.ppt

18

35

Quelques applications et standards utilisant SSL/TLS

• http 80 https 443• smtp 25 smtps 465• pop3 110 pop3s 995• imap 143 imaps 993• ssh 22• nntp 119 nntps 563• telnet 23 telnets 992• ftp 21 ftps 990• ftp-data 20 ftps-data 989

36

Tunnel de niveau 4, SSL/TLS• Pré-requis :

– Utiliser des logiciels serveurs et clients SSL/TLS

• Inconvénients :– Si utilisation des certificats X509 => formation obligatoire des utilisateurs

• Avantages :– Authentification forte du client– Maintenant, de nombreuses applications utilisent SSL/TLS– Confidentialité et intégrité des échanges

– L’utilisateur utilise les mêmes logiciels sur son LAN que à l’extérieur, les communications sur LAN sont également sécuris ées

• Utilisation :– VPN d’accès (nomades à site)– Intranet, extranet (Sites à sites)– LAN

Page 19: Tunnels.ppt

19

37

Tunnel de niveau 4, monté en puissance

• Les tunnels SSL/TLS de part leur moindre coût et leur facilité de mise en place par rapport à IPsec se généralisent.

• Les applications utilisant une interface web et la messagerie sont déjà largement utilisées avec SSL/TLS.

• Les éditeurs de logiciels et constructeurs se tournent vers cette solution :– Aventail SSL VPN– Juniper Networks SSL VPN Appliance Line– VPN SSL NETASQ serie– Cisco ….

38

Tunnel de niveau 4, OpenVPN

• OpenVPN est un VPN SSL open source, il permet :– L’authentification forte des extrémités du tunnel– La compression des communications– L’utilisation des certificats X509– L’authentification du client sur le serveur grâce à un plugin

PAM d’où la possibilité d’utiliser RADIUS, LDAP ou les certificats X509

– Nécessite un client

• OpenVPN utilise le 1194 UDP ou TCP– Avant la version 2.0-beta17, il utilisait le port 5000. Le

changement de n° de port a été fait suite à une demande de l’IANA

Page 20: Tunnels.ppt

20

39

Tunnel de niveau 4, OpenVPN

• OpenVPN propose 2 types de VPN, routés et de pont.

• Les tunnels IP routés (VPN routed), – le meilleur moyen pour router du trafic IP point à point,

sans broadcast.– S’installe sur des machines en tête de réseau– C’est de l’IP dans IP.

40

Tunnel de niveau 4, OpenVPN

• Les tunnels par pont ethernet (VPN bridged)– qui peuvent être utilisés à la fois pour les tunnels IP et

pour les tunnels non-IP. – C’est de l’éthernet dans IP.– Ce type de tunnel est approprié pour les applications qui

communiquent via du broadcast, tels que les réseaux Windows.

– Les 2 réseaux ne forment plus qu’un.

– S’installe sur des machines en tête de réseau

– Pour les clients nomades, le serveur alloue dynamiquement les @IP

Page 21: Tunnels.ppt

21

41

Tunnel de niveau 4, OpenVPN

• Pré-requis :– 2 cartes éthernet sur les serveurs– Les postes nomades nécessitent un client

• Inconvénients :– Utilisation des certificats X509 => formation obligatoire des utilisateurs– Attention à bien authentifier les utilisateurs et pas seulement les

machines.

• Avantages :– Authentification forte du client au VPN

– Confidentialité et intégrité des échanges– Compression des communications

• Utilisation :– VPN d’accès (nomades à site) : VPN routé– Intranet, extranet (Sites à sites) : VPN avec pont

42

Tunnel de niveau 7, application

• SSH (Secure Shell)– Le protocole SSH comprend une suite d’outils dont

l'objectif est de remplacer les commandes clientes et les services de :

• Connections interactive : rlogin, telnet et rsh => ssh

• Copie entre machines : rcp => scp• Transfert de fichiers : ftp => sftp

– Il permet également de :• Transférer toutes applications TCP dans le tunnel de la session ssh

On peut ainsi forwarder :– X11 (X11 forwarding)– SMTP, POP, IMAP, … (redirection de port)

• Transférer les jetons Kerberos et AFS

Page 22: Tunnels.ppt

22

43

Tunnel de niveau 7, SSH

• SSH permet également :– Authentification forte des machines et des clients

• Utilisation possible des certificats X509

– Chiffrer le tunnel– Compresser le tunnel sur demande

Utilise le port TCP 22

44

Tunnel de niveau 7, SSH

• Pré-requis :– Logiciel serveur et client, en standard sur Linux, existe en

opensource pour Windows• Inconvénients :

– Configuration des tunnels => former les utilisateurs– Possibilité d’accéder à tout le LAN => attention

• Avantages :– Confidentialité et intégrité des échanges– Compression des communications– X11 forwarding, transfert de jetons Kerberos et AFS, tunnels– Simple d’installation et d’utilisation

• Utilisation :– VPN d’accès (nomades à site) : VPN

Page 23: Tunnels.ppt

23

45

Conclusion

• Beaucoup de produits, des solutions opensource convenables

• La tendance actuelle va vers les VPN SSL moins coûteux et moins lourds pour les machines clientes

• Faites votre choix ….