IPv6 - LinuQ

Transcription

IPv6 - LinuQ
IPv6: Concepts et notions
pratiques
Linux Meetup, Québec
Marc Blanchet
Viagénie
[email protected]
http://www.viagenie.ca
2013-02-21
2011-06-21
2010-04-21
Qui suis-je?
●
●
●
●
Président de Viagénie, firme de consultants en réseaux IP avancés,
tels que IPv6, VoIP, internationalisation, linux embarqué et les
réseaux dans l'espace.
Vice-Président du groupe de travail ISACC IPv6 (Canada)
Actif sur IPv6 depuis 15 ans et a initié plusieurs initiatives telles que
l'échange IPv6 6tap, freenet6.net, Hexago.
Auteur de plusieurs RFC sur IPv6 et sur l'internationalisation des
protocoles Internet.
●
Auteur du livre "Migrating to IPv6", publié chez Wiley.
●
Membre du groupe aviseur du registre .org.
●
Membre de l'Internet Architecture Board (IAB)
●
Fondateur du chapitre québécois de l'ISOC.
::2
Pourquoi IPv6?
●
●
Parce qu'il n'y a presque plus d'adresses IPv4
disponibles.
●
Asie-Pacifique, Europe: reste aucun
●
Amérique du Nord: reste un peu. aucun: ~2014
●
Afrique, Amérique Latine: reste un peu plus
Aussi:
●
●
●
un meilleur protocole
plus d'adresses (pas besoin de NAT, plus simple à
gérer, à déployer des services, à appliquer la sécurité
réseau, ...)
Mais: long déploiement, peu de bénéfices court terme,
::3
introduction d'une nouvelle technologie, bugs, ...
Marché IPv6
●
●
●
●
Contenu: majorité du contenu Internet disponible sous
IPv6: Google, Facebook, Yahoo, Akamai, ...
USA: ISP: Comcast(native), Verizon (native, LTE),
AT&T(6rd)
Canada: ISP: aucun en production. quelques
initiatives publiques (Vidéotron, Teksavvy,...).
Backbones sont presque tous ok, le problème est les
réseaux d'accès. Plusieurs non-officiels clients
affaires.
Statistiques de déploiement au Canada:
http://viagenie.ca/radarv6
::4
Statistiques IPv6 au Canada
●
http://viagenie.ca/radarv6
::5
Statistiques IPv6 au Canada
::6
Statistiques IPv6 au Canada
::7
Statistiques IPv6 au Canada
::8
Statistiques IPv6 au Canada
::9
Statistiques IPv6 au Canada
::10
Statistiques IPv6 au Canada
::11
Statistiques IPv6 au Canada
::12
Statistiques IPv6 au Canada
●
Quelques notes:
●
●
●
●
« explosion » au mois de juin 2012. Pourquoi?
–
World IPv6 Launch.
–
Gros fournisseurs de contenu accessibles IPv6
Concentration importante de l'Internet sur quelques
joueurs. Ils bougent, l'Internet bouge.
croissance constante.
faire attention de comparer les nombres absolus IPv4 et
IPv6. Par exemple, un fournisseur IPv6 aura
probablement besoin d'un seul préfixe IPv6 d'ARIN pour
les 20 prochaines années. Le même fournisseur a peutêtre 500 préfixes IPv4.
::13
Concepts
●
●
●
●
●
Comment un ordi est configuré en IPv6?
Comment deux ordis se communiquent sur un
même lien avec IPv6?
Comment un ordi choisit entre IPv4 et IPv6?
Configuration typique d'un réseau maison
connecté à l'Internet IPv6
Attaques sur un réseau IPv6
::14
Adresses IPv6
●
●
●
●
128 bits, écrites en hex avec ':' comme
séparateur, compressibles.
●
2001:0db8:0001:0001:1d30:0000:0000:0000
●
2001:db8:1:1:1d30::
« subnet mask » est fixe: /64.
●
partie réseau local: 64 bits : 2001:0db8:0001:0001:
●
partie hôte: 64 bits : 1d30:0000:0000:0000
Un préfixe réseau est écrit: 2001:db8:1:1::/64
Une interface sur un hôte a plusieurs adresses
::15
IP
Comment un ordi est
configuré en IPv6?
●
Nouveau concept en IPv6: Router
Advertisements (RA)
●
●
●
Routeur(s) sur le lien envoient des messages sur la
configuration du réseau de façon périodique.
Les hôtes doivent écouter (et traiter) ces messages
sur chacune des interfaces (et les routeurs sont des
hôtes aussi).
Les messages contiennent:
–
–
la politique de configuration des hôtes
l'information pour les hôtes pour s'autoconfigurer:
●
●
●
le préfixe du réseau local
le routeur par défaut
l'adresse IP des serveurs DNS
::16
Comment un ordi est
configuré en IPv6?
●
Typiquement (processus d'autoconfiguration):
1. hôte se connecte sur le lien.
2.
3. attend un RA. le reçoît, le traite.
4. se génère la partie hôte de l'adresse, utilise le préfixe
reçu, construit son adresse complète. Ensuite,
configure interface, route défaut, DNS resolver.
5. « up and running »
Quiz: quelle est l'étape 2?
Quiz2: Comment est générée la partie adresse?
::17
Comment un ordi est
configuré en IPv6?
●
Quiz1: quelle est l'étape 2?
●
●
la fréquence des RA est ~5 minutes. L'hôte ne veut
pas attendre 5 minutes avant de pouvoir se
configurer. Alors, il envoie une demande aux
routeurs pour avoir tout de suite le RA.
Quiz2: Comment est générée la partie adresse?
●
soit à partir de l'adresse MAC (en ajoutant ff:fe dans
le milieu et changeant une bit)
●
soit aléatoirement
●
soit ...
●
En plus, l'hôte peut aussi se définir des adresses
temporaires
::18
Comment un ordi est
configuré en IPv6?
●
Cependant:
●
en entreprise ou ailleurs, on désire:
–
–
–
●
assigner une adresse spécifique à un hôte (pour le
contrôle, pour l'accès restreint à des services, pour la
journalisation du trafic, ...)
avoir des adresses temporaires rajoute à ces
problématiques
envoyer d'autres informations de configuration aux hôtes:
ex: adresse du serveur NTP, etc...
Méthode: DHCPv6
::19
Comment un ordi est
configuré en IPv6?
●
DHCPv6:
●
●
●
●
son utilisation est « permise » si le RA le permet.
l'hôte, après avoir écouté le RA, fait une demande
DHCPv6. (à haut niveau, processus similaire à
DHCPv4, mais le détail est assez différent).
Cependant, DHCPv6 ne donne pas l'adresse IP du
routeur défaut. (différent de DHCPv4)
DHCPv6 a aussi un rôle pour la délégation de
préfixe IPv6 (voir plus loin).
::20
Comment deux ordis communiquent
sur un même lien avec IPv6?
●
●
IPv4 utilise ARP pour trouver l'adresse MAC
pour ensuite envoyer les paquets.
IPv6 utilise Neighbor Discovery (ND).
Beaucoup plus de fonctionnalités
supplémentaires, mais réplique ARP (en
mieux):
●
●
Demande: Neighbor sollicitation (NS): demande au
réseau l'adresse MAC pour une adresse IP
Réponse: Neighbor Advertisement (NA): voici mon
adresse MAC.
::21
Comment un ordi choisit
entre IPv4 et IPv6?
●
●
●
●
IPv4: gethostbyname() retourne un 'struct'
contenant adresse IPv4 pour la destination.
IPv6: getaddrinfo() retourne une liste de struct
contenant adresses IPv6 et IPv4 pour la
destination.
Le programmeur ne devrait pas s'occuper de
quelle famille d'adresse il reçoît, il doit itérer sur
chacune jusqu'à ce qu'un socket est ouvert.
L'OS, stack ou l'API en dessous 'décide' de
l'ordre de la liste.
::22
Comment un ordi choisit
entre IPv4 et IPv6?
●
ordre de la liste d'adresses retournée:
●
●
●
depuis le début d'IPv6, les spécifications demandaient de
retourner les adresses IPv6 en premier (pour mousser le
déploiement).
problème, tant que IPv6 n'est pas pleinement déployé, ça
amène des délais de connection, donc « l'Internet est lent »
pour l'usager. :(
Nouvelle méthode: Happy Eyeballs (HE)
●
●
●
basé sur des thread
demandes parallèles DNS et essais de connections. Premier
qui réussit gagne, les autres sont arrêtés.
IPv6 perd souvent car son infrastructure est moins forte que
::23
celle d'IPv4.
Configuration typique d'un
réseau maison connecté à
l'Internet IPv6
IPv4
Réseau
maison
Réseau d'accès:
DOCSIS, DSL,
Fibre,Wifi,
3G, 4G
IPv6
IPv4 +
IPv6
Internet
IPv4
IPv4 +
IPv6
Internet
IPv6
Fournisseur
de contenu
Ex: google
::24
Configuration typique d'un
réseau maison connecté à
l'Internet IPv6
●
Routeur: double pile (IPv4 et IPv6)
●
IPv4:
–
–
–
●
interface upstream: client DHCPv4/PPP
IPv4 NAT
interface downstream: serveur DHCPv4, adressage privé
(192.168.X.Y)
IPv6:
–
–
–
interface upstream: client RA, client DHCPv6 (et
DHCPv6-PD)
PAS DE NAT. juste du routage
interface downstream: « serveur » RA, adressage
publique venant du fournisseur.
::25
Configuration typique d'un
réseau maison connecté à
l'Internet IPv6
●
DHCPv6-PD:
●
●
●
●
Prefix Delegation
Le fournisseur Internet délègue un préfixe IPv6 (soit
un /60 (possibilités de 16 sous-réseaux dans la
maison) soit un /56 (256 sous-réseaux)
Le routeur maison demande un préfixe au serveur
DHCPv6 du fournisseur Internet.
reçoit le préfixe et utilise un des numéros de sousréseaux pour annoncer ce(s) préfixe(s) de sousréseau dans la maison.
::26
Configuration typique d'un
réseau maison connecté à
l'Internet IPv6
●
●
Alerte!!!: si pas de NAT, alors tout le monde
peut me voir!
mais:
●
●
trouver une adresse à distance (scanning
d'adresses par un hôte sur Internet) est impossible
par défaut: 2^64 adresses à scanner.
pratique recommandée aux manufacturiers de
routeurs de maison et des fournisseurs Internet:
implémenter une diode par défaut (i.e. ne permettre
que les connexions sortantes).
::27
Attaques sur un réseau
IPv6
●
●
●
IPv6 a éliminé beaucoup de vulnérabilités inhérentes à
IPv4, particulièrement les attaques à distance.
●
en utilisant intelligemment le hop limit (TTL)
●
plusieurs vérifications avant de répondre
●
beaucoup de timers
Mais, en ajoutant un mécanisme d'autoconfiguration, il
rajoute d'autres vecteurs d'attaques sur le réseau
local.
La plupart des attaques connues qui sont « utiles »
présupposent d'être connecté sur le même lien que la
cible, ce qui est aussi problématique avec IPv4.
::28
Sommaire
●
●
Objectif: principaux concepts pour l'atelier IPv6
du 2 mars.
IPv6:
●
●
●
ajoute une nouvelle façon de configurer les hôtes
utilise la délégation de préfixe pour les réseaux de
la maison
élimine des attaques connues en IPv4, mais amène
d'autres vecteurs d'attaques sur le lien direct.
::29
Questions?
Contact:
[email protected]
Présentation disponible à http://www.viagenie.ca/publications/
Références
●
Migrating to IPv6, Marc Blanchet, Wiley, 2006, ISBN 0-471-49892-0, http://www.ipv6book.ca
●
Groupe de travail IPv6 du CCCNT/ISACC: http://www.isacc.ca/isacc/french/groupes_de_travail/?ipv6
●
Google IPv6, http://www.google.com/intl/en/ipv6/
●
Comcast, http://www.comcast6.net/
●
IANA IPv4 address space:
http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml
Copyright Viagénie 2009
::30

Documents pareils