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