Projet � [VPN
Redondant] �
Etude finale
Version 1.3
10 janvier 2006
Historique des r�visions
Date |
Version |
Description |
Auteur |
11 octobre 2005 |
1.0 |
Cr�ation du document |
Guillaume Coqueblin |
26 octobre 2005 |
1.1 |
R�vision |
Guillaume Coqueblin |
21 d�cembre 2005 |
1.2 |
Etude finale |
Christophe CHARNAY |
10 janvier 2006 |
1.3 |
Etude finale |
Christophe CHARNAY |
Sommaire
1���� Introduction........................................................................................................................
1.1����� Contexte, objectifs et contraintes..................................................................................
1.2����� Glossaire........................................................................................................................
1.3����� Documents de r�f�rence...............................................................................................
2���� L�existant............................................................................................................................
3���� Recueil des besoins........................................................................................................
3.1����� Utilisateurs.....................................................................................................................
3.2����� Besoins fonctionnels......................................................................................................
3.3����� Besoins non fonctionnels...............................................................................................
4���� Orientations techniques.................................................................................................
4.1����� Architecture
g�n�rale de la solution...............................................................................
4.2����� Technologies
et outils....................................................................................................
5���� Analyse
des risques........................................................................................................
6���� Plan de travail....................................................................................................................
7���� Livrable...................................................................................................................
��������������������������������������������������������������������������������������������������������������������������������
L'objectif du projet est de faire l��tude et la r�alisation d�un prototype montrant une interconnexion de deux r�seaux priv�s (ou plus) via un VPN chiffr� utilisant IPsec.
Les passerelles d�interconnexions (� In�tech INFO) seront en bin�me et redondantes.
Les principaux intervenants du projet, sont :
Commanditaire : ������������ In�Tech Info
Contacts et r�f�rences : Eric Lalitte
���������������������������������������� Aur�lien Bordes
Membres du projet : ������� Alexis Carle
���������������������������������������� Christophe Charnay (Chef De Projet)
���������������������������������������� Guillaume Coqueblin
Utilisateurs : El�ves In�Tech Info
Objectifs de la solution propos�e
�����������
- R�alisation de la plate-forme
- Installation d�OpenBSD sur les passerelles
-
Une
solution VPN doit permettre aux utilisateurs distants de se connecter aux
ressources du r�seau local.
-���� Configuration r�seau (routage, filtrage avec pf)
-
- Configuration IPsec
-���� La
solution doit assurer la confidentialit� et l'int�grit� des donn�es � travers
Internet.
- Mise en place de la redondance (CARP, pfsync, sasync)
-���� Pour l'utilisateur aucune diff�rence ne doit
appara�tre dans son utilisation des ressources du syst�me d'information.
-���� Mise en place de l�authentification par certificats
-���� La solution doit g�n�rer et mettre � jour les clefs pour le chiffrement des donn�es pour le client et le serveur.
- ��� Analyse du trafic et des logs.
-���� Connaissance d�OpenBSD, configuration du syst�me - Conception et r�alisation de d�monstration - Connaissance de pf - Utilisation de CARP et pfsync - Connaissance d�IPsec |
B�n�fices attendus
- �tude de sasyncd
- Acqu�rir des automatismes pour le d�bogage des syst�mes et des r�seaux.
Contraintes :
Utilisation
d�OpenBSD 3.8 car IPsec est implant� nativement dans
OpenBSD, entre autres, avec le service isakmpd bas� sur le protocole IKE. Il int�gre aussi nativement les services n�cessaires a la
redondances : carp, sasync et pfsync.
Le projet est en d�veloppement sur un r�seau, � a priori � de
confiance, et sur lequel nous n�avons ni contr�le, ni supervision.
Le basculement d�une machine � l�autre doit s�effectuer de mani�re
totalement transparente et s�curis�e pour les clients.
Openbsd : distribution de
base Unix
VPN : Virtual
Private Network (R�seau Priv� Virtuel) liaison entre 2 r�seaux distants
Redondant : La redondance, d'une fa�on g�n�rale, se
rapporte � la qualit� ou � l'�tat d'�tre en surnombre, par rapport � la normale
ou � la logique. Ce qui peut avoir la connotation n�gative de superflu, mais
aussi un sens positif quand cette redondance est voulue afin de pr�venir un
dysfonctionnement.
IPsec : IPsec est un protocole permettant le
transport de donn�es chiffr�es sur un r�seau IP pour �tablir un r�seau priv�
virtuel.
Sasync : Service de
synchronisation des r�gles de chiffrement d�IPsec lors d�un crash d�une passerelle.
Carp: Common Address Redundancy Protocol (Protocole de redondance d�adresse commune), ARP permet a plusieurs h�tes dans un m�me r�seau local de partager un plage d�adresse IP. Son but premier est de s�assurer que les adresses sont toujours disponibles, mais dans certaines configurations, carp, permet aussi de fournir de la balance de charge.
Pf: Packet Filter, fichier de configuration des r�gles du firewall.
Routage: Dans le cas pr�sent, le routage est le transfert de paquets d�un r�seau � un autre
Filtrage: R�gles �tablies par le firewall qui autorisent ou refusent le routage des paquets
NAT: Network Adress Translation, permet de rendre des adresses du r�seau local routable sur internet.
Haute Disponibilit�: Le cluster de haute disponibilit� est un ensemble de serveurs physiques, au nombre minimum de deux, afin d'obtenir une activit� de services par tous temps, en toutes conditions
� pages man d�Openbsd,
� Plan d�Assurance Qualit�,
� planning.doc
Nous avons d�j� � notre disposition 2 machines
sous Openbsd et le r�seau Itinet.
Les �l�ves d�In�tech INFO, et par la suite, suivant le niveau de qualit� de r�alisation de ce projet et du projet � firewall redondant �, la commercialisation d�une solution firewall-vpn redondants aupr�s des soci�t�s et SSII.
Le syst�me � r�aliser se doit de faire la liaison entre
2 r�seaux distants de mani�re redondante et s�curis�e, mais il doit passer
Nos besoins non fonctionnels sont de l�ordre du mat�riel. Le chiffrement des donn�es circulant � travers les machines faisant office de serveur VPN pouvant �tre assez cons�quent, la machine devra disposer d�un processeur d�au moins 1GHz, de 256Mo de m�moire vive, ainsi que la connectique li�e � la redondance (au total 6 cartes r�seau, 5 c�bles torsad�s, dont 1 crois�).
Sch�ma g�n�ral de la solution VPN redondant
Le syst�me d�exploitation qui est utilis� est Openbsd 3.8, ainsi que des outils n�existant que dans la version 3.8, comme par exemple :
�
Carp :
CARP veut
dire "Common Address Redundancy Protocol". L'objectif
premier de ce protocole est de permettre � un groupe d'h�tes sur un m�me
segment r�seau de partager une m�me adresse IP. On appelle un groupe d'h�tes
utilisant CARP un "groupe de redondance". Le groupe de redondance se
voit attribuer une adresse IP partag�e entre les membres du groupe. Au sein de
ce groupe, un h�te est d�sign� comme "ma�tre". Les autres membres
sont appell�s "esclaves". L'h�te ma�tre est celui qui
"prend" l'adresse IP partag�e. Il r�pond � tout trafic ou requ�te ARP
� l'attention de cette adresse. Chaque h�te peut appartenir � plusieurs groupes
de redondance.
Nous utilisons CARP pour cr�er un
groupe de VPN redondants. L'adresse IP virtuelle attribu�e au groupe de
redondance est d�sign�e comme l'adresse du routeur par d�faut sur les machines
clientes. Dans le cas o� le VPN ma�tre rencontre une panne ou est d�connect� du
r�seau, l'adresse IP virtuelle sera prise par un des VPN esclaves et le service
continuera � �tre rendu sans interruption.
CARP supporte IPv4 et IPv6.
L'h�te ma�tre du groupe envoi des annonces
r�guli�res sur le r�seau local afin que les h�tes esclaves puissent savoir qu'il
est toujours disponible. Si les h�tes esclaves ne re�oivent plus d'annonce de
la part du ma�tre durant une p�riode de temps configurable, alors l'un d'eux
devient le nouveau ma�tre. Ce dernier est celui dont les valeurs configur�es
pour advbase et advskew sont
les plus faibles.
Afin d'emp�cher un utilisateur malicieux sur le
segment r�seau d'usurper les annonces CARP, chaque groupe peut �tre dot� d'un
mot de passe. Ainsi chaque paquet CARP envoy� au groupe est prot�g� par SHA1
MAC.
�
Isakmpd :
Le r�le
d�ISAKMP est d'�tablir, de n�gocier, de modifier ou de supprimer des
Associations de S�curit� et leurs attributs.
Ce protocole
constitue un cadre g�n�rique ind�pendant des
m�canismes en
faveur desquels la n�gociation a lieu et de ceux par lesquels la s�curisation
est r�alis�e ; c'est pour cette derni�re raison qu'un document appel� DOI
(Domain Of Interpretation - Document d�finissant les param�tres n�goci�s et les
conventions relatives a l'utilisation de ISAKMP dans un cadre pr�cis-) est
n�cessaire.
ISAKMP se d�roule en deux phases :
- Tout d'abord,
cr�ation de
- Ensuite,
n�gociation de param�tres de s�curit� relatifs � une SA � �tablir pour un
m�canisme donne (par exemple AH ou ESP), via
������ Ent�te d�ISAKMP
Connexion d�un
client � Isakmpd
�
IKE :
IKE est le
protocole de gestion des clefs impl�mente par IPSec. Il comprend 4 modes, qui
g�rent les �changes de param�tres entre les entit�s souhaitant communiquer ; le
but est de cr�er
Echange
IKE classique
�
Ipsec :
A l'heure actuelle, plusieurs solutions VPN existent et sont utilis�es
sur Internet : IPsec est celle que l'on retrouve le plus souvent, et de
nombreux facteurs indiquent que cette situation tend � se g�n�raliser (supporte
nativement par de nombreux syst�mes d'exploitation, protocole ouvert, etc.).
Notre �tude suivante se limitera donc � IPsec et aux m�canismes qu'il
engendre; avant d'entrer dans les d�tails techniques, revenons aux principes de
base d'IPsec.
IPsec se pr�sente sous la forme d'un ensemble de m�canismes permettant
d'initier, au niveau r�seau, des connexions entre syst�mes distants.
Le sch�ma suivant
rappelle les principes de son fonctionnement :
On note � la vue de ce sch�ma qu'IPsec repose sur le protocole IKE, qui
permet une connexion s�curis�e entre les entit�s d�sirant communiquer, et les
protocoles AH et ESP, qui traitent les donn�es utiles de la couche IP afin de
les prot�ger selon la politique choisie ; c'est donc ces protocoles que nous
allons �tudier en d�tail.
Avant que les paquets puissent �tre s�curis�s par IPsec, une SA
(Associations de S�curit�) doit exister. Elle peut �tre cr��e manuellement ou
dynamiquement.
Le protocole IKE
est utilis� pour la cr�ation dynamique de cette SA; il s'agit d'un protocole
hybride bas� sur les protocoles ISAKMP, Oakley et SKEME : il utilise les bases
d�ISAKMP, les modes d�Oakley et les techniques de partage des clefs de SKEME.
�
Pf (Packet Filter) :
Packet Filter est
le syst�me utilis� par OpenBSD pour filtrer le trafic TCP/IP et effectuer des
op�rations de Traduction d'Adresses IP ("NAT"). PF est aussi capable
de normaliser, de conditionner le trafic TCP/IP, et de fournir des services de
contr�le de bande passante et gestion des priorit�s des paquets. PF fait partie
du noyau GENERIC d'OpenBSD depuis la version 3.0. Les pr�c�dentes versions
d'OpenBSD utilisaient un ensemble logiciel pare- feu/NAT diff�rent qui n'est
plus support�.
�
Pfsync :
Pfsync prend en charge la
r�plication des tables de sessions entre les firewalls. En d�autres mots chaque
firewall poss�dant une interface pfsync activ�e �met des informations sur les
sessions qu�il prend en charge sur le r�seau.
( Pfsync utilise des interfaces virtuelles pfsync0 )
Par exemple il envoie un paquet
multicast sur le r�seau pour indiquer qu�une session tcp a �t� ouverte ou
ferm�e, avec toutes les informations sur la session. Ce qui permet aux
�quipements configur�s pour se synchroniser sur pfsync de se mettre � jour par
rapport aux changements des tables des autres firewalls.
Cette derni�re fonctionnalit�
coupl�e � CARP, permet de cr�er des backup du firewall ma�tre. Avec la
synchronisation activ�e (pfsync), lorsqu�un �quipement de backup prend la main,
il poss�de toutes les informations sur les tables de sessions et peu continuer
� filtrer le trafic r�seau sans interruption. Dans nos tests il y a un temps de
latence tr�s court lors du basculement d�un serveur � l�autre.
Au niveau des services et des
utilisateurs passant par ce firewall il n�y a pas de coupure de sessions
lorsque la ou les adresses ip des firewalls basculent d�un serveur � l�autre.
Note : Les adresses Ip prisent en charge par Carp, sont
appell�es VIP (Virtual Ip).
Il est aussi important de noter que
lorsque le firewall ma�tre ressuscite, il ne reprend la main que lorsque pfsync
� effectu� sont travail de synchronisation par rapport au serveur ma�tre en
cours, ceci gr�ce a la combinaison de carp et pfsync.
R�sultat : pas de coupure de
session m�me lorsque le premier serveur r�appara�t sur le r�seau.
�
Sasyncd :
Le d�mon sasyncd synchronise les informations
des SA et SPD IPsec entre plusieurs passerelles IPsec. La m�thode la plus
utilis� est de faire fonctionner sasyncd sur un serveur isakmpd et de
partager une m�me IP gr�ce � l�outil carp.
Le
d�mon fonctionne soit en mode ma�tre soit en esclave, dans lequel le ma�tre
r�cup�re tous les paquets de changement d�SA IPsec et envoie les informations �
tous les clients afin qu�ils disposent des m�mes donn�es.
Lorsqu�un
esclave se connecte ou se reconnecte, Le maître transmet instantan�ment toutes
les informations des SA et SPD IPsec en cours.
�
Certificat X509
Les certificats X509 permettent l'authentification entre le serveur et le client vpn. Pour cela nous devons générer la clef RSA, le certificat pour le CA et le CSR (Certificate Signing Request) en utilisant openssl.
Le risque majeur est que le fait de mettre en place une solution sur la base d'un syst�me d'exploitation encore en version � testing � ne soit pas tout à fait au point, et les outils fiables et sécurisés.
Suivant ce qui a été établi lors d'une réunion avec Aurélien Bordes et Eric Lalitte les étapes sont les suivantes :
- Etude et mise en place de la redondance, en utilisant carp
- Sécurisation de la connexion sortante grace à IPsec et isakmpd
- Configuration du firewall par les r�gles pf
- Synchronisation des r�gles de sécurité avec SAsyncd
- Synchronisation des r�gles de filtrage entre les deux serveurs grace à pfsync
- Tests finaux et écoute du trafic
- Rédaction d�une documentation
- Démonstration en temps réel.
Nous restituons � l��cole les 2 machines, installées et configurées, accompagnées d'une documentation décrivant notre �tude.
La maintenance sera à la charge du client.