You are on page 1of 42

Remerciements

Nous adressons nos vifs remerciements notre encadreur Monsieur Imed Chabeni qui a su nous laisser la libert ncessaire pour l'accomplissement de notre travail, et qui n'a pas hsit nous aider et conseiller.

Nous remercions galement nos proches pour leur soutien indfectible, et particulirement Tahar, pour son aide prcieuse.

Nous nirons par rendre hommage nos chers amis qui nous ont accompagnes pendant tout ce temps et et n'ont jamais cess de nous encourager aller de l'avant.

Table des matires


Introduction 1 Pourquoi migrer ? 2 Rappel sur IPv4
2.1 Prsentation du protocole IPv4 2.1.1 2.1.2 La trame IPv4 2.1.2.1 2.1.2.2 2.1.2.3 2.1.3 2.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L'Adressage dans IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . Les classes d'adresses Les rseaux privs . . . . . . . . . . . . . . . . . . . . . .

6 8 10
10 10 11 11 12 13 13 13

Les adresses particulires

Le protocole ICMP v4 . . . . . . . . . . . . . . . . . . . . . . . . . Le protocole ARP . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Le protocole IPv6
3.1 Prsentation du Protocole IPv6 . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 3.1.2 La trame IPv6 3.1.2.1 3.1.2.2 3.1.3 3.1.4 3.2 3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . L'Adressage dans IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . Les types d'adresses . . . . . . . . . . . . . . . . . . . . . Les adresses particulires . . . . . . . . . . . . . . . . . .

15
15 15 16 16 17 18 18 18 19 19 20 20 20

Le Protocole ICMP v6 . . . . . . . . . . . . . . . . . . . . . . . . . Le protocole NDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Comparaison entre IPv4 et IPv6 Compatibilit entre IPv4 et IPv6 3.3.1 3.3.2

Double Pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les tunnels IPv6 dans IPv4 . . . . . . . . . . . . . . . . . . . . . . 3.3.2.1 3.3.2.2 Les tunnels statiques . . . . . . . . . . . . . . . . . . . . Les tunnels dynamiques . . . . . . . . . . . . . . . . . . .

4 L'aspect Scurit dans IPv6


4.1 IPsec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 4.1.2 4.1.3 4.2 4.3 Les protocoles la base d'IPsec . . . . . . . . . . . . . . . . . . . . Le Protocole AH . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le protocole ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22
22 22 22 23 23 24

SEND : Scuriser la dcouverte du voisinage NDP . . . . . . . . . . . . . . Pare-feu et ltrage

5 Mise en oeuvre
5.1 5.2 5.3 Mise en contexte 5.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation de l'architecture de l'entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prparation d'un plan d'adressage Migration de l'IPv4 vers l'IPv6 5.3.1 5.3.1.1 5.3.1.2 5.3.2 5.3.3

25
25 25 28 29 29 29 29 29 33 33 34 35 37 38

Prsentation de l'environnement de travail . . . . . . . . . . . . . . Prsentation de GNS3 . . . . . . . . . . . . . . . . . . . . Prsentation de VirtualBox . . . . . . . . . . . . . . . .

Mise en place de l'architecture et conguration des routeurs . . . . Installation et conguration des serveurs sur les machines virtuelles 5.3.3.1 5.3.3.2 5.3.3.3 5.3.3.4 Serveur mail Postx . . . . . . . . . . . . . . . . . . . . . Serveur POP3 Courierpop . . . . . . . . . . . . . . . . . . Serveur DNS bind9 . . . . . . . . . . . . . . . . . . . . . . . . . . . Serveur Web Apache2 . . . . . . . . . . . . . . . . . . . .

5.3.4

Mise en place d'une politique de scurit avec ip6tables

Conclusion et perspectives Annexe

39 41

Table des gures


2.1 2.2 2.3 2.4 3.1 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Trame IPV4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les classes d'adresses Entte ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 12 13 14 15 26 30 32 32 33 33 34 36 36 37 37 37 37

Entte ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trame IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Architecture de l'entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Topologie du rseau implment dans GNS3 . . . . . . . . . . . . . . . . . Test ping6 d'une machine son routeur Test ping6 entre 2 machines n'appartenant pas au mme rseau . . . . . . Capture du trac avec Wireshark . . . . . . . . . . . . . . . . . . . . . . . Suivi du chemin avec traceroute . . . . . . . . . . . . . . . . . . . . . . . . Conguration du chier main.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conguration du chier /etc/bind/named.conf.local

Conguration du chier /etc/bind/zone/emna-rym.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.10 Ping www.emna-rym.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 Ping ordi.emna-rym.net 5.12 Ping emna-rym.net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.13 Connexion au serveur Apache en IPv6

Liste des tableaux


2.1 3.1 5.1 5.2 5.3 Rseaux privs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 19 27 27 28 Comparaison entre IPv4 et IPv6 Plan d'adressage des passerelles Plan d'adressage des serveurs

. . . . . . . . . . . . . . . . . . . . . . . . .

Mappage des prxes IPv4 privs vers les prxes IPv6 . . . . . . . . . . .

Introduction
Le secteur de la technologie et des communications connat un grand essor grce, entre autres, au rseau Internet. En eet, le nombre des utilisateurs, leurs besoins et leurs exigences n'ont cess de crotre durant ces dernires annes. Ceci a augment d'une faon vertigineuse le nombre d'quipements connects Internet, que ce soit des quipements rseaux (routeurs, pare-feu, serveurs), ou des quipements personnels (ordinateurs, tlphones). Cependant, cette hausse rapide de l'utilisation d'Internet devient de plus en plus problmatique, car l'espace allou l'adressage est en train de s'puiser. En eet, en rgle gnrale, Internet et la plupart des rseaux d'entreprise ont recours au mme protocole de base pour transporter l'information et les donnes, qui est le protocole Internet version 4, connu sous le sigle IPv4 . Tout le trac circulant sur Internet utilise ce protocole, et chaque quipement raccord Internet possde une adresse IP code sur 32 bits. Aujourd'hui, l'espace d'adressage est en train de s'puiser et on parle de plus en plus de pnurie d'adresses. Mme l'introduction du mcanisme de  NAT , ou Network Address Translator, qui consiste utiliser une seule adresse IP routable pour un ensemble de machines du rseau n'est plus en mesure de pallier cette pnurie d'adresses. Il est donc devenu urgent de trouver une solution pour dpasser le problme d'puisement d'adresses IP, et c'est pour cela, que dj depuis 1992, l'IETF (Internet Engineering Task Force), l'organisme de standardisation de l'Internet, s'est attel e pour mettre en place le protocole Ipv6 et prparer la migration du protocole Ipv4 vers le protocole Ipv6. Et c'est dans ce cadre que notre projet a consist en l'tude de la migration de l'IPv4 vers l'IPv6. Son but est de fournir un guide aux entreprises dsirant adopter l'adressage Ipv6, sans pour autant abandonner compltement l'adressage Ipv4, qui reste largement rpandu, et qui ne disparaitra pas du jour au lendemain. Dans notre travail, nous essayerons de mettre les lumires sur le protocole Ipv6 et de voir jusqu' quand, Ipv4 et Ipv6 pourront cohabiter. Nous essayerons de simuler la migration en prsentant les direntes congurations qu'il est ncessaires d'eectuer. Nanmoins, notre travail aura ses limites, car il nous est impossible de faire une migration complte et d'avoir le maximum de serveurs tant donn que nous ne disposons pas du matriel ncessaire. Le prsent rapport se divise en cinq chapitres. Le premier chapitre est une mise en contexte dans laquelle nous expliquerons la ncessit de penser la migration vers l'IPv6. Dans le second chapitre, nous ferons un rappel sur le protocole Ipv4, ses adresses et ses mcanismes. Le troisime chapitre prsentera le protocole Ipv6. Nous donnerons des dtails sur la trame Ipv6, sur les adresses et sur les dirents protocoles qui lui sont relis, et dans le chapitre suivant, nous nous consacrerons l'aspect scurit. Nous nirons notre travail par une mise en place de la migration. Nous passerons en

revue les direntes congurations des serveurs ncessaires utiliss et nous donnerons un aperu de la simulation que nous avons eectue.

1 Pourquoi migrer ?
Le protocole IP se prsente comme le protocole de routage le plus utilis de nos jours pour les communications Internet. La version la plus utilise de ce protocole est la version 4 ou IPv4 qui s'est avre assez robuste tout au long de l'essor de l'Internet. Mais, cette version du protocole IP n'a fait l'objet d'aucune volution majeure depuis un bon moment. De plus, IPv4 a nglig un certain nombre de caractristiques et d'volutions, ce qui conduit l'laboration de son successeur l'IPv6. Dans ce qui suit, nous allons dtailler les problmes rencontrs avec IPv4 et les apports d'IPv6 par rapport la version 4, en d'autres termes, nous allons rpondre la question que pose toute entreprise : Pourquoi migrer ? Le systme d'adressage actuel d'IPv4 a dsormais atteint ses limites. La croissance rapide de l'internet, conjugue une monte en puissance de l'internet mobile, une multiplication des systmes communiquant mobiles (PDAs, tlphones portables, etc) et une diversication des services de diusion multimdia (vido ou radio sur l'Internet, vidoconfrence, etc), a conduit un puisement des adresses IPv4 disponibles, on parle ici de pnurie d'adresses. C'est l que s'est impos un nouveau protocole prsentant beaucoup d'avantages : c'est le Protocole Internet version 6 ou IPv6. Voyons les avantages que prsente l'IPv6 par rapport aux problmes de l'IPv4 : IPv6 vient rsoudre le problme de pnurie d'adresses avec ses 128 bits soit 2 l'chelon du rseau mondial. En outre, cet espace d'adressage large permet une attribution intelligente des adresses, ce qui induit rduire fortement la taille des tables de routage des routeurs, donc d'allger les routeurs. De plus, avec IPv6, les champs inutiles ou peu utiliss dans l'entte d'IPv4 comme le champ fragmentation et les options ont t retirs et dplacs vers un autre protocole.L'entte IPv6 est donc devenue de taille xe et le  cur  mme d'IPv6 est devenu plus simple et le routage plus ecace. En plus de tout cel, avec l'IPv6, on retourne un espace d'adressage unique et de bout-en-bout, donc plus besoin d'adresses prives ni de NAT. En eet, le NAT en IPv6, pour son aspect scurit, a t remplac par des rewalls fournissant le mme niveau de scurit sans tre intrusifs dans le contenu des paquets et permettant beaucoup plus de souplesse de conguration. Plus besoin donc d'employer 60% de l'nergie d'un protocole grer la seule problmatique du passage de NAT, qui n'est en soi qu'une mesure purement technique n'orant pas de fonctionnalit propre[1]. On peut aussi parler dans l'IPv6 de l'auto conguration des adresses des machines. En fait, chaque machine acquiert par dfaut une adresse IPv6 sans avoir besoin de la congurer, ce qui nous vite, en plus, si on le dsire, l'utilisation d'un serveur DHCP. Pour nir, on cite l'un des avantages les plus importants de l'IPv6 qui est la gestion

128 adresses

uniques, au lieu des 16 bits oerts par l'IPv4 soit 4,3 milliards d'adresses IP distinctes

aise du nomadisme IP pour les MobileIPv6. Par exemple, IPv6 ore la possibilit un mobile de rester joignable par la mme adresse IP mme lors de changements frquents entre hotspots Wi, connectivit 3G, etc.

2 Rappel sur IPv4


Introduction
Ce chapitre est une sorte de rappel sur le protole IPv4. Nous donnerons un aperu de sa trame, les dirents types d'adresses qu'il utilise et les protocoles qui lui sont relis.

2.1 Prsentation du protocole IPv4


L'Internet Protocol version 4 ou IPv4 est la premire version d'IP avoir t largement dploye, et forme encore la base de l'Internet. Elle est dcrite dans la RFC numro 791.

2.1.1 La trame IPv4


La trame IPv4 est code sur 32 bits et est constitue de 15 champs comme suit :

Figure 2.1: Trame IPV4

 Version (4 bits) : Reprsente le numro de version du protocole IP ( 4 dans notre cas). Il permet aux piles IP rceptionnant la trame de vrier le format, d'interprter correctement la suite du paquet, et de le rejeter dans le cas d'un numro inconnu.  Longueur de l'entte (4 bits) : ou IHL (Internet Header Length). Ce champs reprsente la longueur en mots de 32 bits de l'entte IP  Service (8 bits ) : Indique la faon selon laquelle le datagramme doit tre trait.  Longueur totale (16 bits ) : Reprsente la longueur du paquet incluant l'entte IP et les Data associes, qui est exprime en octets. Ceci permet de spcier une taille maximum de 2

16 = 65535 octets

10

 Identication (16 bits ) : Utilis pour reconstituer les dirents fragments. Chaque fragment possde le mme numro d'identication. Les enttes IP des fragments sont identiques l'exception des champs Longueur totale, Checksum et Position fragment.  Drapeaux (3 bits ) : ou ags. Indique l'tat de la fragmentation. La signication de chaque bit est comme suit :  Reserved : Le premier bit est reserv et positionn 0.  DF (Don't fragment) : Le second bit permet d'indiquer si la fragmentation est autorise (bit 0) ou non (bit 1).  MF (More fragments) : Indique, s'il est 1, que le fragment reu n'est pas le dernier  Deplacement du fragment (13 bits ) : ou Fragment Position. Indique la position du fragment par rapport 1re trame. S'il est 0, c'est que le fragment est le premier.  TTL (8 bits ) : Time To Live. Indique la dure de vie maximale du paquet. S'il arrive 0, l'quipement qui possde le paquet le dtruit.  Protocole (8 bits ) : Permet de connatre le protocole dont est issu le datagramme  Somme de contrle de l'entte (16 bits ) : checksum. Permet de contrler l'intgrit de l'en-tte an de dterminer si celui-ci a t altr pendant la transmission ou non.  Adresse IP Source (32 bits ) : Represente l'adresse IP de l'expditaire. Elle est code sur 4 octets : A.B.C.D  Adresse IP Destination (32 bits ) : Represente l'adresse IP du destinataire. Elle est code sur 4 octets : A.B.C.D  Options (taille infrieure ou gale 32 bits ) : N'est pas obligatoire.  Bourrage (taille entre 0 et 7 bits ) : Permet de combler le champs options. Il est utilis an d'avoir une entte IP multiple de 32 bits

2.1.2 L'Adressage dans IPv4


Les adresses dans IPv4 sont crites sur 4 octets. Elles sont representes par des chires dcimaux allant de 0 255 de la manire suivante x.y.z.w

2.1.2.1 Les classes d'adresses


Les classes sont des groupes d'adresses qui ont t dnis dans le but d'optimiser le routage des paquets entre les dirents rseaux. Le protocole IPv4 dnit 5 classes d'adresses nommes A, B, C, D et E.

11

Figure 2.2: Les classes d'adresses


 Classe A Le premier octet a une valeur comprise entre 1 et 126. Ce premier octet dsigne le numro de rseau et les 3 autres correspondent l'adresse de l'hte.  Classe B Le premier octet a une valeur comprise entre 128 et 191. Les 2 premiers octets dsignent le numro de rseau et les 2 autres correspondent l'adresse de l'hte.  Classe C Le premier octet a une valeur comprise entre 192 et 223. Les 3 premiers octets dsignent le numro de rseau et le dernier correspond l'adresse de l'hte.  Classe D Le premier octet a une valeur comprise entre 224 et 239. Il s'agit d'une zone d'adresses ddies aux services de multidiusion vers des groupes d'htes (host groups).  Classe E Le premier octet a une valeur comprise entre 240 et 255. Il s'agit d'une zone d'adresses rserves aux exprimentations. Ces adresses ne doivent pas tre utilises pour adresser des htes ou des groupes d'htes.

2.1.2.2 Les rseaux privs


Un rseau priv utilise les plages d'adresse IP prives, qui sont des adresses non routables sur Internet. Le tableau suivant rpertorie les plages d'adresse IPv4 prives et des masques de rseau respectifs. Classe A B C Adresse rseau 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0-192.168.255.255 Masque rseau 255.0.0.0 255.240.0.0 255.255.0.0

Table 2.1: Rseaux privs

12

2.1.2.3 Les adresses particulires


 

La boucle locale :
L'adresse rseau 127.0.0.0 est rserve pour les communications en boucle locale.

Les adresses de broadcast

Elles correspondent l'adresse la plus haute qu'on peut trouver dans un rseau. Tous les paquets avec cette adresse de destination sont traits par tous les htes du rseau local. Certaines informations telles que les annonces de service ou les messages d'alerte sont utiles l'ensemble des htes du rseau.

2.1.3 Le protocole ICMP v4


ICMP est l'acronyme de Internet Control Message Protocol. Il est principalement utilis par les systmes d'exploitation des ordinateurs en rseau pour envoyer des messages de contrle ou d'erreur vers d'autres machines ou passerelles. Parmis les erreurs qu'on peut citer, beaucoup sont causes par l'metteur, mais d'autres sont des des problmes d'interconnexions rencontrs sur l'Internet comme par exemple machine destination dconnecte, dure de vie du datagramme expire ou encore congestion de passerelles intermdiaires. Les messages ICMP sont vhiculs l'intrieur de datagrammes IP et sont routs comme n'importe quel datagramme IP sur Internet. Il existe une multitude de types et de codes qui ont chaque combinaison une signication. La trame ICMP est donne ci dessous :

Figure 2.3: Entte ICMP


2.1.4 Le protocole ARP
ARP ou Address Resolution Protocol est un protocole eectuant la traduction d'une adresse de protocole de couche rseau,typiquement une adresse IPv4, en une adresse MAC, typiquement une adresse Ethernet, ou mme de tout matriel de couche de liaison. Il se situe l'interface entre la couche rseau et la couche de liaison. Le protocole ARP est ncessaire au fonctionnement d'IPv4 et est utilis au-dessus d'un rseau de type Ethernet.

13

Figure 2.4: Entte ARP


 Hardware type : ce champs est plac en premier an d'indiquer quel est le format de l'entte Arp.  Protocol Type : Ce champs indique quel est le type de protocole couche 3 qui utilise Arp.  Hardware Address Length : ce champ correspond la longueur de l'adresse physique. La longueur doit tre prise en octets. Parmis les valeurs courantes, nous avons 01 pour Token Ring et 06 pour Ethernet  Protocol Address Length : ce champ correspond la longueur de l'adresse rseau. La longueur doit tre prise en octets. La valeur de IPv4 est le 04 et celle de IPv6 est le 16  Operation : ce champ permet de connatre la fonction du message et donc son objectif (Request ou Reply)  Sender Hardware Address : C'est l'adresse physiquee l'emetteur, c'est dire dans le cas d'Ethernet, son adresse MAC.  Sender Internet Address : C'est l'adresse rseau de l'emetteur, ou adresse IP dans le cas de TCP/IP  Target Hardware Address : C'est l'adresse physique du destinataire ou adresse MAC. Si c'est une demande Arp, alors, ne connaissant justement pas cette adresse, le champs sera mis 0.  Target Internet Address : C'est l'adresse rseau du destinataire, soit son adresse IP.

Conclusion
Nous avons rappel les notions de base du protocole IPv4. Nous avons vu qu'il prsente des limites puisque le nombre d'adresses qu'il fournit n'est plus susant, et qu'aujourd'hui, nous sommes face pnurie d'adresse. Il est donc temps de penser au nouveau protocole : l'IPv6.

14

3 Le protocole IPv6
Introduction
La pnurie d'adresse a oblig les concepteurs penser un nouveau protocole d'adressage. C'est le protocole IPv6. Nous le prsenterons dans ce chapitre et nous donnerons une comparaison entre l'IPv4 et l'IPv6. Nous nirons par expliquer les modes de compatibilit entre les deux version d'IP.

3.1 Prsentation du Protocole IPv6


L'IPv6 est la nouvelle version, ou nouvelle gnration du protocole Internet. Il devra permettre un adressage plus grand et un routage plus simple et plus rapide.

3.1.1 La trame IPv6


Le protocole IPv6 apporte une simplication l'entte. Le nombre de champs passe de quatorze sous IPv4 sept. On remarquera la disparition du champs checksum et des enttes optionnelles. La trame est code sur 32 bits.

Figure 3.1: Trame IPv6

 Version (4 bits ) : Toujours 06, il reprsente le numro de version du protocole Internet.

15

 Classe du trac (8 bits ) : Il identie le type de contenu encapsul dans la trame IPv6, an de permettre des traitements particuliers, entre autre durant le routage de celle ci.  Identication du ux (20 bits ) : Ce champ permet la mise en uvre des fonctions de qualit de service. Il permet d'optimiser le routage par un acheminement plus rapide des donnes. Par ce champ, on peut donner un identiant la communication[2].  Longueur de la charge utile (16 bits ) : C'est la taille du paquet sans l'entte.  Entte suivant (8 bits ) : Ce champ spcie le protocole transport par IPv6, ce qui est similaire au champ "protocole" d'IPv4  Dure de vie (8 bits ) : ou nombre maximum de sauts. Il indique le nombre de routeurs que le paquet peut traverser, et vite donc, qu'il circule indiniment dans le rseau.  Adresse IP source (32 bits ) : reprsente l'adresse de l'emetteur du paquet.  Adresse IP destination (32 bits) : reprsente l'adresse du rcepteur du paquet.

3.1.2 L'Adressage dans IPv6


Nous avons ici un exemple d'adresse IPv6

Les adresses dans IPv6 sont crites sur 128 bits, ce qui permet d'avoir 3,4

1038

adresses. On utilise pour la notation un systme hexadcimal scind en bloc de 16 bits.

fe80 :0000 :0000 :0000 :0240 :ca :febf :dd81/64


On remarque dans cette adresse l'utilisation d'un trs grand nombre de 0 successifs, qu'on peut remplacer par la notation  : :. Ceci n'est faisable qu'une seule fois pour viter la confusion, car on ne saura reconnaitre le nombre de 0 masqus chaque utilisation de  :. L'adresse note ci dessus devient donc :

fe80 : :0240 :ca :febf :dd81/64


On peut galement supprimer les 0 inutiles ou non signicatifs comme dans le cas du 0240 qui peut devenir 240. On aura nalement l'adresse sous le format suivant :

fe80 : :240 :ca :febf :dd81/64


Une adresse IPv6 est compose de deux parties : la partie identiant du rseau, appele prxe, qui est repre grce au masque de rseau et la partie adresse de l'quipement. Enn, en IPv6, il devient standard d'avoir plusieurs adresses sur une mme interface rseau.

3.1.2.1 Les types d'adresses


IPv6 reconnait trois types d'adressage :  Les adresses Unicast : Une adresse Unicast dsigne une et une seule machine, laquelle le paquet doit tre dlivr via le plus court chemin. Les 64 premiers bits sont reservs aux sous rseaux et les 64 derniers bits sont reservs l'identiant de

16

la machine. Notons que les sous rseaux, appels galement segments, ont toujours une taille xe de 64 bits, contrairement IPv4, et donc tous les systmes ayant les mmes 64 bits de dbut sont sur le mme segment et sont distingus par leur identiant.  Les adresses Multicast : Ce sont les successeurs des adresses broadcast (envoi un ensemble de machines qui se doivent d'appartenir une mme classe). Une adresse de type multicast dsigne un ensemble d'interfaces. Lorsqu'un paquet a pour destination une adresse de type multicast, il est achemin par le rseau toutes les interfaces membres de ce groupe. Ces adresses ne peuvent servir qu'en tant qu'adresses de destination.Le prxe d'une adresse multicast est FF.  Les adresses Anycast : Comme dans le cas du multicast, une adresse de type anycast dsigne un groupe d'interfaces. Mais le datagramme ne sera transmis qu' un seul membre du groupe. Ce sera, par exemple, le plus proche au sens de la mtrique des protocoles de routage. Ce type d'adresse est encore en cours d'exprimentation et est rserv pour le moment aux routeurs. Ces adresses ne peuvent servir qu'en tant qu'adresses de destination. Les adresses anycast ont deux points communs avec les adresses unicast : elles sont alloues dans le mme espace d'adressage et ont les mmes formats.

3.1.2.2 Les adresses particulires


Comme dans IPv4, nous rencontrons dans IPv6 des adresses ddies une utilisation particulire :  : :1/128 : la boucle locale  FE80 : l'adresse lien-local servant en local dsigner une interface rseau.  FF01 : : : Noeud local. Un paquet mis sur cette adresse ne quitte jamais l'quipement  FF02 : :1 : Lien local. Sert dsigner tous les noeuds IPv6 situs sur le mme lien local que l'interface de connexion. Ils ne doivent pas tre routs sur un autre rseau.  FF02 : :2 : Sert dsigner tous les routeurs connects sur le mme lien local que l'interface de connexion.  FF02 : :3 : Sert dsigner tous les htes situs sur le lien local. : : dsigne l'adresse indtermine.  FF05 : : : Dsigne tous les htes du rseau local.  FEC0 : :/10 : Adresse de rseau priv [3] 1. Adresses du lien local Ce sont des adresses particulires qui n'auront de validit que sur un mme espace de lien. En utilisant cette adresse comme adresse de destination le paquet ne devrait jamais franchir un routeur.Ce type d'adresse permet deux machines sur le mme lien de communiquer et peut aussi tre utilis pour une connexion PPP ou pour les extrmits d'un tunnel. Le prxe d'une adresse de lien local est fe80 : : /10. 2. Adresses Locales Uniques Anciennement appeles adresses de site local, ce type d'adresse est rout uniquement l'intrieur d'un primtre donn. L'ide consiste reprendre le concept des

17

adresses IPv4 prives, qui sont connes au site et ne peuvent pas tre routes sur Internet. Le prxe pour ces adresses est fc00 : :/7.

3.1.3 Le Protocole ICMP v6


Il combine des fonctions antrieurement subdivises travers dirents protocoles, tels qu'ICMPv4, IGMP et ARP. Il introduit galement quelques simplications en liminant des types de messages obsoltes qui ne sont plus utiliss. ICMPv6 est un protocole gnrique. Il est utilis par exemple pour rapporter des erreurs trouves dans le traitement des paquets, eectuer des diagnostics ou une dcouverte de voisinage, et rapporter l'appartenance un multicast. Pour cette raison, les messages ICMPv6 sont catgoriss en deux classes : error messages et information messages.

3.1.4 Le protocole NDP


Neighbor Discovery Protocol est un protocole qui permet aux nuds d'un rseau de dcouvrir leurs voisinages. Il fournit IPv6 des services similaires Address Resolution Protocol (ARP), ICMP Router Discovery et Router Redirect dans IPv4. Il prsente en plus de cel des amliorations comme le Neighbor Unreachability Detection (NUD) qui permet de dtecter des systmes inaccessibles. NDP est aussi moins dpendant d'un type de mdia qu'ARP. Le protocole ralise direntes fonctions, comme la rsolution d'adresse, la dtection d'inaccessibilit, la conguration automatique des quipements, ou la dcouverte des routeurs et des prxes. NDP dnit cinq types de paquets ICMPv6 qui sont  Router Solicitation  Router Advertisement  Neighbor Solicitation  Neighbor Advertisement  Redirect

3.2 Comparaison entre IPv4 et IPv6


Aprs une premire prsentation des deux protocoles IPv4 et IPv6, nous pouvons prsenter un tableau rcapitulatif pour mettre en vidence les dierences.

18

Caractristique Protocole de routage ICMP

IPv6 NDP Combine des fonctions antrieurement subdivises travers dirents protocoles, tels qu'ICMPv4, IGMP, et ARP et il limine les messsages obsoltes qui ne sont plus utiliss.

IPv4 ARP Utilis pour vhiculer des messages de contrle et d'erreur pour cette suite de protocoles

Adresse

128 bits en 8 mots de 16 bits spars par le caractre  : 

adresse sur 32 bits sous la forme W.X.Y.Z, avec chacune de ces lettres reprsentant des nombres entre 0 et 255

Nombre de champs obligatoires Fragmentation

6 Eectue par l'emetteur

13 Eectue par les lments d'interconnexion

Table 3.1: Comparaison entre IPv4 et IPv6

3.3 Compatibilit entre IPv4 et IPv6


An de pouvoir eectuer une transition douce du protocole IPv4 vers le protocole IPv6, un certain nombre de mcanismes a t mis en place an de garantir la transition

3.3.1 Double Pile


Ce principe consiste la possibilit pour un systme de grer les deux protocoles en mme temps. Aujourd'hui, la plupart des systmes d'exploitation et des quipements modernes peuvent le faire. Il s'agit de congurer correctement les deux piles et de les laisser cohabiter, le service saura choisir quelle pile utiliser en fonction du service demand.

Adresses IPv4 mappes

: Une machine IPv6 peut aussi bien communiquer avec une

machine IPv6 qu'avec une machine IPv4 et ce, en utilisant des adresses IPv4 mappes. C'est simplement une reprsentation des adresses IPv4 dans l'adresse IPv6, sous la forme : :FFFF :a.b.c.d, par exemple : : :FFFF :192.168.216.1.

Adresses IPv4 compatibles : Une machine IPv6 communiquant avec une autre machine
IPv6 via un tunnel automatique IPv6 sur IPv4 peut utiliser des adresses IPv4 compatibles IPv6. Ces adresses sont notes la manire suivante : : :a.b.c.d : : :192.168.1.4

19

3.3.2 Les tunnels IPv6 dans IPv4


Lors d'un transfert d'une trame IPv6 entre deux quipements, un tunnel sera cre. Cel veut dire que la trame IPv6 sera encapsule l'intrieur de la trame IPv4. Il existe deux types de tunnels : Statiques ou dynamiques

3.3.2.1 Les tunnels statiques


Les tunnels statiques fonctionnent suivant le mme principe que les rseaux privs virtuels (VPN). Cette technique impose de connatre les adresses IPv4 de chaque extrmit du tunnel.

3.3.2.2 Les tunnels dynamiques


Les tunnels dynamiques permettent la cration automatique de tunnels IPv6 sur IPv4 en cas d'absence de connectivit IPv6 native. Il existe plusieurs protocoles pour permettre ceci dont :  6to4 : (router-to-router) ddi la communication entre deux sites IPv6 distants via un rseau IPv4. La prsence d'un routeur est ncessaire. Ce routeur attribue l'quipement une adresse IPv6 constitue partir de son adresse IPv4. Par exemple, si l'adresse publique du routeur est 23.54.65.123 et le prxe du rseau IPv6 est FEC0, les oprations suivantes seront ralises : Transformation de l'adresse IPv4 en notation hexadcim ale (1736 :417B) puis ajout de cette adresse au prxe IPv6 (FEC0 :1736 :417B). cette adresse de rseau seront ajouts les identiants de chaque quipement. La trame sera ensuite encapsule dans une trame IPv4 puis transmise au routeur 6to4 distant[4].  Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) : (host-to-router, routerto-host or host-to-host ) conu pour permettre un quipement IPv6 isol dans un rseau IPv4 de communiquer avec un rseau IPv6 distant via une passerelle supportant IPv6. Une adresse ISATAP sera compos ainsi :

[Prx du rseau distant ] :0000 :5EFE :[adresse IPv4 de l'quipement]


Aprs encapsulation dans une trame IPv4, les donnes seront envoyes vers la passerelle qui les retransmettra leur destinataire.  Teredo : Cette technologie a t dveloppe par Microsoft pour palier aux dfauts de 6to4.Ce service permet aux machines situes derrire un ou plusieurs NAT d'obtenir une connectivit IPv6. Ce mcanisme de type client/serveur s'appuie sur des serveurs et des relais de faon optimiser le chemin parcouru par les paquets IPv6, mais ceci conduit une certaine complexit dans les changes. Teredo est un outil de dernier recours, destin tre utilis en l'absence de connectivit IPv6 native, ou de tunnel congur, ou de la mise oeuvre de 6to4.

Conclusion
La prsentation du protocole IPv6 dans ses dirents aspects nous a permis d'en avoir une ide gnrale, ncssaire pour notre prochaine migration. Il ne nous reste plus qu'

20

tudier son aspect scurit.

21

4 L'aspect Scurit dans IPv6


Introduction
La migration de l'IPv4 vers l'IPv6 ne doit pas ngliger l'aspect scurit. En eet, on ne pourra pas dployer un nouveau protocole sans tre rassur quant la scurit de nos quipements et de nos donnes. Nous prsenterons dans ce qui suit quelques mcanismes de scurit pris en considration par IPv6.

4.1 IPsec
IPSec ou IP Security Protocols est un ensemble de mcanismes de scurit communs IPv4 et IPv6 qui visent scuriser les changes au niveau de la couche rseau. Il a t mis au point pour IPv6 puis a t adapt l'IPv4, vu la lenteur de dploiement de l'IPv6 et les besoins forts des entreprises. Parmis les services de scurit oerts par IPsec on cite :  Authentication des extrmits  Condentialit des donnes changes  Authenticit des donnes  Intgrit des donnes changes  Protection contre les coutes et analyses de trac IPsec ore deux modes d'change : le mode transport et le mode tunnel. Le mode transport, facile mettre en oeuvre, ore une protection de niveau suprieur et permet de scuriser une communication de bout en bout sans eectuer de masquage d'adresse, tandis que le mode tunnel encapsule des datagrammes IP dans d'autres datagrammes IP, orant une protection lien par lien. Ce deuxime mode est utilis quand au moins une des deux extrmits d'IPsec se comporte comme une passerelle.[5]

4.1.1 Les protocoles la base d'IPsec 4.1.2 Le Protocole AH


AH ou Authentication Header est le premier et le plus simple protocole de scurit parmis tous ceux qui font partie de la spcication IPsec. Il garantit  L'authentication : les datagrammes IP reus ont eectivement t mis par l'hte dont l'adresse IP est indique comme adresse source dans les en-ttes.  L'unicit : un datagramme ayant t mis lgitimement et enregistr par un attaquant ne peut tre rutilis par ce dernier, les attaques par rejeu sont ainsi vites.  L'intgrit : certains champs du datagramme IP n'ont pas t modis.

22

Le problme de AH est qu'il ne garantit pas la condentialit. En eet, les donne sont signes et non chires, ce qui peut tre facilement reversible.

4.1.3 Le protocole ESP


ESP ou Encapsulating Security Payload est le second protocole de protection des donnes qui fait partie de la spcication IPsec. ESP ne protge pas les enttes des datagrammes IP mais il protge plutot les donnes. Il permet de garantir :  La condentialit des donnes : la partie donnes des datagrammes IP transmis est chire. (en mode tunnel, le chirement peut s'etendre l'ensemble des champs du datagramme IP)  L'authentication : la partie donnes des datagrammes IP reus ne peut avoir t mise que par l'hte avec lequel a lieu l'change IPsec, qui ne peut s'authentier avec succs que s'il connat la clef associe la communication ESP.  L'unicit  L'integrit : les donnes n'ont pas t modies depuis leur mission. ESP peut utiliser un certain nombre d'algorithme de cryptage : NULL, DES, 3DES, AES, et Blowsh en particulier.

4.2 SEND : Scuriser la dcouverte du voisinage NDP


Secure Neighbour Discovery Protocol est une version scurise du NDP. Le protocole SEND permet, de scuriser le protocole NDP qui est le responsable de la dcouverte d'autres htes sur les liens locaux, de la dtermination de l'adresse MAC et du maintien de l'information d'accessibilit des htes voisins. Le protocole SEND permet de scuriser ND avec un protocole cryptographique dirent d'IPsec. Il utilise des adresses gnres cryptographiquement. Les principaux messages NDP devant tre scuriss sont les neighbor advertisement et les router advertisement car ce sont ces messages qui vont directement perturber le comportement des machines. SEND introduit 2 nouvelles options dans les messages NDP : l'option CGA et l'option RSA. L'option CGA va permettre de transporter la cl publique de l'metteur alors que l'option RSA va permettre de signer le message avec la cl prive correspondante an de protger son intgrit et d'authentier l'metteur. SEND introduit galement 2 nouveaux messages : CPS et CPA. CPS (Certication Path Solicitation) est envoy par un poste client lorsqu'il reoit un router advertisement d'un routeur dont il ne possde pas le certicat. Le routeur rpond par une trame CPA (Certication Path Advertisement) transportant son certicat. La principale contrainte de SEND est d'imposer les adresses IPv6 qui ne peuvent plus tre positionnes manuellement. La RFC indique que ce type de conguration devra faire l'objet de travaux futurs (notamment par l'emploi de certicats certiant l'adresse IP utilise). En eet SEND fait appel aux adresses CGA (Cryptographically Generated Address) qui permet de gnrer une adresse IPv6 unique partir d'une cl publique RSA.

23

La validit de l'metteur peut donc tre vrier grce la cl publique transporte dans le message. Cela vite l'usurpation d'adresse IP. Une autre fonctionnalit de SEND est d'utiliser une extension des certicats x509v3 an de dnir les prxes que les routeurs sont autoriss annoncer. Le problme de SEND est qu'il n'est quasiment pas dvelopp pour le moment. Une seule implmentation existe sous Linux et aucune implmentation n'existe ce jour pour Windows. De plus son implmentation reste complexe puisqu'il est ncessaire de disposer d'une PKI (Public Key Infrastructure) an de grer les certicats.

4.3 Pare-feu et ltrage


Plusieurs outils de ltrage utilisant IPv6 existent, et sont mis notre disposition dans les systmes d'exploitation. Parmi ceux-ci :  Sous Linux, il existe ip6tables, dont l'usage est trs similaire celui de son prdcesseur iptables pour IPv4  Dans les versions BSD, pf permet de ltrer IPv6 de manire assez simple.  Mac OS s'appuie sur l'utilitaire ipfw (ip6fw) pour orir le ltrage IPv6.  Microsoft fournit galement un pare-feu partir de la version XP SP1, nomm Internet Connection Firewall puis Windows Firewall. L'utilisateur dnit une seule conguration, qui s'applique pour IPv4 et IPv6. Les rgles de ltrage se basent souvent sur les champs suivants :  adresses source et destination  les protocoles suprieurs  les ports source et destination (niveau transport)  champs tels que les labels de ux (ow labels) ou les classes de trac (trac class). Cependant, les direntes options de tunnel oertes par IPv6 sont dicilement contrlables au niveau d'un pare-feu, et les rgles simples de connectivit (ports source/destination) sont facilement contournables. Les pare-feux ne gardent souvent pas les dtails de l'tat des connexions.

Conclusion
Nous avons vu dans ce qui a prcd qu'IPv6 prsente certaines normes de scurit, essentiellement avec IPsec qui a t mis en place pour IPv6 avant d'tre adapt pour IPv4. Nanmois, la scurit demeure encore le maillon faible de IPv6 et les recherches continuent dans ce domaine, comme c'est le cas de SEND.

24

5 Mise en oeuvre
Introduction
Aprs avoir dcouvert les dirents aspects du protocole IPv6 et les limites du protocole IPv4, il est temps de penser la migration. Nous prsenterons dans ce qui suit une architecture d'entreprise puis nous montrerons les direntes tapes par lesquelles nous sommes passes pour faire fonctionner notre infrastructure en IPv6.

5.1 Mise en contexte


Pour eectuer la dmarche complte de la migration de l'infrastructure d'une entreprise de l'IPv4 vers l'IPv6, nous avons procd la simulation d'une entreprise, se rapprochant le plus possible du cas rel.

5.1.1 Prsentation de l'architecture de l'entreprise


Dans notre choix d'entreprise, nous avons opt pour un cas orant des services de mails et d'hebergement web. Pour ceci, nous mettrons en place des serveurs Web, des serveurs Mails, des Serveurs DNS, un serveur de Base de donnes, un serveur Web mobile, un serveur de stockage et enn un serveur NTP, comme montr ci dessous.

25

Figure 5.1: Architecture de l'entreprise




Serveurs Mail : Nous devons avoir quatre serveurs mail. Deux serveurs seront des
serveurs SMTP et les deux autres seront des serveurs POP3/IMAP. Nous avons opt pour quatre serveurs pour assurer la disponibilit des services, et ne pas subir les cas de panne ou de surcharge.

Serveurs Web :

Nous avons mis en place deux serveurs web. L'un sera congur

sous Linux pour les utilisateurs de pHp, jsp, python... et le second sera congur sous Windows pour les utilisateurs des applications .NET et C#. Les deux serveurs web seront relis un serveur de base de donnes MySQL server, invisible par le rseau public. 

Serveurs DNS :

Trois serveurs DNS ont t utiliss dans notre architecture. Un

serveur primaire et deux serveurs secondaires. Ils seront tous les trois congurs sous Bind. Le serveur primaire doit tre reli Internet pour pouvoir rpondre aux requtes DNS des zones qui ne lui appartiennent pas (exemple google.com), quant aux serveurs secondaires, ils rpondront aux requtes des dirents clients auxquels ils seront relis. 

Serveur NTP
serveurs.

: La notion d'heure pour des quipements informatiques est trs

importante, ne serait-ce que pour la journalisation. C'est donc une ncessit que de mettre en place un serveur NTP pour avoir une synchronisation entre nos dirents 

Serveur web pour mobiles : Le domaine du mobile tant en vogue aujourd'hui,

26

nous devions donc prendre en considration ceci et consacrer un serveur pour le dveloppement des applications du mobile. 

Serveur de stockage : Ce serveur possde une grande quantit d'espace disque o


sont dposs des chiers. Les utilisateurs peuvent ensuite les rcuprer au moyen d'un protocole de partage de chier.

Tous les serveurs que nous avons dcrits ont au moins deux interfaces, l'une relie directement Internet via un Firewall et un routeur, et une autre reli au rseau priv de l'entreprise. Le rseau public sera subdivis en VLANs. Chaque VLAN contiendra un serveur hormis les doublons. Les serveurs DNS devront communiquer avec l'ensemble des noeuds, et seront donc compris dans tous les VLANs. Nous avons galement pens mettre en place un VPN pour l'administrateur rseau an qu'il puisse accder ses serveurs en dehors de l'entrprise en cas de problme ou d'urgence. Nous donnons dans les deux tableaux suivants les plans d'adressage des passerelles (rewall, routeurs) et des serveurs. Passerelle Firewall Routeur connect au rseau public Routeur connect au rseau priv Interface 1 193.95.68.1/24 41.20.21.21/8 192.168.1.1/24 Interface 2 41.20.21.22/8 40.20.30.40/8 20.21.22.23/8

Table 5.1: Plan d'adressage des passerelles


Serveur SMTP1 SMTP2 POP3/IMAP1 POP3/IMAP2 Web Linux Web Windows NTP Mobile Stockage BD DNS 1-1 DNS 1-2 DNS 2 adresse IP publique 193.95.68.100/24 193.95.68.101/24 193.95.68.102/24 193.95.68.103/24 193.95.68.10/24 193.95.68.11/24 193.95.68.21/24 193.95.68.58/24 193.95.68.201/24 193.95.68.12/24 193.95.68.71/24 193.95.68.72/24 193.95.68.73/24 Passerelle publique 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 193.95.68.1/24 adresse IP prive 192.168.1.2/24 192.168.1.3/24 192.168.1.4/24 192.168.1.5/24 192.168.1.6/24 192.168.1.7/24 192.168.1.8/24 192.168.1.9/24 192.168.1.10/24 192.168.1.11/24 192.168.1.12/24 192.168.1.13/24 192.168.1.14/24 Passerelle prive 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24 192.168.1.1/24

Table 5.2: Plan d'adressage des serveurs

27

5.2 Prparation d'un plan d'adressage


La premire tape toute migration est de vrier que tous nos quipements rseaux (serveurs, routeurs, rewalls, switchs) supportent la double pile : ceci veut dire qu'une interface peut la fois avoir une adresse IPv4 et IPv6. Aujourd'hui, la plupart des quipements modernes peuvent le faire. L'entreprise doit demander son FAI de lui fournir un prxe de site au IPv6 de 48 octets. Si le FAI ne peut prendre en charge qu'IPv4, plusieurs options sont envisageables :  Louer un FAI fournissant au site une seconde ligne ddie aux communications IPv6. Cette solution est onreuse.  Acqurir un FAI virtuel. Les FAI virtuels fournissent un accs IPv6 sans connexion physique. La connexion s'eectue de fait par le biais d'un tunnel reliant le FAI virtuel et le site travers le FAI IPv4.  Crer un tunnel 6to4 vers d'autres sites IPv6 travers le FAI actuel. Congurer l'adresse IPv4 enregistre du routeur 6to4 en tant qu'entit topologique publique de l'adresse IPv6[6]. Aussitt le prxe de site obtenu, il faut commencer par mapper les rseaux IPv4 existants vers les rseaux IPv6 quivalents. Serveur SMTP1 SMTP2 POP3/IMAP1 POP3/IMAP2 Web Linux Web Windows NTP Mobile Stockage BD DNS 1-1 DNS 1-2 DNS 2 Firewall Interface1 Firewall Interface 2 Routeur Prxe IPv4 193.95.68.100 193.95.68.101 193.95.68.102 193.95.68.103 193.95.68.10 193.95.68.11 193.95.68.21 193.95.68.58 193.95.68.201 193.95.68.12 193.95.68.71 193.95.68.72 193.95.68.73 193.95.68.1 41.20.21.22 41.20.21.21 Prxe IPv6 AAAA :1 : :100/64 AAAA :1 : :101/64 AAAA :1 : :102/64 AAAA :1 : :103/64 AAAA :1 : :10/64 AAAA :1 : :11/64 AAAA :1 : :21/64 AAAA :1 : :58/64 AAAA :1 : :201/64 AAAA :1 : :12/64 AAAA :1 : :71/64 AAAA :1 : :72/64 AAAA :1 : :73/64 AAAA :1 : :1/64 AAAA :2 : :22/64 AAAA :2 : :21/64

Table 5.3: Mappage des prxes IPv4 privs vers les prxes IPv6

28

5.3 Migration de l'IPv4 vers l'IPv6


5.3.1 Prsentation de l'environnement de travail
Pour implmenter notre architecture, nous avons opt pour la virtualisation avec le logiciel GNS3. La virtualisation de faon gnrale constitue un outil trs en vogue et est utilise de direntes manires que ce soit dans le cas de serveurs mutualiss ou encore dans le cas de la cration d'un environnement de test. Elle consiste muler des composants matriels qui vont accueillir des systmes d'exploitation divers et varis. Dans notre cas on utilisera le logiciel VirtualBox permettant l'mulation des composants d'un ordinateur.

5.3.1.1 Prsentation de GNS3


L'outil permettant la virtualisation se compose de trois lments :  Dynamips : il s'agit de l'outil de virtualisation proprement parler. Il est en charge d'muler les composants du matriel Cisco.  Dynagen : est "l'interface" en mode texte dveloppe en python et facilitant l'administration et la gestion et l'inter-connectivit des quipements muls.  GNS3 : il s'agit cette fois d'une interface graphique permettant de faciliter la conception de topologies rseaux complexes. Le logiciel GNS3 est en fait une interface graphique pour l'outil sous-jacent Dynamips qui permet l'mulation de machines virtuelles Cisco. L'atout de ce logiciel c'est que les machines mules s'appuient sur les vritables IOS fournis par Cisco et leur confrent donc l'intgralit des fonctionnalits originales.

5.3.1.2 Prsentation de VirtualBox


VirtualBox est un logiciel de virtualisation de systmes d'exploitation. Il permet la cration d'un ou de plusieurs ordinateurs virtuels dans lesquels s'installent d'autres systmes d'exploitation (systmes invits) en utilisant les ressources matrielles de l'ordinateur (systme hte). Les systmes invits fonctionnent en mme temps que le systme hte, mais seul ce dernier a accs directement au vritable matriel de l'ordinateur. Les systmes invits exploitent du matriel gnrique, simul par un  faux ordinateur  (machine virtuelle) cr par VirtualBox. VirtualBox permet de faire fonctionner plus d'un systme d'exploitation en mme temps en toute scurit car les systmes invits n'interagissent pas directement avec le systme hte, et n'interagissent pas entre eux.

5.3.2 Mise en place de l'architecture et conguration des routeurs


Nous avons choisi de mettre en place une topologie qui tablit une connexion entre deux rseaux IPv6, qui seraient relis via un rseau IPv4. Nous avons pens l'interconnexion via un rseau IPv4, car au jour d'aujourd'hui, il n'exite pas un rseau 100% IPv6, et

29

rares sont ceux les FAI qui proposent ce protocole. L'acheminement des paquets via le rseau Internet rencontrera srement sur son passage un rseau utilisant IPv4, et c'est pour cel, que dans le cadre de notre travail, et pour rapporcher notre migration le plus possible du cas rel, nous avons dcid de montrer comment il faut agir pour passer d'un rseau IPv6 un rseau IPv4 et vice versa. Nous avons dcid de crer sur nos routeurs des tunnels et de faire en sorte que tout le trac soit encapsul dans des trames IPv6. La topologie implmente sur GNS3 est dans la gure suivante[7] :

Figure 5.2: Topologie du rseau implment dans GNS3


Nous avons utilis les  clouds  an de connecter les machines virtuelles de VirtualBox notre rseau sur GNS3. Pour congurer les routeurs, la premire tape est d'activer le routage IPv6 par la commande  ipv6 unicast-routing  qui est utilise pour diuser les paquets IPv6 entre les interfaces des routeurs. Par la suite, on congure les interfaces  FastEthernet  et  Serial . Et on nit par congurer le tunnel IPv6. tant donn que nous avons pens simuler une entreprise, nous avons dcid d'abandonner le routage statique, trop volumineux et trop complexe, au prot du routage dynamique. Les tapes de conguration des routeurs R1 et R2, qui sont des routeurs Cisco c7200, sont illustres, ci-dessous, par les commandes correspondantes :

Conguration de R1  Activation du routage IPv6 sur R1 :


R1(config)#ipv6 unicast-routing R1(config)#ipv6 Router rip rip_proc R1(config-rtr)#exit


Conguration de l'interface Fa 1/0 :


R1(config)#interface fastEthernet 1/0 R1(config-if)#ipv6 rip rip_proc enable R1(config-if)#exit R1(config)#interface fastEthernet 1/0 R1(config-if)#ipv6 address AAAA:1::1/64 R1(config-if)#no shutdown R1(config-if)#exit

30

Conguration de l'interface srie 2/0 :


R1(config)#int serial 2/0 R1(config-if)#ip address 193.95.10.1 255.255.255.0 R1(config-if)#clock rate 96000 R1(config-if)#no shutdown

Conguration du tunnel :
R1(config)#int tunnel 1 R1(config-if)#ipv6 address AAAA:4::2/126 R1(config-if)#tunnel source 193.95.10.1 R1(config-if)#tunnel destination 193.95.10.2 R1(config-if)#ipv6 rip rip_proc enable R1(config-if)#end

Conguration de R2 :  Activation du routage IPv6 sur R2 :


Router(config)#hostname R2 R2(config)#ipv6 unicast-routing R2(config)#ipv6 Router rip rip_proc R2(config-rtr)#exit


Conguration de l'interface Fa 1/0 :


R2(config)#interface fastEthernet 1/0 R2(config-if)#ipv6 rip rip_proc enable R2(config-if)#ipv6 address AAAA:3::1/64 R2(config-if)#no shutdown R2(config-if)#exit

Conguration de l'interface srie 2/0 :


R2(config)#int serial 2/0 R2(config-if)#ip address 193.95.10.2 255.255.255.0 R2(config-if)#clock rate 96000 R2(config-if)#no shutdown

Conguration du tunnel :
R2(config)#int tunnel 1 R2(config-if)#tunnel source 193.95.10.2 R2(config-if)#tunnel destination 193.95.10.1 R2(config-if)#ipv6 address AAAA:4::1/126 R2(config-if)#ipv6 rip rip_proc enable R2(config-if)#end

Pour tester notre conguration, nous avons mis en place deux machines virtuelles utilisant le systme d'exploitation Linux et la distribution Ubuntu. Chacune a t connecte un cloud, comme montr dans la gure, via sa carte rseau congure en mode host-only .

31

Aprs cela, nous leur avons attribues des adresses Ipv6 contenues dans le rseau du routeur auquelle elles appartiennent, et qui sont respectivement le rseau AAAA :1 : :/64 et le rseau AAAA :3 : :/64. La conguration des adresses ipv6 dans nos machines se fait via la commande suivante.

#ifconfig eth0 inet6 add AAAA:1::2/64 #ifconfig eth0 inet6 add AAAA:3::2/64
Etant donn que nous procdons plusieurs redmarrages de nos deux machines, nous avons dcid d'enregistrer leurs congurations dans le chier /etc/network/interfaces comme suit :

Auto eth0 Iface eth0 inet6 static Address AAAA:1::2 Netmask 64


Pour vrier notre conguration, nous eectuons des tests avec la commande ping6 relative au protocole icmpv6.

Figure 5.3: Test ping6 d'une machine son routeur

Figure 5.4: Test ping6 entre 2 machines n'appartenant pas au mme rseau
On a lanc un PING de la machine ayant l'adresse AAAA :1 : :2 vers la machine ayant l'adresse AAAA :3 : :2, et on capture le trac avec WIRESHARK. Voici le rsultat obtenu :

32

Figure 5.5: Capture du trac avec Wireshark


Pour suivre le chemin d'accs on utilise la commande traceroute6 @IPv6 et on obtient le rsultat suivant :

Figure 5.6: Suivi du chemin avec traceroute


On remarque ici, que le paquet sort de l'interface eth0 de la machine d'adresse AAAA :1 : :2 vers l'interface fa1/0 du routeur R1 (AAAA :1 : :1) qui l'envoi vers le tunnel1 du routeur R2 (AAAA :3 : :1) puis vers l'interface eth0 de la machine d'adresse AAAA :3 : :2.

5.3.3 Installation et conguration des serveurs sur les machines virtuelles


Dans notre implmentation, nous n'allons pas congurer tous les serveurs comme sur l'architecture dans le rseau faute de ressources matrielles. Nous allons donc congurer quatre serveurs qui sont : le serveur mail postx, le courrier POP3, le serveur DNS bind9 et le serveur web Apache2.

5.3.3.1 Serveur mail Postx


PostFix est un serveur de messagerie lectronique. Il a pour vocation de transfrer les messages lectroniques d'un serveur un autre, ce qu'on appelle par  Message transfert Agent  ou MTA. Il est conu comme un moyen rapide, facile administrer, et alternative sre SendMail. La conguration de Postx pour la prise en compte de l'ipv6 n'est pas trs dirente de sa conguraiton pour la prise en compte de l'IPv4. Nous devons spcier le nom de domaine, l'orgine... Nous devons juste spcier l'installation quel protocole nous prendrons en compte (nous pouvons lui indiquer de considrer aussi bien IPv4 que IPv6) , et nous spcierons dans le chier main.conf, les adresses en IPv4 et IPv6. Pour congurer notre seveur mail, nous avons entr dans le chier main.conf les donnes suivantes :  myhostname : Le paramtre spcie le nom d'hte Internet de ce systme de messagerie. La valeur par dfaut est gnralement le nom de domaine de gethostname

33

(). $ myhostname est utilis comme une valeur par dfaut pour de nombreux autres paramtres de conguration.  mydomain : Le paramtre spcie le nom de domaine Internet. La valeur par dfaut est d'utiliser $ myhostname moins le premier volet. $ mydomain est utilis comme une valeur par dfaut pour de nombreux autres paramtres de conguration.  myorigin : Le paramtre myorigin indique le domaine duquel semble provenir l'email post. La valeur par dfaut est d'ajouter $ myhostname, ce qui est bien pour les petits sites. Si vous excutez un domaine avec plusieurs machines, vous devez mettre plutt $mydomain et mettre en place l'chelle du domaine une base de donnes d'alias chaque utilisateur de user@that.users.mailhost.  mydestination : Indiquer la liste de l'hte ou de noms de domaine/le/name ou le type : table patterns, spars par des virgules et / ou les espaces.

Figure 5.7: Conguration du chier main.conf


Par la suite, il nous fallait crer des utilisateurs pour pouvoir les faire communiquer par mail et pour cela, on a utilis la commande adduser, qui permet de crer des utilisateurs et de leur donner des mots de passe.

5.3.3.2 Serveur POP3 Courierpop


Le courrier lectronique est considr comme tant le service le plus utilis sur Internet. Ainsi la suite de protocoles TCP/IP ore une panoplie de protocoles permettant de grer facilement le routage du courrier sur le rseau. Le protocole POP ou Post Oce Protocol (que l'on peut traduire par "protocole de bureau de poste") permet comme son nom l'indique d'aller rcuprer son courrier sur un serveur distant (le serveur POP). Il est ncessaire pour les personnes n'tant pas connectes en permanence Internet an de pouvoir consulter les mails reus hors connexion. Il existe deux principales versions de ce protocole, POP2 et POP3, auxquels sont aects respectivement les ports 109 et 110 et fonctionnant l'aide de commandes textuelles radicalement direntes.

34

Le protocole POP fonctionne grce des commandes textuelles envoyes au serveur POP. Chacune des commandes envoyes par le client est compose d'un mot-cl, ventuellement accompagn d'un ou plusieurs arguments et est suivie d'une rponse du serveur POP compose d'un numro et d'un message descriptif. Pour avoir le POP3 sur notre machine il sut d'installer son package. POP3 ne ncessite pas de conguration particulire.

5.3.3.3 Serveur DNS bind9


Le service DNS ou Domain Name Service est un service TCP/IP permettant la correspondance entre un nom de domaine quali (FQDN : Fully Qualied Domain Name) et une adresse IP. Ainsi, grce DNS, il n'est pas ncessaire de se souvenir des adresses IP. Un serveur qui hberge le service DNS est appel "serveur de noms". Ubuntu est livr par dfaut avec BIND (Berkley Internet Naming Daemon), le serveur DNS le plus utilis sur Internet. BIND9 peut tre utilis de direntes manires. Nous avons choisi le scenario de conguration de matre/esclave. Le serveur matre : BIND9 peut tre utilis pour contenir les enregistrements DNS d'un nom de domaine enregistr. Un ensemble d'enregistrements DNS pour un nom de domaine est appel une "zone". Le serveur esclave : Un serveur esclave est utilis en complment un serveur matre, en servant de copie la ou les zones congures sur le serveur principal. Les serveurs secondaires sont recommands sur des gros rseaux. Ceux-ci assurent la disponibilit de la zone DNS, mme si le serveur matre est hors ligne. Il existe de nombreux types d'enregistrements DNS :  L'enregistrement de type AAAA (Address) : ou A pour IPv4.C'est le type le plus courant. Cet enregistrement fait correspondre une adresse IPv6 un nom de machine.  L'enregistrement de type CNAME (Alias) : Utilis pour crer un alias depuis un enregistrement de type AAAA.  L'enregistrement de type MX (Mail eXchange) : Utilis pour dnir vers quel serveur de la zone un email destination du domaine doit tre envoy, et avec quelle priorit. Cet enregistrement doit pointer vers un enregistrement de type AAAA, et non un alias CNAME. Il peut y avoir plusieurs enregistrements MX s'il existe plusieurs serveurs de messagerie sur le domaine.  L'enregistrement de type NS (Name Server) : Utilis pour dnir quels serveurs rpondent pour cette zone. Cet enregistrement doit pointer vers un enregistrement de type AAAA, non pas vers un enregistrement de type CNAME.C'est ici que le serveur matre et les esclaves sont dnis.

Conguration du serveur DNS

La conguration du serveur DNS se fait dans dirents

chiers. Nous nous intresserons dans notre cas au chier /etc/bind/named.conf.local et au chier /etc/bind/zone/emna-rym.net qui contiendra la description de la zone et la

35

dnition des CNAME. Nous commenons tout d'abord par donner la conguration du chier /etc/bind/named.conf.local

Figure 5.8: Conguration du chier /etc/bind/named.conf.local


et on donne maintenant la conguration du chier emna-rym.net que nous avons plac dans le dossier /etc/bind/zone.

Figure 5.9: Conguration du chier /etc/bind/zone/emna-rym.net


Aprs cela, on va ajouter l'adresse du serveur DNS dans le chier /etc/resolv.conf et ce an de permettre la machine de considrer cette adresse l comme serveur DNS, et d'aller la consulter en cas de besoin de rsolution d'adresse. Dans le chier /etc/resolv.conf on crit la ligne suivante :

nameserver AAAA:1::2
Essayons maintenant d'eectuer un ping de la machine AAAA :3 : :2 vers la machine AAAA :1 : :2. Nous n'utiliserons plus l'adresse IPv6, mais nous essayerons avec les dierents noms de domaines que nous avons ajout savoir emna-rym.net,ordi.emnarym.net et www.emna-rym.net. Nous voyons que les rsultats sont exactement les mmes que lors d'un ping vers une adresse IP.

36

Figure 5.10: Ping www.emna-rym.net

Figure 5.11: Ping ordi.emna-rym.net

Figure 5.12: Ping emna-rym.net


5.3.3.4 Serveur Web Apache2
Un serveur web est un logiciel permettant des clients d'accder des pages web, c'est--dire en ralit des chiers au format HTML partir d'un navigateur install sur leurs ordinateurs distants. Un serveur web est donc un  simple  logiciel capable d'interprter les requtes HTTP arrivant sur le port associ au protocole HTTP (par dfaut le port 80), et de fournir une rponse avec ce mme protocole. Apache est le serveur le plus rpandu sur Internet. Il s'agit d'une application fonctionnant la base sur les systmes d'exploitation de type Unix, mais il a dsormais t port sur de nombreux systmes, dont Microsoft Windows. La conguration d'Apache ne change pas pour la prise en compte d'IPv6, il sut juste de spcier l'adresse en IPv6 entre crochets [@IPv6].

Figure 5.13: Connexion au serveur Apache en IPv6

37

5.3.4 Mise en place d'une politique de scurit avec ip6tables


Pour scuriser notre infrastructure, nous nous sommes interesses la conguration du rewall. Nous avons choisi Netlter car la dirence de certains pare-feu applicatifs, il agit directement sur le noyau, ce qui permet une bonne scurit. Netlter prend en charge aussi bien le ltrage des paquets que le suivi des connexions. Nous avons dcid d'interdire tout accs nos machines, sauf pour les serveurs que nous avons congurs et qui sont les serveurs mail, web et DNS. Nous avons galement t obliges d'autoriser l'icmpv6 car il est inclus dans l'entte IPv6, et l'interdire signierait interdire tout trac. Les rgles ip6tables utilises sont fournies en annexe( ref : Annexe 1) :  Nous avons protg nos serveurs contre les attaques DoS par le rejet de tout paquet invalide et de tout paquet RST excessif.  Nous avons permis le DNS en entre et sortie.  Nous avons permis le http et https en entre et sortie.  Nous avons rejet des paquets selon les tats des drapeaux  ag .  Nous avons permis les services mail : SMTP, POP3, IMAP, POP3s.  Nous avons dni la politique par dfaut :  Accepter l'ICMPv6 en entre et sortie.  Rejeter par dfaut tous les paquets en entre et sortie. Cette rgle doit se mettre la toute dernire ligne du script ip6tables pour permettre l'excution des rgles de niveau suprieur.

38

Conclusion et perspectives
l'issue de ce projet, nous sommes parvenues raliser une migration d'une infrastructure rseau d'une entreprise de l'IPv4 vers l'IPv6. Cette migration a consist en la conguration de certains quipements rseau pour la prise en compte de l'IPv6, tout en continuant considrer l'IPv4, puisque ces deux versions du protocole Internet devront cohabiter pendant un certain temps, jusqu'au dployement total d'IPv6. Pour implmenter cette migration, nous avons d'abord revu les notions de base du protocole Ipv4, et nous sommes arrives saisir la ncssit du passage au nouveau protocole. Dans un second moment, nous sommes parties la dcouverte du protocole Ipv6. Nous avons eectu un travail de recherche pour arriver le matriser et connatre tous les mcanismes et protocoles ncssaires pour le faire fonctionner. En eet, Ipv6, en tant un nouveau protocole conu pour largir l'espace d'adressage et dpasser la pnurie d'adresse laquelle nous sommes arrivs, sa trame, ses adresses, ses protocoles de routage sont totalement dirents de ceux de Ipv4. Il fallait donc qu'on arrive matriser ces notions avant de penser une quelconque migration ou compatibilit entre Ipv4 et Ipv6. Pour mettre en pratique la recherche eectue, nous avons conu une architecture complexe et nous avons implment une partie des serveurs que nous avons estims les plus importants et les plus utiliss. Nous avons commenc tout d'abord par la conguration des routeurs, et nous avons prvu un rseau Ipv4 entre deux rseaux Ipv6, et ceci pour mettre en vidence la cohabitation encore existante entre les deux versions et la compatilibilit entre eux. Nous nous sommes galement intresses au volet scurit, point faible du protocole Ipv6 , en mettant en place les tunnels bass sur Ipsec et une politique de scurit avec Netlter ip6tables. Nanmoins, la scurit demeure le maillon faible de cette nouvelle version du protocole Internet, et mme si nous avons essay durant notre projet de scuriser notre infrastructure, les failles demeurent abondantes, et il faut les contrer aussi bien au niveau du routeur qu'au niveau des pare-feu et des serveurs. Les travaux de recherche encore en cours, sont d'ailleurs focaliss sur ce point. Dans la continuit de notre travail, nous pourrions l'tendre aux rseaux mobiles, tant donn que ce domaine est en grande extension, et qu'avec l'avnement de l'IPv6, le problme ne se posera plus quant l'attribution d'une ou plusieurs adresses IP chaque quipement. Nous pourrions mme concrtiser notre travail en le dployant sur du matriel et en le testant chez un fournisseur d'Internet tels que les dirents FAI ou l'ATI.

39

Bibliographie
[1] Groupe de travail IPv6 du CCCNT (GTIC) :IPv6 au Canada Rapport nal et recommandations, 16 Mars 2010 [2] Esvtelle COLIN, Fabrice BERN :  Le protocole Ipv6 , Universit de la Rochelle, 2001-2002 [3] Simon MORIN : Le Protocole Internet Version 6 ,Mmoire, 2004-2005 [4] SALMON Nicolas : COURS IPV6 Point G6 , 30/01/2010 [5] Site web : http ://www.certa.ssi.gouv.fr/site/CERTA-2006-INF-004/ [6] Site web : http ://docs.oracle.com/cd/E19957-01/820-2982/ipv6-troubleshoot-

2/index.html [7] BENCHCHAOUI OMAR ADIL : La migration de l'IPV4 vers l'IPV6, Projet n d'tude, 2007-2009

40

Annexe
 ANTI DOS

ip6tables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --set --n ip6tables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update
 Bloquer l'attaque DDOS -SMBnuke

ip6tables t-A INPUT -p TCP --dport 135:139 -j DROP


 Supprimer de tous les paquets invalides

ip6tables -A INPUT -m state --state INVALID -j DROP ip6tables -A FORWARD -m state --state INVALID -j DROP ip6tables -A OUTPUT -m state --state INVALID -j DROP
 Supprimer les paquets RST excessifs pour viter l'attaque smurf

ip6tables -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/second --limi
 Autoriser DNS en Entre et Sortie

ip6tables ip6tables ip6tables ip6tables

-t -t -t -t

filter filter filter filter

-A -A -A -A

OUTPUT -p tcp --sport 53 -j ACCEPT OUTPUT -p udp --sport 53 -j ACCEPT INPUT -p tcp --dport 53 -j ACCEPT INPUT -p udp --dport 53 -j ACCEPT

 Autoriser HTTP et HTTPS en sortie

ip6tables -t filter -A OUTPUT -p tcp --sport 80 -j ACCEPT ip6tables -t filter -A OUTPUT -p tcp --sport 443 -j ACCEPT
 Autoriser HTTP et HTTPS en entre

ip6tables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT ip6tables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT ip6tables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT
 Lecture des ags  Supprimer les drapeaux new dirents de Syn

ip6tables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP


 Interdire le scan avec Syn-Fin

ip6tables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

41

 Interdire le scan avec SYN-RST

ip6tables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP


 Interdire le scan Xmas

ip6tables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP


 Interdire le scan Nmap

ip6tables -A INPUT -p tcp --tcp-flags ALL FIN -j DROP


 Interdire les scans all null

ip6tables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP


 Interdire les scans all all

ip6tables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP


 Autoriser la connexion sur le serveur SMTP :25

ip6tables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT ip6tables -t filter -A OUTPUT -p tcp --sport 25 -j ACCEPT
 Autoriser la connexion sur le serveur POP3 :110

ip6tables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT ip6tables -t filter -A OUTPUT -p tcp --sport 110 -j ACCEPT
 Autoriser la connexion sur le serveur Mail IMAP :143

ip6tables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT ip6tables -t filter -A OUTPUT -p tcp --sport 143 -j ACCEPT
 Autoriser la connexion sur le serveur POP3S :995

ip6tables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT ip6tables -t filter -A OUTPUT -p tcp --sport 995 -j ACCEPT
 Politique par dfaut

ip6tables ip6tables ip6tables ip6tables ip6tables

-A -A -t -t -t

INPUT -p icmpv6 -j ACCEPT OUTPUT -p icmpv6 -j ACCEPT filter -P INPUT DROP filter -P FORWARD DROP filter -P OUTPUT DROP

42

You might also like