Académique Documents
Professionnel Documents
Culture Documents
Pierre LEONARD
Tuteur de stage:
Laurent FACQ
Responsable pdagogique:
Christophe BAILLOT
Stagiaire:
Pierre LEONARD
13 mars 16 juin 2006
Pierre LEONARD
Remerciements
Je tiens tout d'abord remercier mon tuteur de stage Laurent FACQ, pour son aide et ses
conseils enrichissants qui m'ont permis d'avancer intelligemment dans ma rflexion et mon travail.
Son savoir aura t une mine de renseignements pendant les 3 mois qu'aura dur ce stage.
Je tiens aussi remercier l'ensemble du personnel Raumur 1 pour m'avoir accueilli en son
sein et m'avoir permis d'effectuer ce stage dans les meilleures conditions qui soient. Les diffrents
contacts humain et professionnel auront t trs fructueux pour moi.
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Solutions VPN................................................................................................................. 19
4.1 Notion de VPN........................................................................................................... 19
4.1.1
Introduction au VPN......................................................................................... 19
4.1.2
Principe de fonctionnement .............................................................................. 19
4.1.3
Utilisation d'un VPN......................................................................................... 19
4.1.4
Protocole utilis pour raliser une connexion VPN.......................................... 20
4.1.5
Schma d'un VPN ............................................................................................. 20
4.2 Openvpn ..................................................................................................................... 21
4.2.1
Prsentation....................................................................................................... 21
4.2.2
Cration des certificats et des cls RSA ........................................................... 21
4.2.3
Protocole SSL / TLS ......................................................................................... 22
4.2.4
Interfaces TUN / TAP....................................................................................... 25
4.2.5
Test de dbit...................................................................................................... 27
4.2.6
Architecture retenue.......................................................................................... 29
4.3 IOS Cisco ................................................................................................................... 30
4.3.1
Prsentation....................................................................................................... 30
4.3.2
Protocole IPSEC ............................................................................................... 30
4.3.3
Protocoles ISAKMP/Oakley/SKEME .............................................................. 33
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Conclusions ..................................................................................................................... 43
5.1 Conclusion gnrale ................................................................................................... 43
5.1.1
DHCP................................................................................................................ 43
5.1.2
VPNs................................................................................................................. 43
5.2 Conclusion personnelle .............................................................................................. 44
Annexes
1
Solutions VPN................................................................................................................. 51
2.1 Openvpn ..................................................................................................................... 51
2.1.1
Fichier de configuration dOpenssl .................................................................. 51
2.1.2
Fichiers de configuration dOpenvpn ............................................................... 53
2.2 IOS Cisco ................................................................................................................... 57
2.2.1
Configuration du routeur Cisco 2851 ............................................................... 57
2.2.2
Configuration du serveur RADIUS (Freeradius).............................................. 60
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
1.2 Missions
Le service Raumur est un service inter-universitaire qui a t cr afin de prendre en charge le
rseau informatique de campus haut dbit. Une de ses missions pour les partenaires du campus
Talence, Pessac, Gradignan est dassurer la maintenance et le dveloppement de moyens et de services
rseaux communs dans le cadre des enseignements universitaires et de la recherche. Raumur fixe
notamment les conditions scuritaires dutilisation, en accord avec les partenaires. Le service de base
ralis par Raumur consiste mutualiser les services de connexion Rnater. Raumur a galement
une mission au niveau rgional, puisquil est gestionnaire de la plaque rseau rgionale ESRA pour les
tablissements dEnseignement Suprieur et de Recherche en Aquitaine. Cette mission concerne les
partenaires dj cits auxquels sajoutent le Rectorat de Bordeaux, le CEMAGREF, lEAPBx,
lENITA de Bordeaux, lINRA Aquitaine, lIUFM dAquitaine, lUniversit de Pau et des Pays de
lAdour, et enfin lEcole de Management de Bordeaux.
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
1.3 Personnel
Le service Raumur est compos de 8 personnes + 2 stagiaires actuellement:
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
2.2 Contexte
Le campus possde des studios mis la disposition enseignants/chercheurs trangers de
passage, et quips de prises Ethernet pour la connexion au Rseau du campus.
Dans la configuration actuelle de cette partie du rseau, les utilisateurs de ces chambres ont la
possibilit de se connecter l'Internet l'aide d'une configuration IP fixe affiche sur la porte du
studio. Chaque prise est ensuite filtre par des ACLs 6 configurs sur les quipements en charge de la
connexion de ces studios sur le rseau universitaire. Cette mthode permet de pouvoir tracer un
utilisateur puisqu une IP correspond un studio et, un studio et une date correspond un locataire.
Mobilit et Scurit
Service RAUMUR
Pierre LEONARD
Mais cette gestion de l'adressage pose plusieurs problmes puisque les utilisateurs novices en
matire de rseau informatique, et principalement en ce qui concerne leur configuration, se trouvent
confront une situation dans laquelle ils doivent eux mme configurer leur machine pour accder au
rseau :
Mauvaise connaissance des rseaux informatiques
Mconnaissance des zones de configuration de leur machine
Mauvaise lecture de l'adressage impos dans le studio o ils se trouvent
Mauvaise configuration de la machine
Surcharge de travail pour le personnel du Raumur
Rsultat => Peu pratique et gourmand en assistance
La solution envisage est donc d'installer un serveur DHCP qui assignera automatiquement la
bonne IP chacun des utilisateurs de ces studios, un peu comme un FAI 7 le ferait. La configuration en
IP fixe en fonction de l'adresse MAC de la machine nest pas envisageable dans l'tat actuel des choses
puisque la proprit principale d'une adresse MAC est justement son unicit or le locataire peut
changer tous moment. Une des configurations possibles consiste utiliser l'option 82 du serveur
DHCP, il s'agit du "Relay Information Option", en d'autres termes le champ option de la requte
DHCP va tre complt par l'agent de relais (routeur ou switch); cette option permettra ensuite de
retracer la provenance d'une requte DHCP.
Il existe galement un projet daccs distants mettant en uvre des VPN et permettant une fois
lauthentification effectue, de placer lutilisateur dans son rseau de travail dorigine puisque chaque
service ou site correspond un VLAN sur le rseau Raumur.
Il existe pour cela deux solutions diffrentes tudier:
Openvpn : ce logiciel provenant du monde libre s'installe sur un systme d'exploitation
de type Unix et fonctionne sur un modle client/serveur. Il permet d'assurer la
communication chiffre, grce au protocole SSL/TLS, et authentifie l'aide de
certificats et/ou d'un systme de cls partages.
Utiliser un routeur en tant que concentrateur VPN; il faut pour cela mettre jour
lIOS8 du routeur en charge de concentrer les VPN, voir mme lui ajouter un module
dacclration de cryptologie, dans le but de pouvoir crer simultanment un grand
nombre de tunnels chiffrs tablis laide du protocole IPSec assurant la
confidentialit des changes.
7
8
Mobilit et Scurit
Service RAUMUR
10
Pierre LEONARD
3 Solution DHCP
3.1 Prsentation du protocole
3.1.1 Introduction
Le protocole DHCP est un protocole de configuration dynamique sur un rseau via le protocole
UDP 9. Il permet entre autre d'assigner une adresse IP aux diffrentes machines, mais aussi de leur
fournir les informations ncessaires au bon fonctionnement du rseau (passerelle, serveurs DNS,
domaine) et tout a dynamiquement sans que l'utilisateur n'est rien d'autre faire que de se relier
physiquement au rseau et dactiver loption DHCP.
Il s'agit d'un protocole client/serveur dfini par les RFCs 10 2131 et 2132 et bas sur le protocole
BOOTP 11, apportant celui-ci de nouvelles fonctionnalits comme lallocation dynamique dadresses
IP : il nest plus utile de renseigner manuellement une table de correspondance adresse MAC / adresse
IP. Une adresse IP peut tre attribue partir dun ou plusieurs pools dadresses IP disponibles. En
effet, le DHCP permet ladministrateur du rseau de crer un ensemble dadresses pouvant tre
attribues aux clients. De cette faon, il peut dterminer des intervalles dadresses IP. Il peut donc
dcider de donner un intervalle pour un segment et un autre intervalle pour un deuxime segment. De
cette faon, la gestion du rseau est simplifie. Le protocole BOOTP ne permet pas cette possibilit.
Pour des raisons doptimisation des ressources rseau, DHCP permet lallocation dune adresse
IP pour une certaine priode de temps cest ce quon appel un bail (lease en anglais), les adresses IP
sont dlivres avec une dure de validit. Cette caractristique du DHCP lui permet de garder en
mmoire, pour une certaine priode de temps, les adresses IP quil assigne aux clients, ainsi que les
informations de lordinateur en question, cela entrane donc moins de transferts lors dune connexion.
La priode de temps est dfinie par ladministrateur du rseau. Le protocole BOOTP, quant lui, na
pas cette fonction; les postes clients utiliseront donc leur adresse IP et les informations reus sur la
configuration jusqu ce quil soit redmarr.
Le protocole DHCP est surtout considr comme un remplacent du BOOTP. La plupart des
implmentations TCP/IP 12 moderne offre aux clients le protocole DHCP laide dun serveur DHCP.
Le serveur DHCP utilise 2 ports :
Port serveur : 67
Port client : 68
C'est--dire, par exemple, que les requtes vont du port UDP 68 du client vers le port UDP 67 du
serveur.
Mobilit et Scurit
Service RAUMUR
11
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
12
Pierre LEONARD
3.2.2 Explication
Client
1 DHCPDISCOVER
Le client recherche les serveurs DHCP disponibles
Serveur
2 DHCPOFFER
Le serveur dit qu'il est prt attribuer une adresse
IP
3 DHCPREQUEST
Le client demande l'attribution de l'adresse IP
4 DHCPACK
Le serveur DHCP confirme l'attribution de l'adresse
IP et envoies des informations de configuration
rseau diverses (DNS, passerelle, etc...)
...
DHCPREQUEST
Demande de renouvellement du bail
DHCPACK
Le serveur attribue le bail au client
...
DHCPRELEASE
Le client n'a plus besoin d'accder au rseau, il
libre son adresse IP
Le serveur met fin au bail et libre l'adresse IP,
cette dernire devient donc rutilisable
Mobilit et Scurit
Service RAUMUR
13
Pierre LEONARD
13
Mobilit et Scurit
Service RAUMUR
14
Pierre LEONARD
Length
N
i1
i2
iN
Length (1)
06
Circuit ID
type (1)
00
Length (1)
Vlan (2)
Module (1)
Port (1)
04
XXXX
YY
ZZ
Length (1)
08
Remote ID
type (1)
00
Length (1)
06
Mobilit et Scurit
Service RAUMUR
15
Pierre LEONARD
3.5.2 Dhcpd.conf
3.5.2.1 Syntaxe
Comme tout fichier de configuration, le fichier de configuration du serveur dhcp une syntaxe
prcise respecter, voil quoi il doit ressembler pour une configuration simple :
paramtres globaux (serveur dns, dure du bail, nom de domaine)
shared-network name {
paramtres spcifiques au rseau partag
subnet 192.168.1.0 netmask 255.255.255.0 {
paramtres spcifiques au sous-rseau.
range 192.168.1.1 192.168.1.50;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
paramtres spcifiques au sous-rseau
range 192.168.2.1 192.168.2.50;
}
}
Il est aussi possible dassigner une adresse IP fixe en fonction de ladresse MAC de la machine avec la
syntaxe :
host toto {
hardware ethernet aa:bb:cc:dd:ee:ff ;
fixed-address 192.168.0.10;
}
Pour ce genre de configuration on appellera cela du dhcp simple par opposition au dhcp
volu que nous allons voir maintenant.
14
Mobilit et Scurit
Service RAUMUR
16
Pierre LEONARD
Remarque : Les mthodes substring ( ) et suffix ( ) permettent de dcouper les champs des sous
options circuit-id et remote-id de loption agent.
Il existe aussi une directive "include" propre au fichier dhcpd.conf permettant dinclure des
fichiers indpendant, le but ici tant de gnrer ces fichiers via le script PERL et de les inclure ensuite.
C'est--dire que lutilisateur contrle le fichier dhcpd.conf puis peut y inclure des fichiers de
configuration supplmentaire limitant ainsi les conflits. Cela permet un travail moins fastidieux et plus
souple dans la mesure o si le nombre de configurations similaires est important il y a de grands
risques de faire des erreurs de syntaxes.
Mobilit et Scurit
Service RAUMUR
17
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
18
Pierre LEONARD
4 Solutions VPN
4.1 Notion de VPN
4.1.1 Introduction au VPN
Les applications et les systmes distribus font de plus en plus partie intgrante du paysage
d'un grand nombre d'entreprises. Ces technologies ont pu se dvelopper grce aux performances
toujours plus importantes des rseaux locaux. Mais le succs de ces applications a fait aussi apparatre
un de leur cueil. En effet si les applications distribues deviennent le principal outil du systme
d'information de lentreprise, comment assurer leur accs scuris au sein de structures parfois
rparties sur de grandes distances gographiques ? Concrtement comment une succursale dune
entreprise peut-elle accder de faon scuris aux donnes situes sur un serveur de la maison mre
distant de plusieurs milliers de kilomtres comme si elles taient locales ? Les VPN, Virtual Private
Network ou RPV, Rseau Priv Virtuel en franais, ont commenc tre mis en place pour rpondre
ce type de problmatique. Mais dautres problmatiques sont apparues et les VPN ont aujourdhui pris
une place importante dans les rseaux informatique et linformatique distribues.
Mobilit et Scurit
Service RAUMUR
19
Pierre LEONARD
Gestion d'adresses: Chaque client sur le rseau doit avoir une adresse propre.
Cette adresse doit rester confidentielle. Un nouveau client doit pourvoir se
connecter facilement au rseau et recevoir une adresse.
Cryptage des donnes: Lors de leurs transports sur le rseau public les donnes
doivent tre protges par un cryptage efficace.
Gestion de cls: Les cls de cryptage pour le client et le serveur doivent pouvoir
tre gnres et rgnres.
Prise en charge multiprotocole: La solution VPN doit supporter les protocoles
les plus utiliss sur les rseaux publics en particulier IP.
15
Mobilit et Scurit
Service RAUMUR
20
Pierre LEONARD
4.2 Openvpn
4.2.1 Prsentation
Comme expliqu plus haut, Openvpn est un logiciel libre de droit et il est donc une trs bonne
alternative en ce qui concerne la cration de tunnels protgs utilisant Internet comme support
physique. Openvpn se base sur le protocole de scurisation SSL/TLS pour assurer la confidentialit
des changes, ce protocole a t labor dans le but de protger les donnes via des navigateurs web
(ex: https 16). Lauthentification se fait la plupart du temps laide de certificats accompagns de cls.
Il existe deux modes dutilisations principales concernant Openvpvn:
Mode de niveau 2 : utilisation d'une interface TAP (mode bridg)
Mode de niveau 3 : utilisation d'une interface TUN (mode rout)
Globalement, si l'on ne souhaite grer que du trafic IP (niveau 3) il faudra sorienter vers un
mode dutilisation de niveau 3, tandis que si lon dsire transporter des protocoles autres que IP
(niveau 2) il faudra sorienter vers le mode dutilisation de niveau 3.
Les paquetages Debian ncessaires son installation sont les suivants :
bridge-utils_0.9.6-5_i386.deb -> uniquement pour le serveur (interface TAP)
openssl_0.9.8a-8_i386.deb
libssl0.9.8_0.9.8a-8_i386.deb
liblzo1_1.08-3_i386.deb
openvpn_2.0.6-1_i386.deb
Tous ces paquetages peuvent tre install laide de la ligne de commande "apt-get install
<nom_du_paquet>" sous un environnement Debian.
Mobilit et Scurit
Service RAUMUR
21
Pierre LEONARD
4.2.3.2 Gnralits
SSL est donc un protocole ngociation dvelopp lorigine par Netscape. Son but est de
scuriser les transactions Internet, par authentification du serveur et ventuellement du client, et par
chiffrement de la session.
Il est une couche optionnelle se situant entre les couches dapplication et de transport. Le but
de SSL est dtre un protocole de scurit facile dployer assurant une scurit totale des changes
de plusieurs applications.
Pour TCP, SSL nest quune application qui utilise ses services.
Application
HTTP, FTP .
Handshake
SSL/TLS
Alert
CCS
TCP
Record
IP
TCP
Mobilit et Scurit
Service RAUMUR
22
Pierre LEONARD
4.2.3.3 Fonctionnalits
Les principales fonctions assures par SSL sont :
Authentification : dans SSL v3.0 et TLS, lauthentification du serveur est obligatoire. Elle a
lieu louverture de la session. Elle emploie pour cela des certificats conformes la
recommandation X 509 v3. Cela permet au client de sassurer de lidentit du serveur avant
tout change de donnes. Dans la version actuelle de SSL et de TLS lauthentification du
client reste facultative.
Confidentialit : Elle est assure par des algorithmes de chiffrement symtriques. Bien que le
mme algorithme soit utilis par les deux parties chacune possde sa propre cl secrte quelle
partage avec lautre. Les algorithmes utiliss sont : DES, 3DES, RC2, RC4.
Intgrit : Elle est assure par lapplication dun algorithme de hachage (SHA ou MD5) aux
donnes transmises. Lalgorithme gnre, partir des donnes et dune cl secrte, une
signature pour les donnes appele code dauthentification de message. Ainsi tout changement
appliqu aux donnes provoquera un message derreur ct rcepteur puisque la signature
contenue dans le message sera diffrente de celle calcule par le rcepteur.
Mobilit et Scurit
Service RAUMUR
23
Pierre LEONARD
Suite cette phase de ngociation, le client et le serveur peuvent schanger des donnes de
faon scurise. Celles-ci seront chiffres par lalgorithme symtrique choisit au cours de la
ngociation.
Mobilit et Scurit
Service RAUMUR
24
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
25
Pierre LEONARD
Cration du pont :
Remarques:
Le mode "promisc up" permet de pouvoir voir tout le trafic passant.
La configuration IP de linterface br0 est donne comme exemple avec une adresse de
classe C mais nest pas significative.
o
ou
openvpn --daemon --config /path_du_fichier_de_config
Mode "routed" :
Il ny a aucune configuration pralable effectuer dans ce mode configuration. Une fois les
fichiers de configuration dits de chaque ct du futur tunnel, il suffit de lancer le processus Openvpn
de la mme manire que pour une configuration en mode "bridged".
Mobilit et Scurit
Service RAUMUR
26
Pierre LEONARD
TUN
o
Avantages :
Fonctionne avec nimporte quel protocole de niveau trois (IP, IPX)
Ne ncessite pas de routage
Inconvnients :
Reois tout le traffic (broadcast)
Beaucoup de bande passante gaspille (enttes ethernet)
Plus lent que TUN
Avantages :
Ne reoit que le traffic lui tant destin
Moins de bande passante utilise
Plus rapide que TAP
Inconvnients :
Ncessite dtre rout
Nautorise que du traffic IP
Serveur :
iperf s
ou
iperf s -u
Une fois ceci fait le serveur est en attente de connexion et coute sur toutes les interfaces.
Client :
iperf c <@ip serveur>
ou
iperf c <@ip serveur> -u
ou
iperf c <@ip serveur> -b 10M
ou
iperf c <@ip serveur> -b 100M # test de connexion udp 100Mbits/s
Mobilit et Scurit
Service RAUMUR
27
Pierre LEONARD
Les tests ont donn les rsultats suivants avec TAP ou TUN, pour diffrents algorithmes
de chiffrement et avec/sans compression :
TCP
Simple Lzo BL+Lzo BL DES+Lzo 3DES+Lzo AES128+Lzo AES256+Lzo
TAP
85
153
126
83
131
119
126
131
TUN
90
159
135
84
136
125
131
133
*test de vitesse en TCPMbits/s
UDP [ 100Mbits/s ]
Simple Lzo BL+Lzo BL DES+Lzo 3DES+Lzo AES128+Lzo AES256+Lzo
TAP
85
100
100
84
100
95
100
100
TUN
90
100
100
85
100
100
100
100
*test de vitesse en UDP 100Mbits/s
Lgendes :
o
o
o
o
o
o
Les machines utilises pour ces tests sont un PC de bureau Intel Pentium 4 cadenc 3GHz
avec 256 Mo de mmoire vive et un PC portable Intel Pentium M 1,73GHz avec 1Go de mmoire
vive. Il ressort de ce test queffectivement lutilisation dune interface TUN est plus rapide et
principalement lors de connexion TCP.
Remarque importante:
Une observation supplmentaire concernant la consommation de pourcentage CPU lors de ces
tests dmontre que la compression est trs gourmande en ressources, de lordre de 55-60% sans et
80% avec celle-ci, et cela malgr le changement dalgorithme de chiffrement qui influe peu sur cette
consommation.
Cette remarque devra tre tenu en compte lors du choix de la technologie utiliser pour crer
des VPNs, en effet la compression peut grandement ralentir la machine en charge des VPNs et ainsi
ralentir les utilisateurs. Si le besoin daugmentation de bande passante ne se fait pas ressentir il est
bien entendu possible dignorer cette option.
Mobilit et Scurit
Service RAUMUR
28
Pierre LEONARD
4.2.6.2 Explication
Cette architecture met en uvre autant dinstance du serveur Openvpn que de Vlan auquel il est
rattach, il faut donc jouer sur le numro de port pour pouvoir grer diffrents Vlans.
Il est recommand dutiliser Openvpn avec le protocole UDP pour viter le "TCP over TCP",
c'est--dire lencapsulation de TCP par lui-mme pouvant entraner des problmes de retransmissions
beaucoup trop longue dus au mcanisme de fentrage.
Dans cet exemple, le client VPN du VLAN 12 devra se connecter sur le port 1194 de linstance
du serveur Openvpn lui correspondant et le client VPN du VLAN 13 devra donc se connecter sur le
port 5000 de linstance du serveur Openvpn correspondant son VLAN. Cela oblige bien entendu
fournir aux diffrents clients le numro de port sur lequel ils devront se connecter.
Lattribution dune adresse IP se fera en fonction du Common Name prsent sur le certificat du
client lors de la connexion au serveur ; en effet le serveur doit obligatoirement possder un fichier,
portant le mme nom que le Common Name, dans lequel la configuration IP fixe pour ce client est
prsente. Ainsi mme si un client se connecte sur une autre instance du serveur que la sienne, aucune
adresse ne lui sera attribue et il naura pas accs au rseau.
Mobilit et Scurit
Service RAUMUR
29
Pierre LEONARD
4.3.2.2 Gnralits
IPsec est un protocole destin fournir diffrents services de scurit. Il propose ainsi
plusieurs choix et options qui lui permettent de rpondre de faon adapte aux besoins des entreprises,
particuliers, etc
IPsec sinsre dans la pile de protocole TCP/IP, au niveau dIP. Cela signifie quil agit sur chaque
paquet IP reu ou mis et peut soit le laisser passer sans traitement particulier, soit le rejeter, soit lui
appliquer un mcanisme de scurisation.
Ainsi toutes les implmentations dune pile de protocole TCP/IP dIPv6 intgre nativement
IPsec, en revanche IPsec est optionnel pour la version actuelle dIPv4 et nest pas encore fourni en
standard sur la plupart des systmes courants.
Le placement dIPsec au niveau IP, c'est--dire au niveau rseau, prsente lavantage de le rendre
exploitable par les niveaux suprieurs, et donc doffrir un moyen de protection unique pour toutes les
applications.
Le rseau IPv4 tant largement dploy et la migration vers IPv6 ncessitant encore beaucoup de
temps, il est vite apparu intressant de dfinir des mcanismes de scurit qui soient communs la fois
IPv4 et IPv6.
18
Mobilit et Scurit
Service RAUMUR
30
Pierre LEONARD
Transport
IP
IPSec
Liaison
Figure 4-5: IPSec dans le modle OSI
4.3.2.3 Fonctionnalits
Les principales fonctions que peut assurer le protocole IPsec sont :
Authentification des donnes : permet de sassurer, pour chaque paquet chang, quil a bien
t mis par la bonne machine et quil est bien destination de la seconde machine.
Authentification des extrmits : Cette authentification mutuelle permet chacun de
sassurer de lidentit de son interlocuteur ltablissement du tunnel. Elle sappuie sur le
calcul dintgrit pour garantir ladresse IP source.
Confidentialit des donnes : IPSec permet si on le dsire de chiffrer le contenu de chaque
paquet IP pour viter la lecture de ceux-ci par quiconque. Elle est assure par un chiffrement
symtrique des donnes.
Intgrit des donnes : IPSec permet de sassurer quaucun paquet na subit de modification
quelconque durant son trajet en rajoutant chaque paquet IP le rsultat dun calcul de hachage
(SHA-1 ou MD5) portant sur tout ou partie du datagramme.
Protection contre les coutes et analyses de trafic : IPsec permet de chiffrer les adresses IP
relles de la source et de la destination, ainsi que toute len-tte IP correspondant.
Protection contre le rejeu : IPSec permet de se prmunir des attaques consistant capturer
un ou plusieurs paquets dans le but de les envoyer nouveau pour bnficier des mmes
avantages que lenvoyeur initial. Elle est assure par la numrotation des paquets IP et la
vrification de la squence darrive des paquets.
Mobilit et Scurit
Service RAUMUR
31
Pierre LEONARD
19
Mobilit et Scurit
Service RAUMUR
32
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
33
Pierre LEONARD
Aggressive Exchange : l'change aggressif assure les mmes services que l'change de base,
mais en un nombre minimal de messages (il contracte en fait en un seul message les donnes
de ngociation de la SA, d'authentification et d'change de cl); on notera qu'il empche du
mme coup l'utilisation de l'change de cls selon Diffie-Hellman.
Informational Exchange : l'change d'information est un message univoque d'information
concernant la gestion des SA d'un tiers (modification, suppression, ...).
Mobilit et Scurit
Service RAUMUR
34
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
35
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
36
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
37
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
38
Pierre LEONARD
4.3.7.2 AAA
Authentication : Cela correspond lidentification fiable de lutilisateur, que ce soit une
personne physique ou un service. Cette identification passe par la prsentation de lidentit de
lutilisateur. Cette information est unique chaque utilisateur et non scrte. Elle sert de
rfrence dans la base des utilisateurs. Le contrle de cette information consiste vrifier un
secret partag entre lutilisateur et le serveur. Elle peut tre de plusieurs types :
o Statique : linformation transmise est alors la mme lors dauthentifications
successives : mot de passe type UNIX par exemple.
o Dynamique : on passe alors par un challenge entre le serveur et
lutilisateur, ce qui permet davoir une information diffrente chaque
nouvelle authentification : calculette, carte puce
o Biomtrique : reconnaissance vocale, empreintes, iris
Authorization : Cest le fait de dterminer quels sont les droits de lutilisateur. Par exemple,
aprs stre logg, lutilisateur peut essayer certaines commandes. Lautorisation dtermine si
lutilisateur peut ou non les utiliser. Dans certaines implmentations, lidentification et
lautorisation sont regroupes en une seule tape.
Accounting : Cela consiste mesurer les ressources quun utilisateur consomme, en terme
dchange rseau, de ressources systme Cela sert en fait journaliser un certain nombre
dinformations sur lutilisateur. Cela permet de connatre la fois les services demands par
lutilisateur et la quantit de ressources requises. Ces informations peuvent tre souvent
utilises dans des buts de facturation.
22
Mobilit et Scurit
Service RAUMUR
39
Pierre LEONARD
Protocole
Chiffrement
Architecture
Emission du profile
Protocoles non supports
Challenge/rponse
Mobilit et Scurit
Service RAUMUR
40
Pierre LEONARD
1
Code
2
Ident
3
Longueur
Attributs
Mobilit et Scurit
2 User-Password
5 NAS-Port
8 Framed-IP-Addres
11 Filter-Id
14 Login-IP-Host
17 (unassigned)
20 Callback-Id
23 Framed-IPX-Network
26 Vendor-Specific
Service RAUMUR
3 CHAP-Password
6 Service-Type
9 Framed-IP-Netmask
12 Framed-MTU
15 Login-Service
18 Reply-Message
21 (unassigned)
24 State
41
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
42
Pierre LEONARD
5 Conclusions
5.1 Conclusion gnrale
5.1.1 DHCP
Le paramtrage dun serveur DHCP laide de ce que lon peut appeler "DHCP volu" permet
beaucoup plus quune simple attribution de configuration rseau un client en faisant la demande. Il
est possible deffectuer cette attribution en fonction de nombreux paramtres tels que le lieu de
connexion de lutilisateur ou encore son VLAN dappartenance.
Il est cependant noter que cette prsentation na pas la prtention de fournir une configuration
type et une liste exhaustive de paramtres et de directives pouvant tre utiliss, cette configuration
sapplique ici un environnement bien dfini quest lattribution dadresse IP fixe en fonction du lieu
de connexion. Il faut galement savoir que ce modle de configuration sapplique non seulement dans
ce cas prcis mais galement avec des logiciels adapts et avec la version de DHCP cit ci-dessus,
aucune autre version nayant t test, il en va de mme en ce qui concerne le commutateur utilis
pour les tests.
Ce nouveau service rendu aux utilisateurs, sera mis en production prochainement et permettra
une meilleure utilisation du rseau avec une configuration grandement simplifi. On limite ainsi le
nombre de demandes daide ou de dpannage manant des utilisateurs novices principalement, et on
accrot lautonomie des populations utilisatrices du rseau de campus.
5.1.2 VPNs
Nous avons pu voir ici deux types de connexions client/serveur VPN, la premire utilisant un
logiciel libre et un serveur de type PC, et la seconde faisant appel du matriel Cisco encore une fois
joint un serveur de type RADIUS. Et cest cette dernire qui sera retenu et ventuellement amliore
pour parer des problmes de scurit connus.
Les problmes pouvant apparatre sur cette deuxime configuration touche lauthentification
par mot de passe puisque celui-ci peut ventuellement tre intercept sur le systme client par faute de
chiffrement solide et efficace. Toutefois ce genre de problme peut tre rsolu en utilisant une
authentification par certificat sans mot de passe pr-partag et qui reste cependant plus complexe
mettre en oeuvre.
Il est galement noter que cette configuration a t test sur 3 modles de routeurs diffrents
que sont les Cisco 2620, 1811 et 2851. Un problme de compatibilit a t trouv concernant le
premier de ces modles (2620), puisque bien quaucun bugs ne soit rpertoris entre ce routeur et
limage utilis et supportant les VPN/IPSec (image cisco 12.3(18)), la configuration refusait de
fonctionner et un simple changement de routeur vers des modles plus rcents (1811 et 2851)
embarquant dj des IOS supportant les fonctionnalits requises, sest avr salutaire.
Malgr tout, ce problme de compatibilit ma permit de fouiller dans les documentations de
configuration Cisco et dcouvrir de nombreuses options paramtrables, ainsi que plusieurs modles de
routeur Cisco.
Ces deux services sinscrivent dans la mission du service Raumur qui est de fournir toujours
davantage de services aux utilisateurs dans le but de leur simplifier lutilisation du rseau universitaire,
ainsi de nouveaux accs scuriss distance et une configuration IP dynamique simple dutilisation
viennent enrichir la liste des nombreuses options proposes par le service de gestion du rseau
aquitain.
Mobilit et Scurit
Service RAUMUR
43
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
44
Pierre LEONARD
Mobilit et Scurit
Annexes
Universit Bordeaux 1
Service Raumur
351 crs de la Libration
33400 Talence
Tuteur de stage:
Laurent FACQ
Stagiaire :
Pierre LEONARD
13 mars 16 juin 2006
Responsable pdagogique :
Christophe BAILLOT
Mobilit et Scurit
Service RAUMUR
45
Pierre LEONARD
1 Solution DHCP
1.1 Script Perl
Dhcp_gen_conf.pl
#!/bin/perl
print "Gnration des fichiers de configuration dhcp...\n";
# ouverture du fichier de conf utilisateur
open (CONF,'conf_utilisateur') || die "Pb d'ouverture de
\'conf_utilisateur\' : $!";
# lecture du fichier de conf utilisateur
while (<CONF>) {
if ($_ =~ /^\s/) {$_ =~ s/^\s*//;} # suppression des blancs en dbut
de lignes
if ($_ =~ /^#/ ) {next;}
Mobilit et Scurit
Service RAUMUR
46
Pierre LEONARD
$vlanHexa = substr($vlanHexa,0,2).':'.substr($vlanHexa,2,2);
# rcupration de : module / port / @ip
if ($_ =~ /^PORT\s+\d+\s+\d+\s/ and $network[1] !~ /\s/) {
$_ =~ s/\n$//;
@port = split('\s+',$_,5);
if (@port == 5){$description = $port[4];}
$module = $port[1];
$moduleHexa = sprintf "%02x",$module;
# conversion hexa du
module
if ($type eq "cisco") {
$port = sprintf "%02x",$port[2]-1;
# conversion hexa du
port
}else {$port = sprintf "%02x",$port[2];}
$ip = $port[3];
$classes_name = $network."-vlan ".$vlanHexa."-mod
".$moduleHexa."-port ".$port." on ".$switch_name;
# ouverture du fichier de conf des classes
open (CLASSES,">>$rootclasses") || die "Pb d'ouverture de
\'classes.conf\' : $!";
print "ecriture fichier ".$rootclasses."\n";
# criture dans le fichier de conf des classes
print CLASSES "class \"".$classes_name."\"\{\n\tmatch if
\(substring \(option agent\.circuit-id,2, 2\) = ".$vlanHexa."\) and
\(substring \(option agent\.circuit-id,4,1\) = ".$moduleHexa."\) and
\(suffix \(option agent\.circuit-id, 1\) = ".$port."\) and \(suffix\(option
agent\.remote-id,6\) = ".$mac."\)\;\n\}\n";
# fermeture du fichier de conf des classes
close (CLASSES);
# criture dans le fichier de conf des pools
print SUBNET "pool \{\n\tallow members of
\"".$classes_name."\";\n\trange ".$ip.";\n\}\n\n";
$interface = $port[2];
# criture dans les fichiers de conf des switchs
print SWITCH "interface FastEthernet $type $module/$interface\n
description: $description\n ip access-group IP:$ip in\n switchport access
vlan $vlan\n switchport mode access\n access-list IP:$ip permit 0.0.0.0\n
access-list IP:$ip permit $ip\n\n";
}
}
# fermeture de tous les fichiers encore ouverts
close (CONF);
close (SUBNET);
close (SWITCH);
print "Fichiers gnrs\n";
Mobilit et Scurit
Service RAUMUR
47
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
48
Pierre LEONARD
Name2.conf
pool {
allow members of "name2-vlan 00:0e-mod 00-port 15 on albert";
range 172.18.0.2;
Albert.conf
interface FastEthernet allied-telesyn 00/21
description: studio 2
ip access-group IP:172.18.0.2 in
switchport access vlan 14
switchport mode access
access-list IP:172.18.0.2 permit 0.0.0.0
access-list IP:172.18.0.2 permit 172.18.0.2
Mobilit et Scurit
Service RAUMUR
49
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
50
Pierre LEONARD
2 Solutions VPN
2.1 Openvpn
2.1.1 Fichier de configuration dOpenssl
Openssl-vpn.cnf
HOME
RANDFILE
= .
= $ENV::HOME/.rnd
= $dir/newcerts
= $dir/cacert.pem
= $dir/serial
crl
= $dir/crl.pem
private_key
= $dir/private/cakey.pem
RANDFILE
= $dir/private/.rand
x509_extensions
name_opt
cert_opt
= usr_cert
= ca_default
= ca_default
default_days
= 365
default_crl_days= 30
default_md
= md5
preserve
= no
policy
= policy_match
[ policy_match ]
countryName
= match
stateOrProvinceName
= match
organizationName
= match
organizationalUnitName
= optional
commonName
= supplied
emailAddress
= optional
Mobilit et Scurit
Service RAUMUR
51
Pierre LEONARD
[ policy_anything ]
countryName
= optional
stateOrProvinceName
= optional
localityName
= optional
organizationName
= optional
organizationalUnitName
= optional
commonName
= supplied
emailAddress
= optional
####################################################################
[ req ]
default_bits
= 1024
default_keyfile
= privkey.pem
distinguished_name
= req_distinguished_name
attributes
= req_attributes
x509_extensions
= v3_ca
string_mask = nombstr
[ req_distinguished_name ]
countryName
= Country Name (2 letter code)
countryName_default
= FR
countryName_min
= 2
countryName_max
= 2
stateOrProvinceName
= State or Province Name (full name)
stateOrProvinceName_default
= Gironde
localityName
localityName_default
0.organizationName
= Organization Name (eg, company)
0.organizationName_default
= pierre
organizationalUnitName
= Organizational Unit Name (eg, section)
organizationalUnitName_default
= test reaumur
commonName
commonName_max
emailAddress
emailAddress_max
[ req_attributes ]
challengePassword
challengePassword_min
challengePassword_max
unstructuredName
= A challenge password
= 4
= 20
= An optional company name
[ usr_cert ]
basicConstraints=CA:FALSE
nsComment
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer:always
[ v3_req ]
Mobilit et Scurit
Service RAUMUR
52
Pierre LEONARD
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer:always
basicConstraints = CA:true
[ crl_ext ]
authorityKeyIdentifier=keyid:always,issuer:always
ifconfig
ifconfig
ifconfig
ifconfig
ifconfig
linterface
linterface
linterface
linterface
linterface
tap0
eth0.12
tap1
eth0.13
eth0
Bridge-stop
#!/bin/bash
Mobilit et Scurit
Service RAUMUR
53
Pierre LEONARD
Configuration Serveur
local <@ip>
port 1194
proto udp
# ip publique du serveur
# port changer pour deuxime serveur
dev tap0
tun-mtu 1500
mssfix
persist-key
persist-tun
ca /etc/openvpn/tls/cacert.pem
cert /etc/openvpn/tls/vpn.pierre.crt
key /etc/openvpn/tls/vpn.pierre.key
dh /etc/openvpn/tls/dh1024.pem
tls-auth /etc/openvpn/tls/ta.key
# certificat de l'autorit de
certification
# certificat du serveur
# cl priv du serveur
# cl DH pour initialisation du
tunnel
# cl partage
# chiffrement Blowfish
# compression des donnes => meilleures perfs
max-clients 15
user nobody
group nogroup
status /etc/openvpn/jail/log/status_bridged.log
log-append /etc/openvpn/jail/log/openvpn_bridged.log
verb 4
mute 10
Configuration Client
client
Mobilit et Scurit
Service RAUMUR
54
Pierre LEONARD
# type interface tap (layer2)
# ip publique du serveur joindre + port
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/tls/cacert.pem
# certificat de l'autorit de
certification
cert /etc/openvpn/tls/nomade1.pierre.crt # certificat du client
key /etc/openvpn/tls/nomade1.pierre.key # cl prive du client
tls-auth /etc/openvpn/tls/ta.key
# cl partage
keepalive 10 60
cipher BF-CBC
comp-lzo
# chiffrement Blowfish
# compression des donnes => meilleures perfs
chroot /etc/openvpn/jail/log
log-append /etc/openvpn/jail/log/openvpn_bridged_client_tap.log
verb 2
mute 5
# ip publique du serveur
dev tun
tun-mtu 1500
mssfix
persist-key
persist-tun
ca /etc/openvpn/tls/cacert.pem
cert /etc/openvpn/tls/vpn.pierre.crt
key /etc/openvpn/tls/vpn.pierre.key
dh /etc/openvpn/tls/dh1024.pem
# certificat de l'autorit de
certification
# certificat du serveur
# cl priv du serveur
# cl DH pour initialisation du
tunnel
duplicate-cn
server 192.168.1.0 255.255.255.0
chroot /etc/openvpn/jail
client-config-dir ccd
ccd-exclusive
client-to-client
keepalive 10 120
cipher BF-CBC
comp-lzo
max-clients 15
user nobody
group nogroup
Mobilit et Scurit
Service RAUMUR
55
Pierre LEONARD
status /etc/openvpn/jail/log/status_routed.log
log-append /etc/openvpn/jail/log/openvpn_routed.log
verb 4
mute 10
Configuration Client
client
dev tun
proto udp
remote <@ip> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/tls/cacert.pem
# certificat de l'autorit de
certification
cert /etc/openvpn/tls/nomade1.pierre.crt # certificat du client
key /etc/openvpn/tls/nomade1.pierre.key # cl prive du client
keepalive 10 60
cipher BF-CBC
comp-lzo
# chiffrement Blowfish
# compression des donnes => meilleures perfs
chroot /etc/openvpn/jail/log
log-append /etc/openvpn/jail/log/openvpn_routed_client_tun.log
verb 2
mute 5
Mobilit et Scurit
Service RAUMUR
56
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
57
Pierre LEONARD
group 2
!
!
# dfinition des groupes
crypto isakmp client configuration group test-cisco-vpn
key key-vpn
# cl partage concentrateur VPN/client
domain u-bordeaux.fr
!
crypto isakmp client configuration group test-toto
key key-toto
domain toto.fr
!
# dfinition des profils
crypto isakmp profile profile-pierre
description profile test reaumur
vrf vrflabo
# dfinition de la vrf
match identity group test-cisco-vpn
# identification du groupe
client authentication list authentication-radius # paramtres AAA
isakmp authorization list authorization-radius
client configuration address respond
accounting accounting-radius
keepalive 30 retry 5
initiate mode aggressive
# mode de ngociation
crypto isakmp profile profile-toto
description profile test reaumur toto
vrf vrflabo2
match identity group test-toto
client authentication list authentication-radius
isakmp authorization list authorization-radius
client configuration address respond
accounting accounting-radius
keepalive 30 retry 5
initiate mode aggressive
!
!
# dfinition des paramtres de scurit utilis pour chiffrer les donnes
crypto ipsec transform-set set-cisco-vpn esp-3des esp-sha-hmac
!
# dfinition des maps dynamiques
crypto dynamic-map map-4 5
set transform-set set-cisco-vpn
# application des parametres de scurit
set isakmp-profile profile-pierre # application du profil
reverse-route
# prciser le chemin retour des paquets
crypto dynamic-map map-4 10
set transform-set set-cisco-vpn
set isakmp-profile profile-toto
reverse-route
!
!
# dfinition de la map principale
crypto map map-5 10 ipsec-isakmp dynamic map-4
!
# paramtrage des interfaces Ethernet
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
crypto map map-5
!
!
!
interface GigabitEthernet0/1
Mobilit et Scurit
Service RAUMUR
58
Pierre LEONARD
no ip address
duplex auto
speed auto
!
interface GigabitEthernet0/1.1
# sous interface 0/1.1
encapsulation dot1Q 12
# appartient au VLAN 12
ip vrf forwarding vrflabo
# faire suivre les trames de la vrflabo
ip address xxx.xxx.xxx.251 255.255.255.224
no snmp trap link-status
!
interface GigabitEthernet0/1.2
encapsulation dot1Q 13
ip vrf forwarding vrflabo2
ip address xxx.xxx.xxx.222 255.255.255.224
no snmp trap link-status
!
!
# table de routage standard & VRFs
ip route 0.0.0.0 0.0.0.0 xxx.xxx.xxx.254
ip route vrf vrflabo xxx.xxx.xxx.224 255.255.255.224 xxx.xxx.xxx.251
ip route vrf vrflabo2 xxx.xxx.xxx.192 255.255.255.224 xxx.xxx.xxx.222
!
!
ip http server
no ip http secure-server
!
!
# dfinition de la cl partage NAS/RADIUS
radius-server host 192.168.1.3 auth-port 1812 acct-port 1813 key key-radius
!
control-plane
!
line con 0
line aux 0
line vty 0 4
privilege level 15
transport input ssh
!
scheduler allocate 20000 1000
!
webvpn context Default_context
ssl authenticate verify all
!
no inservice
!
!
end
Mobilit et Scurit
Service RAUMUR
59
Pierre LEONARD
Mobilit et Scurit
Service RAUMUR
60
Pierre LEONARD
modules {
preprocess {
huntgroups = ${confdir}/huntgroups
hints = ${confdir}/hints
with_ascend_hack = no
ascend_channels_per_line = 23
with_ntdomain_hack = no
with_specialix_jetstream_hack = no
with_cisco_vsa_hack = no
}
detail {
detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y-%m-%d
detailperm = 0600
}
files {
usersfile = ${confdir}/users
acctusersfile = ${confdir}/acct_users
preproxy_usersfile = ${confdir}/preproxy_users
compat = no
}
}
# Les modules sont appliqus aux tapes du traitement dune requte
authorize {
preprocess
files
}
authenticate {
}
preacct {
preprocess
files
}
accounting {
detail
}
session {
}
post-auth {
}
pre-proxy {
}
post-proxy {
}
Clients.conf
Mobilit et Scurit
Service RAUMUR
61
Pierre LEONARD
= key-radius
= router
= other
# cl partage serveur/NAS
Users
pierre
User-Password == "pierre"
Framed-IP-Address = xxx.xxx.xxx.236, # IP attribuer pierre
Framed-IP-Netmask = 255.255.255.224
toto
User-Password == "toto"
# IP attribuer toto
Framed-IP-Address = xxx.xxx.xxx.193,
Framed-IP-Netmask = 255.255.255.224
Mobilit et Scurit
Service RAUMUR
62