1/04/2004journées thématiques siars (marseille) 1 solutions vpn

37
1/04/2004 Journées thématiques SIAR S (Marseille) 1 Solutions VPN

Upload: isaie-chene

Post on 04-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

1

Solutions VPN

Page 2: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

2

Pourquoi faire ? (1)

Relier deux réseaux locaux à travers Internet en s’affranchissant des filtres en entrée de site.C’est le cas de labos multi-sites ou en cours de déménagement.

Permettre l’accès à des services internes depuis l’extérieur:Avec l’amélioration de l’offre FAI (Haut débits ADSL), la demande des utilisateurs est de plus en plus forte pour accéder au réseau local du laboratoire de manière transparente…

Pourquoi faire? Consulter l’intranet du labo, Utiliser la messagerie avec le serveur smtp du labo, Accéder aux partages Windows, Utiliser les logiciels avec jetons, Accéder aux sites de bibliographie en ligne…..

Page 3: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

3

Comment faire ?

Il faut sécuriser les communications Remplacer ou sécuriser tous les protocoles

ne chiffrant pas l’authentification ajouter éventuellement le chiffrement des

données

Solution => créer une connexion chiffrée entre clients et serveurs

On parle alors de tunnels applicatifs, tunnels et VPN

Page 4: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

4

Quelles solutions ?

Chiffrer au niveau application (couche 7 ) Créer de nouvelles applications intégrant les

fonctions cryptographiques SSH

Chiffrer au niveau transport ( couche 4 ) Liaison logique entre des programmes qui chiffrent

les communications. SSL (https, pops, imaps …)

Chiffrer au niveau réseau ( couche 3 ) Le chiffrement est effectué directement au dessus du

support réseau => interface virtuelle

Page 5: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

5

VPN

VPN : Virtual private Network – Réseau privé virtuel

Consiste à faire transiter un protocole par l’intermédiaire d ’un autre Application dans IP ( port forwarding ) IP dans IP Ethernet, IPX, appletalk … dans IP

Généralisation du concept de tunnel C’est la valise diplomatique de l’informatique avec tous les

dangers que cela comporte Extension du périmètre de sécurité à des machines externes

Page 6: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

6

VPN: Types de connexions

• Réseau à Réseau– Equipe de recherche sur un autre site– Station de mesure

=> Routage du VPN sur chacun des sites

• Machine à Réseau– Utilisateurs itinérants

=> Routage des clients VPN sur le site serveur

• Machine à Machine

Page 7: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

7

Que doit assurer un VPN ?

• Authentification ( de préférence forte )

• Intégrité

• Confidentialité

• Protection contre le rejeu

• Eventuellement compression

Page 8: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

8

PPTP Protocole Ouvert M$• PPTP ( Point to Point Tunneling Protocol )

– RFC 1701, 1702 et 1171 – Microsoft authentification MS/CHAP V2– Microsoft chiffrement MPPE (RC4 40 ou 128 bits)– PPTP ne fait aucun chiffrement– Utilise deux canaux de communication

• Port 1723 TCP • protocol IP 47 (GRE) pour les donnéesGRE: Generic Routing Encapsulation

– établissement d ’une connexion PPP à l ’intérieur du canal de donnée éventuellement compressé et crypté

Page 9: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

9

PPTP Protocole Ouvert M$A n’utiliser que si c’est la seule solution

Avantages:- Facile à installer (Windows depuis Win95 et Linux)

Inconvénients majeurs:- Faiblesse de l’authentification (attaque du mot de

passe),

- Protocole GRE/IP pas toujours traité sur les routeurs de site ce qui nécessite d’ouvrir tout IP vers le serveur VPN….

Page 10: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

10

OpenVPN• OpenVPN est un système de réseau privé virtuel développé par

James Yonan ([email protected]) utilisant la librairie OpenSSL.

• Il permet une authentification forte des extrémités du tunnel, il supporte les certificats X509 pour authentifier la session,le protocole TLS pour échanger les clés, la possibilité d’utiliser un plugin PAM pour authentifier le client sur le serveur).

• Il existe deux types de tunnels VPN dans le système proposé par James Yonan, " les tunnels IP routés" et " les tunnels par pont ethernet".– Le tunnel " Bridged " ou pont, permet de faire un pont éthernet entre

deux réseaux. C’est de l’ethernet dans IP.Les interfaces VPN et LAN sont alors liées entre elles en une seule entité et permettent de communiquer entre les sous réseaux concernés.

Page 11: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

11

OPENVPN

• Le tunnel « routed » consiste à transporter de l’IP dans IP , nécessite une modification du routage et de ce fait , s’implémente principalement sur des passerelles en tête de réseau.Il ne transmet pas les broadcasts et ne permet pas le partage de fichiers Windows.

• Le chiffrement du tunnel peut se faire par clé partagée, bi-clés RSA ou certificats. L’utilisation en client-serveur nécessite l’utilisation de certificats.

• Le tunnel utilise le port 5000(ou 1194) par défaut et le protocole UDP (on peut passer en TCP mais ce n’est pas recommandé).

Page 12: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

12

OPENVPN schéma 1

Postes nomades à réseau:

Page 13: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

13

OPENVPN schéma 2

Réseau à réseau:

Page 14: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

14

OpenVPN implémentation

• Le mode choisi ici est un tunnel de type pont.

• Les essais réalisés ont pour but de connecter les PC nomades au réseau local du laboratoire.

• Le tunnel fonctionne en client-serveur avec allocation dynamique d’adresses IP par le serveur au client.

• Le client s’authentifie par son certificat personnel CNRS et un login Unix sur le serveur VPN.

• Les machines utilisées pour monter ce tunnel:• Serveur VPN : PC Debian Woody• Clients:PC Debian woody, PC Windows 2000

Page 15: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

15

OpenVPN configuration

Préparation du serveurLe serveur doit valider un certain nombre de pré requis afin de pouvoir faire tourner OpenVPN correctement :

– Avoir les options noyau correctement paramétrées, – Avoir la librairie LZO installée sur le système,

– Avoir les outils de bridging sous Linux ( brctl de Lennert

Buytenhek [email protected]) - Avoir la librairie OpenSSL installée (ainsi que les

composants Dev)

Si vous utilisez un Linux de type Debian :apt-get install bridge-utils openssl libssl-dev liblzo1 liblzo-dev

Page 16: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

16

OPENVPN configuration

Pour les autres distributions Linux/Unix : Récupérez et installez :– La librairie LZO :

http://www.oberhumer.com/opensource/lzo/download/lzo-1.08.tar.gztar zxvf lzo-1.08.tar.gz cd lzo-1.08 ./configure && make && make check && make test make install (avec le compte root)

– La librairie openssl :http://www.openssl.org/source/openssl-0.9.7e.tar.gztar zxvf openssl-0.9.7e.tar.gz ./config && make && make test && make install

– Brctl :http://prdownloads.sourceforge.net/bridge/bridge-utils-1.0.4.tar.gz tar zxvf bridge-utils-1.0.4.tar.gz cd bridge-utils-1.0.4 ./configure && make && make install

Page 17: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

17

OPENVPN configuration

Ajout des options dans le kernel si elles n’y sont pas :

– pour tester: modprobe tun

– Localisation du driver tun dans le fichier .config :Device Driver -> Networking support -> Networking Options ->

Universal Tun/Tap device driver support -> 802.1d Ethernet Bridging

- Recompiler le noyau en validant dans .config le module ci-dessus

Page 18: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

18

OpenVPN Installation

Etapes à réaliser pour l’installation d’OPENVPN :

Compilation et installation du logiciel

Compilation du module PAM pour authentifier les clients

Implémentation des certificats CNRS

Création du fichier de configuration serveur

Page 19: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

19

OpenVPN Compilation

Télécharger l'archive sur openvpn.sourceforge.net :

http://prdownloads.sourceforge.net/openvpn/openvpn-2.0_rc17.tar.gz

tar zxvf openvpn-2.0_rc17.tar.gz

cd openvpn-2.0_rc17

./configure

make

make install Le logiciel évolue beaucoup, prendre toujours la dernière version

Page 20: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

20

OpenVPN Compilation du module PAM

Ajouter, s ’il est absent, le module libpam-dev (devlopment files for PAM)

- A partir du répertoire d’installation d’openvpn, aller dans le sous répertoire plugin/auth-pam (attention cette possibilité n’existe que dans la dernière version d’OpenVPN)

Lancer make,

on obtient le module openvpn-auth-pam.so

Ce module va être utilisé pour identifier le client dans la base des comptes Unix du serveur.

Page 21: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

21

OPENVPN Gestion des certificats

Création d’un répertoire certs pour déposer clé et certificats.

Récupération du certificat et de la clé privée du serveur (à demander à la CA CNRS):

serveur.key et serveur.crt

Concaténation des CA CNRS et CNRS-Standard dans CNRS- total.crt

Création des paramètres Diffie Hellman:

openssl dhparam –out dh1024.pem 1024

Page 22: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

22

OpenVPN Création du pont

Fichier de mise en place du pont , à lancer au démarrage:

#!/bin/bashmodprobe tunmodprobe bridgeopenvpn --mktun --dev tap0brctl addbr br0brctl addif br0 eth0brctl addif br0 tap0ifconfig tap0 0.0.0.0 promisc upifconfig eth0 0.0.0.0 promisc upifconfig br0 194.199.99.6 netmask 255.255.255.0 broadcast

194.199.99.255 (on met là ce qu’on avait avant sur eth0)

Page 23: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

23

OpenVPN Fichier de configuration serveur

Configuration du Serveur pour le mode Ethernet Bridge

## OpenVPN bridge config serveur Linux port 5000dev tap0mode serverserver-bridge 194.199.99.6 255.255.255.0

194.199.99.28 194.199.99.29# crypto configplugin ./openvpn-auth-pam.so othertls-server

Page 24: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

24

OPENVPN Fichier de configuration serveur (suite)

dh /root/vpn_essai/certs/dh1024.pemca /root/vpn_essai/certs/CNRS-total.crtcert /root/vpn_essai/certs/a3-6.cnrs-mrs.fr.crtkey /root/vpn_essai/certs/a3-6.cnrs-mrs.fr.keyduplicate-cnpersist-keypersist-tunping-timer-remping-restart 600ping 10comp-lzouser nobodygroup nobodyverb 3

Page 25: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

25

OPENVPN Lancement du VPN

openvpn --daemon --config br_conf.conf --log vpn.log

openvpn s’initialise en utilisant le fichier de configuration br_conf.conf et se met en attente d’une connexion cliente, les informations sont collectées dans le fichier vpn.log

Pour d’autres options de lancement:

http://openvpn.net/man.html

Page 26: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

26

Installation du client Windows

Récupération et installation de la distribution:openvpn-2.0_rc16-gui-1.0_rc4-install.exe

En cliquant sur l’exécutable, la distribution s’installe par défaut dans le répertoire C:\Program Files\OpenVPN et crée le device virtuel TAP.

OpenVPN GUI démarre automatiquement et le dossier config (C:\Program Files\OpenVPN\config) est scanné à la recherche de fichiers .ovpn, une icone apparait dans la barre des taches.

Récupération du certificat utilisateur et les CA CNRS:

Création du fichier de configuration client .ovpn

Page 27: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

27

Installation du Client Windows

Mise en place de l’authentification forte avec les certificats CNRS Standard:

– Créer un répertoire certs sous OPENVPN/config où on va mettre tout ce qui concerne l’authentification.

– Récupérer les CA CNRS et CNRS-Standard sur le site de l’UREC: CNRS.crt et CNRS-Standard.crt, et concaténer les deux dans le fichier CNRS-tout.crt

– Exporter à partir du navigateur concerné notre certificat personnel : lemien.p12, le séparer en deux éléments:

la clé: openssl pkcs12 -nocerts -in lemien.p12 -out lemien standard.pem

le certificat: openssl pkcs12 -clcerts -nokeys -in lemien.p12 -out lemien-standardcrt.pem

Page 28: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

28

Installation du client WindowsFichier de config du client Windows## OpenVPN bridge config, windows client side# OK 11-03-05#remote 194.199.99.6port 5000dev tapclienttls-clientauth-user-passca ./certs/CNRS-total.crtcert ./certs/lemien-standardcrt.pemkey ./certs/lemien-standard.pemup openvpn.bat ping 10comp-lzoverb 4

Page 29: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

29

Installation du client Linux/Unix

L’installation est identique à celle vue ci-dessus pour le serveur

La compilation du module PAM est inutile La gestion des certificats est la même que sous Windows

Le fichier de configuration du client est le même que pour le client Windows.

Page 30: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

30

OpenVPN Conclusions

L’installation du logiciel ne présente pas de difficulté particulière sous Linux , est très facile sous Windows (à partir de 2000).

L’utilisation des certificats CNRS est un plus (durée de vie des certificats ?)

Les communications se font en UDP sur le port 5000, ce qui ne pose pas de problème d’ouverture sur les routeurs.

Il faut tester maintenant la résistance du serveur à plusieurs clients simultanés.

Attention: Le mode Bridge ne marche pas avec un VPN serveur Windows 2000 (XP ou 2003 seulement).

Page 31: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

31

Open VPN Références

http://www.nbs-system.com/article/openvpn2_howto (en Français)

http://openvpn.net/man.html

http://openvpn.net/

http://www.pavelec.net/adam/openvpn/bridge (serveur pont Windows)

http://www.sans.org/rr/whitepapers/vpns/1459.php (crypto)

Page 32: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

32

SSL Explorer SSL-Explorer est un logiciel libre réalisant un VPN construit sur

OpenSSL et développé en JAVA (http://sourceforge.net/projects/sslexplorer)

C’est une solution ne nécessitant aucun logiciel spécifique sur les clients, un navigateur suffit (accès https sur le serveur, les plugins JAVA sur le navigateur sont nécessaires).

Fonctionnalités: accès aux partages Windows, accès à l’intranet par Web-forwarding, redirection de ports, authentification des clients sur Active-Directory ou database locale, Management par interface Web, Possiblité de créer différents profils utilisateurs, Supporté sous Windows 2000/2003 et RedHat (autres Linux aussi..).

Page 33: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

33

SSL Explorer

Page 34: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

34

SSL Explorer

Page 35: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

35

SSL Explorer Installation

Récupérer le JRE 5.0 Java run time environnement)Par exemple, sur le site Sun,le fichier jre-1_5_0_01-linux-i586.bin et l’installer.

Récupérer SSL-Explorer chez sourceforge.netunzip sslexplorer_linux_gui_0_1_8_01.zip

Archive: sslexplorer_linux_gui_0_1_8_01.zip creating: sslexplorer_setup_0_1_8/ inflating: sslexplorer_setup_0_1_8/sslexplorer_linux_0_1_8.sh inflating: sslexplorer_setup_0_1_8/CHANGES inflating: sslexplorer_setup_0_1_8/LICENSE.txt inflating:sslexplorer_setup_0_1_8/SSL_Explorer_Reference_Guide.pdf

cd sslexplorer_setup_0_1_8/….Rajouter le chemin du binaire java dans le PATH …../sslexplorer_linux_0_1_8.sh….interface graphique d’installation…

Initialisation du serveur: Lancer <chemin d’install>setup-sslexplorer Sous le navigateur, se connecter sur http://serveur:28080 et générer un certificat auto-signé, puis ajouter un user,

etc…puis shutdown Lancer alors sslexplorer-console et attendre un moment(…),puis ouvrir sur un navigateur https://serveur, on a

accès au login/password du VPN.

Page 36: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

36

SSL Explorer Conclusions

Pas beaucoup testé pour l’instant, mais : Avantages:

Facile à installer et utiliser (Linux et Windows), Voisinage réseau et partages Windows accessibles, Proxy-web pour l’intranet, Possibilité de redirection de ports (avec le client java),…

Inconvénients: Authentification des utilisateurs insuffisante (les certificats vont arriver

dans les prochaines versions), Impossible d’installer un certificat serveur CNRS, Nécessiter de configurer à la main sur le client les différentes

fonctionnalités pas transparent du tout (!)

Page 37: 1/04/2004Journées thématiques SIARS (Marseille) 1 Solutions VPN

1/04/2004 Journées thématiques SIARS (Marseille)

37

VPN Conclusions

• C’est un outil efficace extrêmement puissant… mais … aussi une arme redoutable très bien authentifier les

extémités mais ça ne suffit pas (virus..)

• Quelques questions : – Pour quels services ?– Ou mettre le point d’entrée dans l’architecture réseau ?– Que faut il comme sécurité sur le poste client ?

• A n’utiliser que dans le cadre d’une architecture déjà sécurisée