Rapport du Projet IPv6

squaddinnerladySoftware and s/w Development

Jul 2, 2012 (5 years and 1 month ago)

554 views

Rapport du Projet IPv6
Astruc Benoit,Silohian Christophe
3 mars 2005
Table des mati`eres
Introduction...............................
3
1 Polytech’Lille 4
1.1 Pr´esentation de l’´ecole......................
4
1.2 Pr´esentation du service Informatique..............
5
2 IPv6 6
2.1 IPv6,c’est quoi?.........................
6
2.1.1 Syst`eme d’adressage...................
6
2.1.2 Mobilit´e..........................
9
2.1.3 S´ecurit´e..........................
9
2.2 Les atouts d’IPv6.........................
10
2.3 Le r´eseau IPv6`a Polytech’Lille.................
12
3 La s´ecurit´e sur le r´eseau 13
3.1 Principes de la s´ecurit´e......................
13
3.1.1 Algorithmes de chiffrement................
13
3.1.2 Les diff´erents services de s´ecurit´e............
13
3.1.3 Les attaques classiques..................
14
3.2 La s´ecurit´e appliqu´ee pour IPv6.................
15
3.2.1 Les extensions de s´ecurit´e................
15
3.2.2 Associations et polices de s´ecurit´e............
15
4 D´eroulement du Projet 17
4.1 Chronologie............................
17
4.2 Travaux pr´eliminaires.......................
18
4.2.1 Mise en place du mat´eriel................
18
4.2.2 Prise de contact IPv6...................
19
4.3 Travaux r´ealis´es..........................
22
4.3.1 D´efinition des besoins...................
22
4.3.2 Setkey...........................
22
4.3.3 Racoon..........................
23
1
TABLE DES MATI
`
ERES 2
4.3.4 Isakmpd..........................
23
4.3.5 FreeS/WAN........................
24
4.3.6 IPsec en noyau 2.4.24...................
24
4.4 Protocole de d´eploiement.....................
24
4.4.1 Installer le dernier noyau.................
24
4.4.2 Installer les outils g´erant IPsec.............
25
Conclusion 26
R´ef´erences 28
Glossaire 29
Annexes 32
Script d’installation........................
32
Fichier de configuration automatique de setkey (ipsec.policy).
34
Fichier de configuration de racoon (racoon.conf)........
35
Fichier de lancement de racoon (/etc/init.d/racoon)......
36
Fichier de configuration manuelle de setkey...........
37
isakmpd.conf...........................
38
RFC3513:Inversion du ”u” bit.................
40
Liste de site accessibles en IPv6.................
41
Introduction
Depuis sa cr´eation en 1973,le protocole IP(Internet Protocol) est de-
venu le protocole standard en mati`ere de communication r´eseau.Aujourd’hui,
toutes les machines connect´ees`a Internet utilisent IP.Mais au vu de l’accrois-
sement de plus en plus important du nombre de machines reli´e`a Internet,le
nombre d’adresses IP disponibles a diminu´e de fa¸con consid´erable.
C’est pour palier`a ce probl`eme qu’est n´e en 1992 l’IPv6 (l’actuelle g´en´e-
ration est appel´e IPv4).En effet,grˆace`a un syst`eme d’adressage sur 128 bits,
le nombre d’adresse disponible est multipli´e par 2
96
.C’est l’IETF(Internet
Engineering Task Force),l’un des organismes de standardisation de l’Internet
qui est charg´e de d´efinir le nouveau protocole.En plus d’y apporter l’aug-
mentation du nombre d’adresses disponibles,l’IETF a d´ecid´e d’apporter un
certain nombre d’am´eliorations au protocole comme par exemple,la mobi-
lit´e ou la s´ecurit´e,inexistantes en IPv4.A l’heure actuelle,IPv6 n’est qu’en
phase de d´eploiement.Mˆeme si le protocole est d´ej`a en place,l’instauration
des adresses priv´ees en IPv4 a ralentit l’essor d’IPv6.Ce sont essentiellement
les asiatiques et les europ´eens qui d´eveloppent le plus de r´eseaux IPv6,´etant
donn´e que les am´ericains sont loin d’avoir ´epuis´e toutes leurs adresses IPv4.
Parmi les organismes qui ont jug´e indispensable de d´eployer ce protocole,on
retrouve l’´ecole Polytech’Lille.
Si IPv6 est implant´e et fonctionnel,il n’est pas encore s´ecuris´e.Et c’est
dans cette optique de s´ecurisation des communications que Xavier Redon
nous a demand´e de travailler.Le but du projet est de pouvoir ´etablir des
communications authentifi´ees et chiffr´ees sur tout le r´eseau de l’´ecole,entre
serveurs,entre machines clientes et serveurs et entre machines clientes.
Dans ce d´eveloppement,apr`es avoir pr´esent´e l’´ecole et son service infor-
matique,nous allons expliquer ce qu’est IPv6,ses atouts et ce qui existe d´ej`a
`a Polytech’Lille.Nous d´etaillerons ensuite tout ce qui concerne la s´ecurit´e
sur le r´eseau.Et pour finir,nous commenterons nos travaux.
En esp´erant que la lecture de ce document vous inspire en vue de s´ecuriser
vos propre r´eseaux.
3
Chapitre 1
Polytech’Lille
1.1 Pr´esentation de l’´ecole
L’´ecole Polytechnique Universitaire de Lille (Polytech’Lille) est une ´ecole
d’ing´enieur implant´ee sur le centre universitaire scientifique de Villeneuve
d’Ascq.Autrefois appel´ee EUDIL (
´
Ecole Universitaire D’Ing´enieur de Lille),
l’´ecole a ´et´e fond´e en 1969.
Aujourd’hui,Polytech’Lille poss`ede 8 d´epartements d’enseignements,tous
touchant`a des domaines diff´erents:

IMA:Informatique,Mesure,Automatique.

ITEC:Instrumentation Technique Et Commerciale.

GIS:G´enie Informatique et Statistique.

GTGC:G´enie Thermique,G´enie Civile.

CM:Construction M´ecanique.

SM:Sciences des mat´eriaux.

IAAL:Institut Agro-Alimentaire de Lille qui avant,´etait une ´ecole
ind´ependante et qui a fusionn´e avec l’EUDIL pour donner Polyte-
ch’Lille.

IESP:Ing´enieur d’Exploitation des Syst`emes de Production.Unique-
ment reserv´e aux formations continues ayant une exp´erience profession-
nel d’au moins 3 ans.
Chaque d´epartement`a la possibilit´e de d´elivrer le diplome d’Ing´enieur par
la voie de la formation continue.A ces 8 d´epartements s’ajoute ´egalement 3
Masters:

Cost Engineering.

Design Strat´egique.

G´enie de l’eau.
4
CHAPITRE 1.POLYTECH’LILLE 5
Polytech’Lille fait partie de deux r´eseaux d’´ecoles d’ing´enieur.Le premier,
cr´e´e en 1991-92 est le r´eseau Eiffel.Ce r´eseau regroupait`a sa cr´eation trois
´ecoles d’ing´enieurs:en plus de l’EUDIL,on y trouvait l’ISIM Montpellier
(aujourd’hui devenu Polytech’Montpellier) et le CUST de Clermont-Ferrand.
Puis par la suite,l’ISTG de Grenoble (devenu depuis Polytech’Grenoble) est
venu s’y adjoindre.Le second r´eseau est le r´eseau Polytech qui se d´eveloppe
de plus en plus dans toute la France.En plus de Lille,Nantes,Marseille,
Montpellier,Grenoble,Orl´ean et Tours en font partie.
1.2 Pr´esentation du service Informatique
L’´ecole poss´ede un parc informatique de grande ampleur.Plus de 600
postes sont connect´es en r´eseau.Pour maintenir ce parc,l’´ecole poss`ede un
service informatique compos´e de six personnes:

Jean-Michel Duthilleul:enseignant et co-responsable du service

Xavier Redon (notre tuteur):enseignant et co-responsable du service

Patrick Menager:ing´enieur

Juliette Loiseleux:ing´enieur (80%)

Dominique Fran¸cois:technicien

Dominique Golpart:technicien (50%)
Le service informatique a pour but:

D’installer syst`emes d’exploitation et logiciels sur chaque machine.

D’effectuer la maintenance du mat´eriel.

De g´erer les comptes des ´etudiants et du personnel.

De controler le bon fonctionnement d’un r´eseau qui comprend plus de
10 serveurs,environ 150 kilom`etres de cˆables,2 routeurs,60 commuta-
teurs.

De g´erer le service de messagerie (cr´eation des listes de diffusion,controle
anti-virus des pi`eces jointes,etc).

De g´erer tous ce qui concerne l’acc`es`a Internet.
C’est ce mˆeme service informatique qui a d´ecid´e de mettre en place le pro-
tocole IPv6 sur le r´eseau de l’´etablissement.Aujourd’hui,c’est dans le cadre
du d´eveloppement du r´eseau que avons ´et´e charg´e de s´ecuriser ce protocole.
Chapitre 2
IPv6
2.1 IPv6,c’est quoi?
Ce chapitre n’a pas pour but de tout expliquer sur IPv6.Il existe des
livres [2] qui font cela tr`es bien...en 430 pages.Nous irons donc`a l’essentiel
en expliquant les changements les plus visibles et les plus important.
Le protocole IPv6 a ´et´e mis en place dans le but de remplacer le protocole
IPv4 dont le nombre d’adresse disponible commence`a s’essoufler.C’est ce
changement qui est le plus visible aux yeux des utilisateurs.Donc,pour bien
comprendre IPv6,faut d’abord comprendre son syst`eme d’adressage.Nous
poursuivrons par la mobilit´e et la s´ecurit´e qui n’existait pas sur IPv4.
2.1.1 Syst`eme d’adressage
Si l’adresse IPv4 est cod´ee sur 32 bits,exprim´ee en d´ecimal et subdivis´ee
en 4,chaque subdivision ´etant s´epar´e par un ’.’,l’adresse IPv6 est elle cod´ee
sur 128 bits,exprim´ee en hexad´ecimal et subdivis´ee en 8,chaque subdivision
´etant s´epar´e par un ’:’.
Adresse IPv4:192.168.0.13
Adresse IPv6:2001:660:4401:6004:74ff:fe14:e2
Ala diff´erence d’IPv4 o`u toutes les valeurs de l’adresse doivent ˆetre saisies,
IPv6 accepte de raccourcir l’adresse en cas de ’0’ successifs.Ainsi,l’adresse
fe80:0:0:0:208:74ff:fe14:e2 pourra s’´ecrire fe80::208:74ff:fe14:e2.
Cette abr´eviation ’::’ ne peut se retrouver qu’une fois dans toute l’adresse.
Ceci afin d’´eviter toute confusion.L’adresse fe80:0:0:20:0:0:ff18:82ab
ne pourra pas s’´ecrire fe80::20::ff18:82ab car on ne sait pas dans ce cas-l`a
6
CHAPITRE 2.IPV6 7
combien de ’0’ successifs se trouvent`a chaque abr´eviation.Une telle adresse
pourra donc s’´ecrire de deux mani`eres diff´erentes:

fe80::20:0:0:ff18:82ab ou

fe80:0:0:20::ff18:82ab.
L’´ecriture du pr´efixe est par contre identique`a IPv4.En IPv4,pour ´eviter
d’´ecrire tout le masque r´eseau,ce qui est souvent fastidieux (255.255.255.0),
l’abr´eviation/24 a fait son apparition.Cette abr´eviation signifie que les 24
premiers bits du masque sont`a 1 et les autres`a 0.Vu la taille importante des
adresses IPv6,cette abr´eviation s’est vite montr´e indispensable car au lieu
de taper ffff:ffff:ffff:ffff:0:0:0:0,mettre/64`a la fin de l’adresse se
r´ev`ele bien plus pratique.Pour ´eviter l’ambigu¨ıt´ee du symbole ’:’ qui est
aussi utilis´e pour sp´ecifier le num´ero du port dans une URL,les symboles ’[
]’ devront entourer l’adresse afin de bien distinguer adresse et port;

http://2001:1234:5678::1:8000:ambigu¨ıt´e

http://[2001:1234:5678::1]:8000:ici,on comprend parfaitement
que l’on souhaite acc´eder`a l’adresse 2001:1234:5678::1 par le port
8000.
Il n’existe pas un mais trois types d’adresses.Les types d’adresses sont:

Adresse unicast

Adresse multicast

Adresse anycast
L’adresse unicast est l’adresse la plus simple car elle d´esigne une machine
unique.Un paquet envoy´e`a cette adresse n’arrivera qu’`a une seule interface.
A cette adresse unicast existe deux type d’adresses:

Adresse lien local (adresse r´eseau priv´e,non routable sur Internet)

Adresse lien global (adresse routable sur Internet)
Une machine poss`ede donc deux adresses IPv6:une locale au r´eseau qui a
pour pr´efixe fe80::/10 (c’est`a dire toutes les adresses comprise entre fe80::
et fe8c::non inclu) et qui a une dur´ee de vie illimit´ee,et une adresse globale
routable sur Internet qui a pour prefixe 2000::/3 (c’est`a dire toutes les
adresses comprises entre 2000::et 4000::non inclu).
A ces deux types d’adresses que toutes les machines poss`edent (sauf celles
non connect´ees`a Internet qui n’ont que l’adresse locale),il existe d’autres
types d’adresses unicast:

Adresse indetermin´ee (::) qui est utilis´ee uniquement pendant l’initia-
lisation du protocole.

Adresse de bouclage (::1) ´equivalente`a l’adresse 127.0.0.1 en IPv4
(adresse localhost)

Adresse IPv4 mapp´ee de la forme::ffff:a:b:c:d o`u a:b:c:d est
CHAPITRE 2.IPV6 8
l’adresse IPv4 de la machine.Ce type d’adresse peut ´egalement s’´ecrire
sous la forme::ffff:XXXX:YYYY o`u XXXX:YYYY est la version hexad´e-
cimale de a:b:c:d.Cette adresse sert`a communiquer en IPv4 avec une
machine IPv4 tout en restant dans une famille d’adresse IPv6.

Adresse IPv4 compatible sous la forme::a:b:c:d ou::XXXX:YYYY
avec a:b:c:d,l’adresse IPv4 de la machine et XXXX:YYYY son ´ecriture
hexad´ecimale.Cette adresse sert`a communiquer avec une machine IPv6
par le biais d’un tunnel IPv6/IPv4.
Le deuxi`eme type d’adresse est l’adresse multicast.Elle est ´equivalente`a
une adresse broadcast en IPv4,c’est`a dire une adresse qui d´efinit un groupe
d’interface.Envoyer un paquet`a une adresse multicast revient`a envoyer un
paquet`a toutes les machines du r´eseau.Ce type d’adresse a pour pr´efixe
ff00::/8.
Enfin,la derni`ere,l’adresse anycast d´efinit aussi un groupe d’interface.
Mais`a la diff´erence de l’adresse multicast,le paquet envoy´e n’arrivera qu’`a
une machine du r´eseau.
Il est vrai que les adresses IPv6 sont beaucoup plus longues que les adresses
IPv4 et donc,plus fastidieuses`a taper.Mais le syst`eme d’autoconfiguraton
des machines simplifie grandement la tache.Le m´ecanisme est tr`es simple.
Prenons le cas d’une configuration pour une adresse locale.L’autoconfigu-
ration de l’adresse se fait`a partir de l’adresse MAC de la carte (autre-
ment dit,son adresse physique) et en y rajoutant un pr´efixe.Illustrons ceci
par un exemple:prenons une machine qui poss`ede comme adresse MAC
00-0c-29-c2-52-ff not´ee sur 48 bits.Le m´ecanisme d’autoconfiguration va
d’abord ajouter les bits 0xfffe`a partir du 24e bit de l’adresse MAC.On
obtient un mot de 64 bits 00-0c-29-ff-fe-c2-52-ff.La seconde mani-
pulation consiste`a inverser le 7e bit du premier octet afin de respecter la
RFC3513[7] d´ecrivant le m´ecanisme EUI-64
1
.On obtient donc un nouveau
mot de 64 bits 02-0c-29-ff-fe-c2-52-ff.R´e´ecrivons ce mot`a la mani`ere
IPv6:020c:29ff:fec2:52ff.Pour finir,il est ajout´e`a ce mot de 64 bits,
un autre mot de 64 bits qui est le prefixe des adresses locales (fe80::/64).
R´esultat:sans que l’utilisateur n’ait`a configurer quoi que ce soit,sa machine
a d´ej`a une adresse locale qui est fe80::20c:29ff:fec2:52ff.Le m´ecanisme
est`a peu pr`es similaire pour les adresses globales,en ce qui concerne les 64
derniers bits.
1
Pour plus de d´etails consulter l’annexe:4.4.2
CHAPITRE 2.IPV6 9
2.1.2 Mobilit´e
Une avance importante de l’IPv6 est le concept de mobilit´e.En IPv4 lors-
qu’on d´epla¸ce un ´equipement dot´e d’une adresse IP
2
que nous nommerons par
la suitemobile,il est n´ecessaire de reconfigurer son adresse IP manuellement
et il n’existe alors plus aucun lien entre son ancienne adresse et la nouvelle.
La seule fa¸con pour le mobile de communiquer avec son r´eseau d’origine est
alors de cr´eer un r´eseau priv´e virtuel (VPN:Virtual Private Network).Une
solution qui est loin d’ˆetre facile`a mettre en oeuvre.
En IPv6 un mobile aura un r´eseau m`ere et une adresse m`ere.L’objectif de
la mobilit´e est de faire en sorte que le mobile soit toujours joignable`a son
adresse m`ere quel que soit le r´eseau auquel il est connect´e.
Cela est r´ealis´e de la fa¸con suivante:lorsque le mobile est connect´e`a un sous-
r´eseau ´etranger il obtient,avec les m´ecanismes d’autoconfiguration d’IPv6,
une adresse temporaire.Il contacte alors un routeur situ´e sur son sous-r´eseau
m`ere et lui indique l’association de son adresse m`ere et de son adresse tem-
poraire.A partir de ce moment-l`a le routeur devient l’agent m`ere du mobile
et fera office de proxy,il interceptera tous les paquets destin´es`a l’adresse
m`ere du mobile et les tunnellera`a son adresse temporaire.
2.1.3 S´ecurit´e
Ce chapitre ne d´etaillera pas toute la partie s´ecurit´e.Nous parlerons uni-
quement de la couche IPsec d’IPv6.Tout ce qui touche`a la s´ecurit´e dans un
r´eseau sera d´etaill´e dans la seconde partie.
Lors de la mise en place de ce protocole,l’IAB (Internet Architecture
Board) a demand´e`a ce qu’IPv6 poss`ede une couche s´ecurit´e,non pr´esente
en IPv4.Cette couche de s´ecurit´e (IPsec) doit permettre de s´ecuriser plus
facilement les r´eseaux de mani`ere plus l´eg`ere alors que sur IPv4,la plupart
des syst`emes courants n’impl´ementent rien`a ce niveau-l`a.
L’IETF a d´ecid´e d’inclure dans les fonctionnalit´es d’IPsec trois services
indispensables pour prot´eger les donn´ees contre des attaques telles que l’usur-
pation d’identit´e (IP spoofing) et l’´ecoute du traffic sur un r´eseau (IP snif-
fing):

La confidentialit´e des donn´ees.

L’int´egrit´e des donn´ees.
2
tel qu’un ordinateur portable,mais cela pourrait aussi ˆetre un t´el´ephone portable
ou n’importe quel ´equipement r´eseau embarqu´e`a bord d’un avion,d’un bateau,d’une
voiture...
CHAPITRE 2.IPV6 10

L’authentification de l’origine des donn´ees.
Pour mettre en place ces services,l’IETF a d´efini deux nouvelles extensions
IP de s´ecurit´e dans la RFC1752[9] qui sont les extensions AH (Authentication
Header ou en-tˆete d’authentification) et ESP (Encapsulation Security Pay-
load ou extension de confidentialit´e).Les deux extensions offrent les services
d’authentification,d’int´egrit´e ainsi que la detection de rejeu.L’AH offre en
plus le service de non r´epudiation (non dissimulation d’identit´e).L’ESP offre
quand`a lui la confidentialit´e des donn´ees et du flux.
La protection des communications grˆace`a ces deux extensions permet de
communiquer:

Directement d’une machine`a l’autre.

Entre deux machines passant par des passerelles tels qu’un routeur ou
un pare-feu.

Entre une machine et une ou plusieurs passerelles.
Deux modes permettent d’´etablir ces communications:

Le mode transport qui prot`ege la charge utile des paquets.Ce mode
n’est utilisable que sur des ´equipements terminaux.

Le mode tunnel qui prot`ege tous les paquets en les faisant passer par
un tunnel IP.
Malgr`es tout ce qui a ´et´e mis en place dans le but de s´ecuriser les r´eseaux,
IPsec n’est pas exempt de critiques.La principale ´etant la diminution des
performances du r´eseau en terme de d´ebit`a cause notamment des op´erations
de chiffrements et d´echiffrements des communications mais ´egalement des
op´erations de g´en´erations et de v´erifications d’identit´e lourdes en temps de
calcul.Il existe d’autres lacunes mais qui seront expliqu´ees dans la partie II
consacr´ee enti`erement`a la s´ecurit´e.
2.2 Les atouts d’IPv6
IPv6 n’a pas ´et´e mis en place dans le seul but de proposer un protocole
suppl´ementaire.Il doit,`a terme,remplacer le protocole actuel IPv4.l’IETF,
ne souhaitant pas faire une photocopie de l’actuel protocole,a cr´e´e l’IPv6
dans le but de combler les lacunes d’IPv4.
La principale lacune ´etant le nombre d’adresses routables sur Internet.Comme
`a la base,IPv4 n’avait pour but d’interconnecter qu’une petite centaine de
machines,les 2
32
adresses ´etaient largement suffisantes.Avec le d´eveloppement
d’Internet,ce n’est plus le cas.IPv6 r´esout le probl`eme en proposant 2
128
adresses possible soit environ 1500 machines connect´ees au m`etre carr´e de
planete,oc´eans inclut.
CHAPITRE 2.IPV6 11
La seconde am´elioration porte sur la taille des tables de routage qui,en
IPv4,sont vite devenues disproportionn´ees`a cause du d´eveloppement du
nombre de r´eseaux sur l’Internet.Ce d´eveloppement rend la maintenance
des tables de plus en plus complexe.Pour r´esoudre ce probl`eme des tables
de routage,une solution d’agr´egation de r´eseaux contigus en un seul pr´efixe
a ´et´e mis en place.C’est le CIDR (Classless Inter Domain Routing).Le
CIDR permet d’´etablir une structuration hi´erarchique de l’adressage.Cette
solution a ´et´e int´egr´ee dans les protocoles de routage ce qui permet de router
des ensemble de r´eseaux de mani`ere plus ais´ee.Le CIDR devait,dans un
premier temps,ˆetre mis en place pour IPv4.Mais la petite taille des adresses
ne permettait pas une bonne structuration,sans compter que de nombreuses
adresses sont allou´ees depuis plusieurs ann´ees.En IPv6,ces probl`emes sont
r´esolu car:

D`es le d´ebut le plan d’adressage est hi´erarchique,´eliminant les longs
pr´efixes.

Les sites multi-domicili´es poss´ederont autant d’adresses que de fournis-
seurs,permettant ainsi de garantir une agr´egation.

Des m´ecanismes de renum´erotation automatique permettent aux sites
de changer facilement de pr´efixe quand cela est n´ecessaire.
Si pour l’instant le plan d’adressage le plus adapt´e est le plan hi´erachique,
d’autres r`egles pourrait voir le jour (par exemple coordonn´ees g´eographiques).
L’IETF veut en fait imposer une certaine rigueur concernant l’allocation des
adresses IPv6 afin d’´eviter le probl`eme que connait actuellement IPv4:des
tables de routage beaucoup trop volumineuses.
Grˆace`a l’IPv6,l’IETF a r´eussi`a r´esoudre les deux probl`emes majeurs de
l’IPv4:le manque d’adresse et l’explosion des tables de routage.Mais aussi
`a am´eliorer le protocole en y rajoutant les fonctions d’autoconfiguration des
terminaux (rien de concret`a l’heure actuelle pour l’autoconfiguration des
routeurs),de mobilit´e et de s´ecurit´e.L’autoconfiguration des machines est
un formidable atout pour tout les r´eseaux non administr´es tels que dans les
PME/PMI ou chez les particuliers.
D’apr`es le cahier des charges qui a ´et´e fix´e par l’IESG(Internet Engineering
Steering Group) lors de la cr´eation de l’IPng (IP new generation),IPv6 est
capable:

D’adresser au moins un milliard de r´eseaux.

De proposer un plan de transition ”sans jour J”.

De prendre en compte`a terme la mobilit´e,la r´eservation de ressources,
les hauts d´ebits,etc.
CHAPITRE 2.IPV6 12
2.3 Le r´eseau IPv6`a Polytech’Lille
Mˆeme si IPv6 est loin d’ˆetre finalis´e,l’´ecole Polytech’Lille a d´ecid´e d’an-
ticiper en d´eployant ce protocole au sein de son r´eseau.Le pr´efixe IPv6 du
r´eseau de l’´ecole est 2001:660:4401:60/56.Le r´eseau est subdivis´e en sous
r´eseaux dont les adresses sont de la forme 2001:660:4401:600x/60 o`u x est
le num´ero du vlan.
Il est possible pour n’importe quel ´etudiant de se connecter,en IPv6,sur une
autre machine de l’´ecole en ex´ecutant la commande:
ssh -6 nom
de
la
machine.escaut.net
D’autres services sont accessibles en IPv6:

Acc`es`a Internet (service HTTP:HyperText Transfert Protocol),uni-
quement bien sˆur aux sites accessibles en IPv6 (Ex:www.kame.net,
www.usagi.net,www.polytech-lille.fr,etc).

Acc`es au service d’envoi de mail (service SMTP Simple Mail Transfert
Protocol) par le biais du serveur de messagerie douaisis.Connexion`a
celui-ci en IPv6 et envoi du mail en IPv6.

Acc`es au service FTP(File Transfert Protocol) par l’adresse ftp.polytech-
lille.fr.

Etablissement de communication TCP (Transmission Control Proto-
col),UDP (User Datagram Protocol) et ICMP6 (Internet Control Mes-
sage Protocol).
Tous les services disponibles en IPv4 ne sont pas encore disponible en IPv6.
Certains n’y passerons jamais (Ex:Telnet).D’autres pourraient ˆetre amen´es
`a y passer,dans la mesure du possible (Ex:Le service d’impression).
Si les administrateurs r´eseaux ont mis en place IPv6,ils n’ont pas encore
touch´e`a la couche de s´ecurit´e IPsec.C’est`a dire que tout ce qui circule en
IPv6 sur le r´eseau est en clair.Nous afficherons dans le chapitre quatre de
ce rapport les tests que nous avons effectu´e,notamment sur le service SMTP
o`u,grˆace au logiciel Ethereal disponible sur tous les syst`emes d’exploitations,
nous avons pu visualiser en clair le message que nous avons envoy´e.
Chapitre 3
La s´ecurit´e sur le r´eseau
3.1 Principes de la s´ecurit´e
3.1.1 Algorithmes de chiffrement
Chiffrement sym´etrique
L’une des deux familles d’algorithmes de chiffrement.Dans cette cat´egorie
les deux entit´es connaissent et utilisent le mˆeme secret comme cl´e de chif-
frement et de d´echiffrement.L’avantage de ces algorithmes est la rapidit´e
`a laquelle s’effectue le chiffrement et le d´echiffrement.La phase d´elicate est
celle de l’´echange de la cl´e de chiffrement.
Chiffrement asym´etrique
Dans cette deuxi`eme famille d’algorithmes de chiffrement,chaque cor-
respondant utilise une paire de cl´e.Une cl´e publique servant`a chiffrer les
messages que l’on veut lui envoyer et une cl´e priv´ee qui lui sert`a d´echiffrer
les messages que l’on lui envoie.Il n’y a alors plus besoin d’´echanger de
cl´e.L’inconv´enient de ces algorithmes est que leur temps de calcul est plus
important que celui des algorithmes sym´etriques.
3.1.2 Les diff´erents services de s´ecurit´e
En mati`ere de r´eseau lorsqu’on parle de s´ecurit´e il faut distinguer un
grand nombre de services diff´erents:

La confidentialit´e des donn´ees,sans doute la premi`ere`a laquelle on
pense.R´ealis´ee par chiffrement`a cl´e sym´etrique pour des raisons de
performances.Cette cl´e,appel´ee cl´e de session,est alors fr´equemment
13
CHAPITRE 3.LA S
´
ECURIT
´
E SUR LE R
´
ESEAU 14
utilis´ee et doit donc avoir une faible dur´ee de vie,une deuxi`eme cl´e
´etant utilis´ee pour n´egocier les nouvelles cl´es.

La confidentialit´e du flux de donn´ees,qui vise non plus seulement`a
garantir la confidentialit´e des donn´ees mais ´egalement`a interdire l’acc`es
`a toute information sur ces donn´ees (quantit´e d’informations ´echang´ees,
fr´equences,etc.) qui pourrait ˆetre d´eduites par analyse du trafic.

L’authentification de l’origine des donn´ees,qui doit garantir que les
donn´ees re¸cues proviennent bien de l’emetteur d´eclar´e.

L’int´egrit´e des donn´ees,qui garantit que les donn´ees re¸cues n’ont pas
´et´e modifi´ees durant leur transport.

La non r´epudiation,qui doit ˆetre capable de prouver que des donn´ees
ont bien ´et´e re¸cues ou envoy´ees en cas de litige.

La pr´evention contre le rejeu de donn´ees,qui doit d´etecter si les donn´ees
re¸cues ne l’ont pas d´ej`a ´et´e par le pass´e.
Afin d’assurer ces services de s´ecurit´e on utilise des m´ecanismes qui sont
g´en´eralement bas´es sur le partage de cl´es secr`etes.Ce qui implique de mettre
en oeuvre un protocole d’´echange de cl´es.
Ces protocoles d’´echange de cl´e v´erifient g´en´eralement tout ou partie des
propri´et´es suivantes:

Celle dite dePerfect Forward Secrecy garantit que la d´ecouverte d’une
des cl´es de longue dur´ee (celles utilis´ees pour ´echanger les cl´es de ses-
sions) ne permet pas`a un assaillant de d´echiffrer les messages chiffr´es
par les cl´es de session g´en´er´ees auparavant.

La protection de l’identit´e (Identity Protection),assure qu’aucune in-
formation sur les partenaires en communication ne pourra ˆetre d´eduite
par observation de leurs ´echanges sur le r´eseau.
3.1.3 Les attaques classiques
Au niveau IP,trois attaques classiques sont r´ealisables:

l’IP sniffing,qui consiste pour un intrus`a ´ecouter le trafic passant sur
le r´eseau afin d’obtenir des informations int´eressantes (mots de passe,
contenu de courriels,etc.).

l’IP spoofing,qui consiste`a usurper l’identit´e d’un ´equipement.

l’IP flooding,qui consiste`a inonder un ´equipement de paquets IP,le
rendant incapable de r´epondre aux requˆetes l´egitimes (et laissant le
champ libre`a un intrus pour une attaque par IP spoofing).
CHAPITRE 3.LA S
´
ECURIT
´
E SUR LE R
´
ESEAU 15
L’IP flooding ´etant tr´es difficile`a contrer,l’IETF s’est concentr´e sur les deux
autres attaques.C’est ce que nous allons voir dans la section 3.2
3.2 La s´ecurit´e appliqu´ee pour IPv6
3.2.1 Les extensions de s´ecurit´e
Afin de lutter contre l’IP sniffing et l’IP spoofing,l’IETF,a d´efini deux
nouvelles extensions IP de s´ecurit´e [RFC1752]:

L’extension d’authentification (Authentication Header ou AH),qui rend
les services d’authentification,int´egrit´e et optionnellement de d´etection
de rejeux,voire de non-r´epudiation.

L’extension de confidentialit´e (Encapsulating Security Payload ou ESP),
qui peut rendre les services de confidentialit´e,int´egrit´e,authentification
et d´etection de rejeux.Elle garantit de plus de fa¸con limit´ee la confi-
dentialit´ee du flux.
Chacune de ses deux extensions peut ˆetre utilis´ee selon deux modes de
protection:

Le mode transport prot`ege la charge utile du paquet et certains champs
de son en-tˆete.

Le mode tunnel prot`ege tous les champs du paquet initial,qui est en-
capsul´e dans un nouveau paquet donc certains champs sont prot´eg´es.
On peut alors assurer trois types de protection:

de bout en bout,entre les deux stations communicantes,auquel cas ce
sont les stations qui g`erent les extensions de s´ecurit´e.

sur des segments de r´eseaux seulement,auquel cas un ´equipement de
chaque cot´e du tunnel (le mode transport ne peut pas ˆetre utilis´e dans
ce cas) est charg´e de g´erer les extensions de s´ecurit´e:c’est la ”passerelle
de s´ecurit´e”.

entre une station et une passerelle de s´ecurit´e.
3.2.2 Associations et polices de s´ecurit´e
La base des communications s´ecuris´ees en IPv6 est l’association de s´ecurit´e
(Security Association ou SA).Elle contient l’ensemble des informations n´eces-
saires`a l’´etablissement de ces communications.Une SA est identifi´ee de fa¸con
unique par un triplet comprenant un indice de param`etre de s´ecurit´e (Secu-
rity Parameters Index ou SPI),l’adresse du destinataire et le protocole de
s´ecurit´e (AH ou ESP).Elle est unidirectionnelle,il faut donc deux SA pour
CHAPITRE 3.LA S
´
ECURIT
´
E SUR LE R
´
ESEAU 16
qu’une communication bidirectionnelle soit ´etablie.
Une association de s´ecurit´e contient entre autre les param`etres suivants:

l’algorithme d’authentification,les cl´es de chiffrement,les param`etres
de synchronisation...utilis´es pour g´en´erer l’extension choisie.

la dur´ee de vie de la SA,qui doit ˆetre r´eguli`erement renouvel´ee afin
d’´eviter que des cl´es de chiffrement ne soient utilis´ees trop longtemps.

le mode du protocole IPsec:tunnel ou transport.
L’ensemble des SA est contenu dans une base de donn´ee appel´ee le SAD
(Security Association Database).
Le choix de la SA`a appliquer s’effectue en fonction des polices de s´ecurit´e
d´efinies sur la machine.L’ensemble de ces polices de s´ecurit´e est regroup´e
dans un SPD(Security Policy Database).Lorsqu’un paquet IP doit ˆetre ´emis,
la pile IP va v´erifier dans le SPD si une politique de s´ecurit´e doit s’appli-
quer`a ce paquet.Le cas ´ech´eant la pile IP ira chercher dans le SAD la SA
correspondante.
Chapitre 4
D´eroulement du Projet
4.1 Chronologie

semaine 46:R´eunion avec M.Redon pour sp´ecifier le travail`a fournir.
D´ecouverte du mat´eriel de maquette,recherche de documentation sur
IPv6 et lecture des RFCs.

semaine 47:Installation d’une Debian et passage des deux postes`a un
noyau 2.6-9.

semaine 48:Tests sur IPv6,capture de trames.

semaine 49:Pas d’avancement dans le projet du fait du travail`a fournir
pour le dossier technique.

semaine 50:Documentation sur IPsec,premiers essais infructueux de
chiffrement

semaine 51:Premiers tests r´eussis de chiffrement entre les deux ma-
chines de maquette,en configuration manuelle.

semaine 52:Vacances de No¨el.

semaine 01:Vacances de No¨el.

semaine 02:D´em´enagement pour cause de changement de vlan dans
la salle Titenka (le nouveau vlan ne permettant pas l’acc`es au r´eseau
IPv6 de l’´ecole).Installation en Titus.

semaine 03:D´ecouverte de racoon

semaine 04:Multiples tests avec racoon sur noyau 2.6.0 et 2.6.1.

semaine 05:Passage au noyau 2.6.2,premiers essais r´eussis de commu-
nication avec racoon.

semaine 06:Test de isakmpd.

semaine 07:Test de FreeSwan.R´ealisation du script de d´eploiement
de racoon.

semaine 08:R´edaction du rapport.Test du noyau 2.6.3.
17
CHAPITRE 4.D
´
EROULEMENT DU PROJET 18

semaine 09:Soutenance.
4.2 Travaux pr´eliminaires
4.2.1 Mise en place du mat´eriel
Dans le cadre de ce projet,nous avons dans un premier temps utilis´e deux
ordinateurs,reli´es au r´eseau de l’´ecole,sur lesquels nous avons install´e une
distribution de GNU/Linux Debian[8] Sid
1
.Cette distribution poss´edait un
noyau 2.2.Or,pour pouvoir travailler en IPv6,il ´etait n´ecessaire d’utiliser
un noyau plus r´ecent.Nous avons donc t´el´echarg´e,d´ecompress´e,configur´e
et compil´e le dernier noyau Linux en date.Pendant la premi`ere moiti´ee du
projet,il s’agissait d’une version de test du noyau 2.6 (2.6-test9) en attendant
qu’arrive la version d´efinitive (2.6.0).Notre choix s’est port´e sur le noyau 2.6
et non le 2.4 car le noyau 2.6 int`egre en natif l’IPsec alors que pour le 2.4,
qui est le noyau qui est install´e sur toutes les machines de TP de l’´ecole,il
faut appliquer un patch pour avoir IPsec.
En plus de ces deux ordinateurs,nous avons utilis´e nos ordinateurs por-
tables personnels:un iBook d’Apple avec le syst`eme d’exploitation Mac OS
X 10.2 et une autre machine sous Windows XP afin de voir si il est possible,
avec des machines ext´erieures,d’´etablir des communications chiffr´ees.
Par la suite,notre configuration a ´evolu´e apr`es la mi-projet.Au point de
vue mat´eriel,nous avons r´ecup´er´e une troisi`eme machine,sur laquelle nous
avons ´egalement install´e une distribution Debian et le noyau 2.6.Nous avons
reli´e nos trois machines de test`a un concentrateur(hub) 10 Mbits afin d’avoir
une configuration similaire aux salles de TP (o`u toutes les machines d’une
mˆeme salle sont reli´ees`a un concentrateur).Nous avons continu´e d’utiliser
l’iBook sur lequel nous avons install´e la version de Mac OS X 10.3,plus
adapt´ee que la 10.2`a la gestion de l’IPv6.Quand`a l’autre ordinateur por-
table,un probl`eme mat´eriel nous a contraint`a cesser nos tests avec.
Au point de vue logiciel,nous avons fait ´evoluer le noyau`a chaque fois
qu’une nouvelle version ´etait disponible sur Internet et nous avons upgrader
nos modules afin que ces derniers soient le plus`a jour possible.
1
Il existe en permanence trois versions de Debian:stable,testing et unstable.Sid est le
nom de code de l’actuelle version unstable
CHAPITRE 4.D
´
EROULEMENT DU PROJET 19
4.2.2 Prise de contact IPv6
Fig.4.1 – Capture d’une trame RIPng
Au commencement de notre projet,nous n’avions aucune connaissances
sur le protocole IPv6.Nous connaissions son existence,nous savions qu’IPv6
poss´ede un espace d’adressage plus important qu’IPv4 et c’est tout.Il nous a
donc fallu une phase d’apprentissage du protocole.Cette phase a tout d’abord
commenc´e par une recherche de documentation sur le protocole.Mˆeme si
Internet fut notre principale source,nous avons ´egalement trouv´e notre bon-
heur dans la presse sp´ecialis´ee[3].Lors de notre premier entretien avec notre
tuteur,celui-ci nous a conseill´e de r´ealiser tous les tests possibles permis`a
l’´ecole (voir Chapitre I/C sur l’impl´ementation d’IPv6`a Polytech’Lille).
Le premier des tests r´ealis´es ´etait de capturer quelques trames IPv6 cir-
culant sur le r´eseau.Des trames RIPng (Routing Information Protocol New
Generation) sont envoy´ees p´eriodiquement par le routeur afin que celui-ci
mette`a jour sa table de routage.Grˆace au logiciel Ethereal,nous avons pu
d´ecortiquer ces trames et en visualiser le contenu sur la figure 4.1,page 19
Nous avons ensuite g´en´er´e nos propre trames grˆace aux outils ping6 et
traceroute6,les ´equivalents de ping et traceroute pour IPv6.Ces outils per-
mettent notamment de d´etecter si une machine est bien pr´esente sur le r´eseau.
La machine qui envoie le ping envoie une trame du type ICMP6 (Internet
Control Message Protocol 6) vers la machine recherch´ee.Si celle-ci existe,elle
renverra un autre message ICMP6,comme un accus´e de reception.Toujours
CHAPITRE 4.D
´
EROULEMENT DU PROJET 20
Fig.4.2 – Capture d’une trame ICMPv6
grˆace`a Ethereal,nous avons pu analyser la structure des messages ICMP en
protocole IPv6 (figure 4.2,page 20)
Notre troisi`eme tache a ´et´e d’essayer de naviguer sur Internet en IPv6.
Notre tuteur nous a conseill´e le site www.kame.net.Ce site`a la particula-
rit´e d’avoir une image de tortue qui danse si ce site est visualis´e en IPv6.
Nous avons eu ´egalement la mission de chercher d’autres sites qui seraient
accessibles en IPv6.
D’autres services ont ´egalement ´et´e test´e en IPv6:

la connexion ssh (connexion s´ecuris´e vers une machine distante).

le FTP (voir figure 4.3,page 21)

Le mail:par une connexion en IPv6 au serveur de messagerie douaisis,
nous avons pu envoyer un mail en IPv6.On voit clairement sur la
figure 4.4,page 21,dans les en-tˆetes,que le courriel a ´et´e envoy´e en
IPv6.Sur la figure 4.5,page 21 on peut voir circuler en clair le message
r´edig´e.
Ces captures montrent bien la n´ecessit´e de chiffrer toutes les communica-
tions qui circule en IPv6.
CHAPITRE 4.D
´
EROULEMENT DU PROJET 21
Fig.4.3 – Capture d’une trame FTP circulant en IPv6
Fig.4.4 – Courriel envoy´e par IPv6
Fig.4.5 – Capture du paquet contenant le corps du courriel
CHAPITRE 4.D
´
EROULEMENT DU PROJET 22
4.3 Travaux r´ealis´es
4.3.1 D´efinition des besoins
L’objectif du projet est de pouvoir chiffrer la totalit´e des communications
´echang´ees en interne sur le r´eseau IPv6 de l’´ecole.Nous allons donc utili-
ser l’extension de confidentialit´e ESP.Nous recherchons des communications
bout`a bout,c’est donc le mode transport qu’il nous faudra employer.De
plus dans la d´efinition des polices de s´ecurit´e il faudra faire bien attention`a
conserver la possibilit´e de communiquer en clair avec l’ext´erieur,ainsi qu’avec
les machines en interne qui ne seraient pas ´equip´ees pour le chiffrement.
4.3.2 Setkey
Dans un premier temps nous avons test´e l’utilisation des en-tˆetes AH et
ESP avec des associations de s´ecurit´e d´efinies statiquement`a l’aide de setkey,
un outil du paquet ipsec-tools.Ces tests r´ealis´es entre deux machines furent
concluants.
Mais cette fa¸con de proc´eder n’est absolument pas adapt´ee`a ce qui nous a ´et´e
demand´e.Il faut en effet pr´eciser via setkey les associations de s´ecurit´e (Secu-
rity Associations) et les polices de s´ecurit´e (Security Policies).Le probl`eme
est que la d´efinition de l’association de s´ecurit´e est ici compl`etement statique,
ce qui pr´esente deux d´efauts majeurs:

le premier d´efaut est qu’ainsi l’association de s´ecurit´e (qui d´efinit les
cl´es de chiffrement employ´ees) va rester la mˆeme en permanence,`a
moins que l’on vienne manuellement la modifier,chose impossible`a
l’´echelle d’un r´eseau comme celui de l’´ecole.L’association de s´ecurit´e
restant la mˆeme il devient possible de collecter un nombre suffisant de
trames,de les analyser et d’en d´eduire la cl´e de chiffrement.A partir
de l`a l’int´egralit´e des communications pass´ees et futures sont connues
de l’attaquant.

le deuxi`eme d´efaut est que dans le fichier de configuration de set-
key (disponible en annexe,page 37),l’association de s´ecurit´e doit ˆetre
d´efinie entre deux hˆotes connus.Pour d´eployer cette m´ethode`a l’´echelle
de l’´ecole il faudrait donc ´ecrire dans ce fichier une association de
s´ecurit´e par combinaison de deux machines!Et ce alors qu’il est en
permanence ajouter et retirer des machines sur le r´eseau,changements
qui n´ecessiterait`a chaque fois la modification des fichiers de configura-
tion de la totalit´e des machines.
C’est pourquoi nous n’avons pas retenu l’utilisation de setkey seul comme
solution`a ce projet.
CHAPITRE 4.D
´
EROULEMENT DU PROJET 23
4.3.3 Racoon
Afin de r´esoudre les probl`emes rencontr´es avec l’utilisation de setkey seul
nous nous sommes tourn´es vers le deuxi`eme utilitaire pr´esent dans le paquet
ipsec-tools.
Ce paquet est un portage sur GNU/Linux d’un utilitaire tournant`a l’origine
sur FreeBSD[10].racoon se contentant de n´egocier les associations de s´ecurit´e
il doit ˆetre utilis´e en conjonction avec setkey pour g´erer les polices de s´ecurit´e.
Il est`a noter que la version que nous avons employ´e n’est que la 2.2-8 alors
que la derni`ere en date est la 2.4,la 2.2-8 ´etait fournie sous forme de packet
Debian au contraire de la 2.4 disponible uniquement sous forme de sources
que nous n’avons pas r´eussis`a compiler (probl`eme de d´ependance avec une
autre librairie).
Nous avons commenc´e`a tester racoon sur le noyau 2.6.0,sans aucun
r´esultat probant.Apr`es avoir essay´e sans succ´es`a peu pr`es toutes les op-
tions propos´ees par cet utilitaire,nous l’avons abandonn´e pour passer`a
isakmpd.Cependant`a chaque fois que nous avons changer de version du
noyau nous avons retest´e racoon.Avec le 2.6.1 nous obtenions des kernel pa-
nic,ce n’est qu’avec le noyau 2.6.2 que cela a commenc´e`a fonctionner.A
l’heure actuelle,les gels de la pile IP lors de l’´etablissement des associations
de s´ecurit´e existent toujours et rendent impensable le d´eploiement d’une telle
solution.N´eammoins,apr`es avoir test´e isakmp(section 4.3.4,page 23) c’est
cette solution qui nous parait la plus prometteuse.Nous avons donc bas´e
notre protocole de d´eploiement (section 4.4,page 24) sur celle-ci,en esp´erant
qu’une future version d’ipsec-tools ou du noyau apportent enfin la stabilit´e
attendue.
Les fichiers de configuration de cette solution se trouvent en annexe:
(racoon.conf,page 35 et ipsec.policy,page 34).
4.3.4 Isakmpd
Devant les probl`emes rencontr´es lors de l’utilisation de racoon nous avons
d´ecid´e de tester un deuxi`eme IKE:isakmpd.
Issu du monde OpenBSD[13],isakmpd est un d´emon impl´ementant le
protocole ISAKMP.Il est capable de n´egocier`a la fois les associations de
s´ecurit´e et les polices de s´ecurit´e.Il a ´et´e port´e sur Linux et nous avons
utilis´e le paquet Debian du mˆeme nom.
Du fait qu’il g`ere`a la fois les SA et les SPD sa configuration est plus
complexe que celle de racoon.Cependant il est r´eput´e plus rapide et efficace
CHAPITRE 4.D
´
EROULEMENT DU PROJET 24
que celui-ci.
Le probl`eme principal que nous avons rencontr´e avec ce d´emon est qu’il a
´et´e pens´e dans le but de r´ealiser une protection en mode tunnel dans le cadre
d’un r´eseau priv´e virtuel (Virtual Private Network) et absolument pas dans le
but de chiffrer l’ensemble des communications d’un r´eseau local (Local Arena
Network) par le biais de communications bout-`a-bout en mode transport.
De fait,si nous avons r´eussi`a le configurer pour qu’il encapsule les paquets
en mode transport et non en mode tunnel (voir le fichier de configuration
d’isakmpd en annexe,page 38)),nous n’avons pas r´eussi pour autant`a
´etablir d’associations de s´ecurit´e avec.
4.3.5 FreeS/WAN
Devant les probl`emes rencontr´es avec le noyau 2.6 nous sommes durant un
temps repass´e sur un noyau 2.4 pour tester les impl´ementations d’IPsec sur
celui-ci.La plus r´epandue est FreeS/WAN[11].Cette impl´ementation n’´etant
pas native au noyau Linux elle n´ecessite l’application d’un patch sur le noyau.
Tout comme sur le noyau 2.6,le support d’IPv6 dans le noyau 2.4 est encore
exp´erimental,il a donc fallu recompiler un noyau avec les options ad´equates.
Une fois tout install´e,nous nous sommes plong´es dans la documentation
pour nous apercevoir que FreeS/WAN ne supporte pas le mode transport et
qu’il est donc inutilisable dans le cadre de ce projet.
4.3.6 IPsec en noyau 2.4.24
Suite au passage sur le noyau 2.4,nous nous sommes aper¸cus que les
derni`eres versions de celui-ci int´egrent nativement une couche IPsec (c’est
en fait un backport du 2.6 sur le 2.4).Nous avons donc d´ecid´e de tester son
utilisation,mais ce n’est pas encore tr´es au point et lors du d´emarrage de
la machine la couche IPsec refuse de se charger.Par cons´equent il s’av`ere
impossible d’aller plus loin.
4.4 Protocole de d´eploiement
4.4.1 Installer le dernier noyau
Suivre la proc´edure donn´ee en travaux pratiques d’Administration Syst`eme[6]
(t´el´echarger,d´ecompresser le noyau).Compiler le noyau pour le support
d’IPv6 et d’IPsec.Il faut en particulier s´electionner les options suivantes
2
:
2
Information valable pour le noyau 2.6.2
CHAPITRE 4.D
´
EROULEMENT DU PROJET 25

”Code maturity level options”:”Prompt for development and/or in-
complete code/drivers”

”Device Drivers”:”Networking support”:”Networking options”:”The
IPv6 Protocol” ainsi que les 5 options qui en d´ecoulent.

”Device Drivers”:”Networking support”:”Networking options”:”PF
KEY
sockets”

”Device Drivers”:”Networking support”:”Networking options”:”IPsec
user configuration interface”

”Cryptographic options”:tout les algorithmes propos´es
4.4.2 Installer les outils g´erant IPsec
Nous avons pour cela r´ealiser un script (disponible en annexe page 32)
qui installe les paquets openssl et ipsec-tools,configure setkey et racoon et
enfin d´emarre racoon.
Conclusion
Au vu de nos tests on peut dire que le support d’IPsec dans IPv6 est en-
core balbutiant et ce quelque soit le syst`eme d’exploitation consid´er´e.Comme
souvent dans le domaine du r´eseau,ce sont les syst`emes BSD qui sont les plus
avanc´es mais la lecture des listes de diffusion des diff´erents projets montre
que tout cela est encore en plein d´eveloppement.
Bilan En ce qui concerne Linux et le r´eseau de notre ´ecole,il est claire-
ment trop tˆot pour envisager de d´eployer IPsec sur les serveurs critiques.En
revanche il devrait ˆetre possible de tenter la chose sur les postes clients d’une
salle de TP.Nous aurions souhait´e r´ealiser une telle exp´erience en grandeur
nature,mais nos propres tests de stabilit´e sur nos machines de TP ne l’ont
pas permis:ils sont devenus acceptables uniquement cette derni`ere semaine.
L`a encore tout bouge tr´es vite,depuis la premi`ere version du noyau 2.6
fin d´ecembre,trois autres versions stables sont sorties.De mˆeme le package
ipsec-tools devrait ˆetre disponible bientˆot en version 2.4,apportant sans au-
cun doute un grand nombre d’am´eliorations`a racoon et setkey.
Perspectives Une fois qu’IPsec sera d´eploy´e sur l’ensemble des postes Li-
nux de l’´ecole il restera encore`a mettre en place les moyens de faire la mˆeme
chose avec les autres syst`emes d’exploitation.A l’heure actuelle Windows
n’est pas capable de r´ealiser de l’IPsec au dessus d’IPv6,MacOS X en est
capable,en utilisant actuellement racoon 1.18,solution que nous avons test´e
et qui a fonctionn´e`a merveille avec nos postes de tests sous Linux.
La question de la compatibilit´e des diff´erents programmes commandant l’IP-
sec est d’ailleurs une question centrale dans le d´eploiement`a grande ´echelle
de celui-ci.Cette compatibilit´e est tr´es loin d’ˆetre assur´ee,mˆeme entre outils
pr´esents sur une mˆeme plateforme.
Apport personnel Ce projet s’est r´ev´el´e tr´es int´eressant pour nous car il
nous a fait d´ecouvrir en profondeur deux nouveaux protocoles:IPv6 et IPsec.
Comblant ainsi un manque dans notre formation,ni l’un ni l’autre n’´etant
26
CHAPITRE 4.D
´
EROULEMENT DU PROJET 27
malheureusement`a notre programme alors que ce sont deux protocoles qui
sont amen´es`a prendre ´enorm´ement d’importance`a l’avenir.D’un point de
vue syst`eme,la r´ealisation du banc de test et par la suite les nombreuses com-
pilations du noyau nous ont ind´eniablement apport´e une meilleure connais-
sance des fondations d’un syst`eme GNU/Linux.
Remerciements Nous tenons`a remercier l’ensemble du service informa-
tique pour avoir r´epondu`a nos nombreuses questions.Et tout particuli`erement
Xavier Redon notre tuteur.
Bibliographie
[1]
Dossier vpn.MISC 10,2003.
[2]
Gis`ele Cizault.IPv6,Th´eorie et pratique.O’REILLY,3 edition,2002.
[3]
Francois Donze.Autoconfiguration des adresses ipv6.Linux Magazine
France 55,2003.
[4]
Nicolas Fischbach.Ipv6 et ip anycast.MISC 6,2003.
[5]
http://fr.wikipedia.org/wiki/Accueil.Wikipedia,l’encyclop´edie libre.
[6]
http://www.eudil.fr/rex/Enseignement/Systeme/TP.Systeme.IMA3i/systeme003.html.
TP d’AS IMA3i de Xavier Redon.
[7]
http://www.faqs.org/rfcs/rfc3513.html.Internet Protocol Version 6
(IPv6) Addressing Architecture.
[8]
www.debian.org.Site officiel de la distribution Debian.
[9]
www.faqs.org/rfcs/rfc1752.html.The Recommendation for the IP Next
Generation Protocol.
[10]
www.freebsd.org.Site officiel du projet FreeBSD.
[11]
www.freeswan.org.Site officiel du projet FreeS/WAN.
[12]
www.kernel.org.The Linux Kernel Archives.
[13]
www.openbsd.com.Site officiel du projet OpenBSD.
28
Glossaire
FTP File Transfer Protocol (protocole de transfert de fichiers) est d´edi´e`a
l’´echange informatique de fichiers sur un r´eseau TCP/IP.Il permet,depuis
un ordinateur,de copier des fichiers depuis ou vers un autre ordinateur du
r´eseau,ou encore de supprimer ou modifier des fichiers sur cet ordinateur.
ICMP Internet Control Message Protocol (protocole de contrˆole des mes-
sages sur Internet) est un protocole de niveau 3 sur le mod`ele OSI,qui permet
le contrˆole des erreurs de transmission.C’est grˆace`a ce protocole qu’une ma-
chine ´emettrice peut savoir qu’il y a eu un incident de r´eseau.
IPsec IP Security Protocol,d´esigne`a la fois le groupe de l’IETF travaillant
sur les m´ecanismes de protection des protocoles clients IP,et le protocole de
s´ecurit´e en lui-mˆeme.
OSI Open Systems Interconnection est un mod`ele cr´e´e par l’ISO(Organisa-
tion internationale de normalisation) dans le but d’offrir une base commune
`a la description de tout r´eseau informatique.Dans ce mod`ele,l’ensemble des
protocoles d’un r´eseau est d´ecompos´e en 7 parties appel´ees couches OSI,
num´erot´ees de 1`a 7.
Proxy Un serveur proxy (ou serveur mandataire) a pour but de relayer des
requˆetes sur un r´eseau informatique et d’entretenir un cache des r´eponses.
RFC Request For Comment (litt´eralement demande de commentaires).Ce
sont une s´erie de documents et normes concernant l’internet,commenc´ee en
1969.Peu de RFCs sont des standards,mais tout les standards de l’internet
sont enregistr´es en tant que RFCs.Les RFCs sont r´edig´ees sur l’initiative
d’experts techniques,puis sont revues par la communaut´e internet dans son
ensemble.Cela diff´ere d’une publication d’institution tel que l’ANSI.Pour
cette raison,elles continuent`a ˆetre appel´ees RFCs une fois devenues des
standards.
29
Routeur C’est un mat´eriel de communication de r´eseau informatique.Son
travail est de d´eterminer le prochain noeud du r´eseau auquel un paquet de
donn´ees devrait ˆetre envoy´e afin que ce dernier atteigne sa destination finale
le plus rapidement possible.Ce processus se nomme routage.Le routeur
intervient`a la couche 3 (couche r´eseau) du mod`ele OSI.
SMTP Simple Mail Transfer Protocol est un des protocoles utilis´es pour
transf´erer du courrier ´electronique sur des r´eseaux Internet.
SSH Secure SHell est un protocole de communication s´ecuris´e.Le protocole
de connexion impose une ´echange de cl´e de cryptage en d´ebut de connexion.
Par la suite toutes les trames sont cod´ees.Il devient donc impossible d’utiliser
un sniffer pour voir ce que fait l’utilisateur.
TCP Transmission Control Protocol est un protocole de transport fiable,
en mode connect´e,document´e dans le RFC 793 de l’IETF.Dans le mod`ele
TCP/IP,TCP est situ´e entre la couche de r´eseau (g´en´eralement le protocole
IP),et la couche application.Les applications transmettent des flux d’octets
sur le r´eseau.TCP d´ecoupe le flux d’octets en segments,dont la taille d´epend
de la MTU (Maximum Transmission Unit) du r´eseau sous-jacent (couche
liaison de donn´ees).
UDP User DatagramProtocol est un protocole de remise de paquets simple,
non-fiable,sans connexion,appartenant`a la couche 4 du mod`ele OSI.Il est
utilis´e quand il est n´ecessaire soit de transmettre des donn´ees tr`es rapide-
ment,et o`u la perte d’une partie de ces donn´ees n’a pas grande importance,
soit de transmettre des petites quantit´es de donn´ees,l`a o`u la connexion ”3-
WAY” TCP serait trop lourde.Tout comme TCP,il utilise un syst`eme de
ports.
VLAN Virtual Lan Arena Network c’est un r´eseau local virtuel.Un seul
routeur peut ainsi suffire`a cr´eer plusieurs sous-r´eseaux.
VPN Virtual Private Network Un r´eseau VPN est un r´eseau priv´e virtuel
construit au sein d?une infrastructure informatique publique,telle qu’Inter-
net.
30
Index
AH,15
CIDR,11
ESP,15
FreeBSD,23
FTP,12
HTTP,12
IAB,9
ICMP6,12,19
IESG,11
IETF,3,9–11,15
IKE,23
IPsec,9
ipsec-tools,23
ISAKMP,23
isakmpd,23
OpenBSD,23
SAD,16
Security Associations,22
Security Policies,22
setkey,22
SMTP,12
SPD,16
TCP,12
UDP,12
VPN,9,24
31
Annexes
Script d’installation
#!/bin/sh
#Attention il faut etre root pour que ce script marche!
killall racoon
#Installation de racoon et de openssl
echo -e"\vInstallation d’openssl via apt-get."
apt-get install openssl
echo -e"\vInstallation de racoon via apt-get."
apt-get install racoon
echo -e"\vCopie des fichiers de configuration:"
echo -n"racoon.conf"
cp racoon.conf/etc/racoon/racoon.conf
echo -e"\t\tDone."
echo -n"psk.txt"
cp psk.txt/etc/racoon/psk.txt
echo -e"\t\t\tDone."
echo -n"ipsec.policy"
cp ipsec.policy/etc/ipsec.policy
echo -e"\t\tDone."
echo -n"racoon"
cp racoon/etc/init.d/racoon
echo -e"\t\t\tDone.\v"
32
#On lance tout ca
echo"Chargement des politiques de securite"
setkey -f/etc/ipsec.policy
echo"Lancement de racoon"
racoon
echo -e"Installation terminee.\v"
exit 0
33
Fichier de configuration automatique de set-
key (ipsec.policy)
flush;
spdflush;
spdadd -6 2001:660:4401:6000::/56 2001:660:4401:6000::/56 any -P in ipsec
esp/transport//use;
spdadd -6 2001:660:4401:6000::/56 2001:660:4401:6000::/56 any -P out ipsec
esp/transport//use;
34
Fichier de configuration de racoon (racoon.conf)
#$KAME:racoon.conf.in,v 1.18 2001/08/16 06:33:40 itojun Exp $
remote anonymous
{
exchange_mode aggressive,main;
doi ipsec_doi;
situation identity_only;
my_identifier fqdn"polytech";
peers_identifier fqdn"polytech";
nonce_size 16;
lifetime time 1 min;#sec,min,hour
initial_contact on;
support_mip6 on;
proposal_check obey;#obey,strict or claim
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
}
sainfo anonymous
{
pfs_group 2;
lifetime time 30 sec;
encryption_algorithm 3des;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
35
Fichier de lancement de racoon (/etc/init.d/racoon)
#!/bin/sh
set -e
test -x/usr/sbin/racoon || exit 0
case"$1"in
start)
echo -n"Setting up SPD for racoon"
/usr/sbin/setkey -f/etc/ipsec.policy
echo"."
echo -n"Starting IKE (ISAKMP/Oakley) server:racoon"
start-stop-daemon --start --quiet --exec/usr/sbin/racoon
echo"."
;;
stop)
echo -n"Stopping IKE (ISAKMP/Oakley) server:racoon"
start-stop-daemon --stop --quiet --oknodo\
--pidfile/var/run/racoon.pid --exec/usr/sbin/racoon
echo"."
;;
reload|force_reload|restart)
$0 start
$0 stop
;;
*)
echo"Usage:$0 (start|stop|reload|force-reload|restart)">&2
exit 1
esac
exit 0
36
Fichier de configuration manuelle de setkey
flush;
spdflush;
add -6 titenka07 titenka08 ah 24500 -A hmac-md5"1234567890123456";
add -6 titenka07 titenka08 esp 24501 -E 3des-cbc"123456789012123456789012";
add -6 titenka08 titenka07 ah 24502 -A hmac-md5"1234567890123456";
add -6 titenka08 titenka07 esp 24503 -E 3des-cbc"123456789012123456789012";
spdadd -6 titenka07 titenka08 any -P out ipsec
esp/transport//require
ah/transport//require;
spdadd -6 titenka08 titenka07 any -P in ipsec
esp/transport//require
ah/transport//require;
37
isakmpd.conf
[General]
#Listen-on= 2001:660:4401:6004:208:74ff:fe13:ff31
Shared-SADB= Defined
Default-phase-1-ID= Phase1-ID-name
Default-phase-2-suites= QM-ESP-TRP-3DES-SHA-PFS-SUITE
[Phase1-ID-name]
ID-type= USER_FQDN
Name= polytech
[Phase 1]
Default= ISAKMP-peer-Titenka08
[Phase 2]
Passive-connections= IPsec-east-west
[ISAKMP-peer-Titenka08]
Phase= 1
Transport= udp
Local-address= 2001:660:4401:6004:208:74ff:fe13:ff31
Adress= 2001:660:4401:6004:208:74ff:fe14:e2
Netmask= ffff:ffff:ffff:ffff::
Configuration= Default-quick-mode
Authentication= mekmitasdigoat
ID= Phase1-ID-name
[IPsec-east-west]
Phase= 2
ISAKMP-peer= ISAKMP-peer-Titenka08
Configuration= Default-quick-mode
Local-ID= Titenka06
Remote-ID= Titenka08
[Titenka06]
ID-type= IPV6_ADDR
Address= 2001:660:4401:6004:208:74ff:fe13:ff31
[Titenka06]
ID-type= IPV6_ADDR
Address= 2001:660:4401:6004:208:74ff:fe14:e2
[Default-main-mode]
DOI= IPSEC
EXCHANGE_TYPE= ID_PROT
Transforms= 3DES-SHA
[Default-quick-mode]
38
DOI= IPSEC
EXCHANGE_TYPE= QUICK_MODE
Suites= QM-ESP-TRP-3DES-SHA-PFS-SUITE
39
EUI-64
3
La RFC3513 d´ecrivant l’architecture de l’adressage IPv6 de l’adressage
IPv6 requiert l’inversion du bit num´ero 6 des identifiants d’interface r´eseau
de type IEEE 802 ”allong´es”`a 64 bits suivant le standard EUI-64.
Dans le cas d’interfaces s´eries,par essence sans adresse IEEE 802,les
identifiants peuvent ˆetre attribu´es manuellement par un technicien.La seule
contrainte`a respecter ´etant l’unicit´e desdits identifiants sur le lien.Cette
contrainte n’est pas insurmontable puisqu’il n’y a que deux interfaces pos-
sibles,une`a chaque extr´emit´e du lien.Toutefois,puisque cette attribution
n’est pas effectu´ee par l’organisme IEEE,la garantie d’unicit´e globale uni-
verselle,n’est pas assur´ee.En cons´equence,les ”u” bits des identifiants des
interfaces s´erie doivent ˆetre positionn´es`a 0.
Ce n’est pas une contrainte.Au contraire,la g´en´eration manuelle d’iden-
tifiants en est simplifi´ee.0:0:0:1 et 0:0:0:2 que l’on pourra noter tout
simplement 1 et 2,sont alors des identifants d’interface r´eseau conformes
au standard 3513.Les adresses lien-local finales apr`es accolement du pr´efixe
lien-local fe80::/10 sont donc fe80::1 et fe80::2.
Si le standard n’imposait pas l’inversion du ”u” bit,le responsable de
ce lien s´erie serait oblig´e d’affecter les identifants beaucoup plus complexes
200:0:0:1 et 200:0:0:2,au lieu de 1 et 2.
Les adresses finales seraient donc fe80::200:0:0:1 et fe80::200:0:0:2.
Ce qui ne faciliterait pas les op´erations de gestion courante ou de recherche
de panne.
3
Source GNU/Linux Magazine France n

55
40
Liste de sites accessibles en IPv6
Sur www.prik.net/list.html,on trouve une liste d’adresses accessibles en
IPv6.Toutes ne sont pas valides aussi en voici certains que nous avons
v´erifi´ees:

www.freedomtophotograph.com:un site sur la photographie.

www.ipsec.ca,un site canadien sur IPsec.

http://aa.gg,un site de services sur l’ADSL

www.ajeux.com,un site sur les jeux vid´eos.

http://aspirine.info.unicaen.fr site de l’universit´e de Caen.

www.charliewolf.net,site d’une radio britannique.

saturne.ipv6.rennes.enst-bretagnes.fr,site de l’ENST,non accessible en
IPv4.
Un grand nombre de distributions Linux ou *BSB proposent ´egalement des
serveurs de fichiers en IPv6.
41