I - Architecture traditionnelle Core, Aggregation, Access

4. Qu'est-ce que les VLAN et les Private VLAN ?

Commençons par un rappel de base sur les VLAN (Virtuelle Local Area Network), le premier concept d’utilisation de VLAN est introduit par le protocole ISL (Inter-Switch-Link) de chez CISCO en 1994. C’est seulement en 1998 que l’IEEE proposera un standard 802.1Q qui sera largement adopté en raison de sa compatibilité inter-constructeur. Les principes de ISL et 802.1Q sont semblables, cependant de légères différences de fonctionnement existent.


Le rôle des VLAN est indispensable afin de segmenter les réseaux et ainsi limiter les zones de diffusion, en vue de réduire la congestion sur la topologie. De plus, cette segmentation permet de sécuriser les réseaux en limitant leur zone d’action. A noter que les VLAN sont cloisonnés entre eux (sauf utilisation d’un routeur ou switch de niveau 3), à l’inverse les hôtes au sein d’un même VLAN peuvent tous communiquer entre eux.


Pour ce faire, ISL ajoute une couche d’encapsulation à l’inverse de 802.1Q qui ajoute seulement une étiquette entre le champ MAC sources et EtherType . Le fonctionnement de 802.1Q est donc bien moins gourmand en bande passante et en ressources qu'ISL.


L’étiquette TAG de 802.1Q est composée de la manière suivante :

composition étiquette
  • EtherType : Indique sur 16 bits qu’il s'agit d’une trame 802.1Q.
  • PRI : Indique sur 3 bits le niveau de QoS compris entre 0 et 7.
  • CFI : Indique sur 1 bit s’il s'agit d’un paquet pour un réseau Ethernet ou Token Ring .
  • VLAN ID : Indique sur 12 bits le numéro d’identifiant du VLAN auquel appartient la trame.

  • Dans le cadre de l’utilisation de VLAN, un switch dispose de deux modes de fonctionnalité d’interface :

  • Port Access : Assigne l’interface à un seul VLAN à l’aide du PVID, ce mode de configuration est réservé aux clients finaux.
  • Port Trunk : Permet le transit de plusieurs VLAN, ce mode de configuration est réservé pour l’interconnexion du switch avec un autre switch ou un routeur.

  • Le Port VLAN Identifier ou PVID, est défini sur les ports en mode Access pour transmettre les trames non taguées dans un VLAN spécifique. Par exemple, l’ordinateur connecté sur le port d’un switch qui a son PVID égal à 10, verra ses trames taguées sur le VLAN 10 de manière transparente pour lui.


    Un autre concept des VLAN à maîtriser est le VLAN natif, ce dernier se configure sur un lien Trunk. Il a pour but d’attribuer les trames non taguées à un VLAN pour la communication sur le lien Trunk. Le natif VLAN doit être identique sur les deux ports de la liaison Trunk pour garantir une communication.


    Les VLAN disposent d’une fonctionnalité avancée, les Private VLAN (PVLAN), qui permet de cloisonner les VLAN en sous-ensembles afin d’empêcher les hôtes d’un même VLAN de communiquer entre eux. Les PVLAN sont particulièrement appréciés dans les environnements nécessitant une confidentialité et une sécurité strictes, mais également dans les infrastructures mutualisées.


    A l’inverse des VLAN, les PVLAN ne disposent pas de deux modes de fonctionnalités des interfaces, mais de trois :

  • Promiscuous Port : Peut recevoir et transmettre des paquets avec tous les ports du VLAN. Ce mode est généralement réservé pour l’interconnexion avec un routeur ou un switch de niveau 3.
  • Isolated Port : Peut échanger des paquets uniquement avec le ou les Promiscuous Port , il est totalement isolé des autres ports, qu’ils soient au sein du même PVLAN ou non.
  • Community Port :Peut communiquer avec les autres ports faisant partie de la même communauté de PVLAN, mais aussi avec le ou les Promiscuous Port . Cela permet de définir des communautés de ports isolées entre elles ainsi que des Isolated Port .

  • Le VLAN divisé en sous-ensembles se nomme le Primary VLAN , il permet le transfert entre les interfaces en mode Promiscuous Port et les sous-ensembles Secondary VLAN . A noter qu’il existe deux types de Secondary VLAN :

  • Isolated VLAN : Permet aux interfaces Isolated Port de communiquer avec le ou les Promiscuous Port .
  • Community VLAN : Permet aux interfaces Community Port de communiquer entre elles au sein de la même communauté et de communiquer avec le ou les Promiscuous Port .
  • Architecture PVLAN

    Les switch CISCO sont dotés de protocoles propriétaires complémentaires pour la configuration VLAN comme Dynamic Trunk Protocol DTP et VLAN Trunking Protocol VTP .


    Le protocole DTP permet de négocier de manière automatique les liaisons Trunk entre deux switch CISCO, via l’échange de messages de négociation. Quant au protocole VTP, il permet à un switch dit serveur de propager les VLAN sur les switch dits client .


    Bien que les VLAN soient une manière de sécuriser une topologie réseau, ils doivent eux-mêmes être sécurisés, cela passe aussi bien par une bonne configuration que par un contrôle d’accès.


    L’utilisation de DTP, bien qu’utile dans certains cas en vue de simplifier les configurations, peut être une faille de sécurité. En effet, si DTP est activé sur un port, un utilisateur malintentionné connecté sur ce port pourrait envoyer de faux paquets DTP et ainsi faire passer ce port du switch en mode Trunk. Une fois le port en mode Trunk, il n’y a plus qu'à créer des sous-interfaces virtuelles taguées sur les VLAN auxquels on souhaite accéder. L’utilisateur pourra maintenant accéder à tous les VLAN qu’il souhaite sans restriction. Cette attaque peut être contrée en restreignant l’utilisation de DTP à un nombre limité de ports ou encore mieux, en désactivant totalement DTP.


    VTP fonctionne sur le principe du client serveur, c’est-à-dire qu’un switch qui porte le rôle du serveur peut créer des VLAN sur les switch clients, bien que cela permette de centraliser la configuration, cela représente une faille de sécurité. En effet, si le protocole VTP reste actif sur des switch clients, un attaquant pourrait simuler l’envoi de paquets VTP pour écraser la configuration des VLAN actuelle et déclarer d’autres VLAN. Le réseau se trouverait donc totalement paralysé.


    L’une des bonnes pratiques de configuration est également la modification du VLAN natif sur les interfaces. En effet, par défaut le VLAN natif est le VLAN 1, le premier réflexe d’un attaquant sera donc d’envoyer du trafic tagué sur le VLAN 1 ; or, si le VLAN natif a été personnalisé, cela compliquera la tâche de l’attaquant.


    La sécurisation des VLAN passe par un contrôle d’accès rigoureux des clients sur le réseau via l’utilisation du 802.1x et des Ports Sécurity.


    Le protocole 802.1x permet l’authentification des postes clients via un certificat, en vue d’identifier à quel VLAN ils seront assignés. Pour ce faire, une fois connecté au réseau, le poste client envoie ses informations d’authentification au switch qui les relaie au serveur d’authentification (Ex : RADIUS). Tant que le serveur n’a pas validé les informations d’authentification, le port du switch est maintenu en état non authentifié , aucun trafic réseau n’est autorisé. Une fois que le client est authentifié par le serveur, le switch peut appliquer la politique réseau dédiée à ce client : l’assignation du VLAN et de la QoS. A noter que l’authentification peut se faire de deux manières :


  • Port-Based : Dans ce cas, l’authentification est faite pour le port physique du switch peu importe le nombre de clients reliés à ce port. Si un hub ou un petit switch est connecté au switch principal, le premier client authentifié fait profiter de son authentification à tous les autres clients reliés sur ce port.
  • Client-Based : Dans ce cas, l’authentification est faite pour chacun des clients de manière individuelle sans se soucier du port.
  • Architecture PVLAN

    L’authentification Client-Based sera préférée, car elle permet une gestion des accès réseaux plus fine évitant ainsi qu’un client illégitime ne bénéficie de l’authentification d’un client légitime.

    La mise en place du 802.1x c’est un véritable atout en complément des VLAN pour segmenter et sécuriser les réseaux.


    Le Port Sécurity est une fonctionnalité de sécurité qui permet au switch de filtrer et de restreindre les accès aux réseaux en fonction de l’adresse MAC des postes clients. L’apprentissage de la MAC des postes clients peut se faire des trois manières suivantes :

  • Statique : Les MAC sont configurées de manière manuelle sur les interfaces.
  • Dynamique : Les MAC sont apprises à la connexion du poste client sur le switch, le nombre de MAC pouvant être apprises est paramétré par l’administrateur. A noter que les MAC ne sont pas enregistrées dans la configuration et seront oubliées au redémarrage du matériel.
  • Sticky : Les MAC sont également apprises à la connexion du poste client sur le switch. Cependant, les MAC sont enregistrées de manière permanente dans la configuration du switch.

  • Dans le cas d’une violation de la politique de sécurité, l’une des trois réactions ci-dessous sera mise en œuvre en fonction de la configuration du switch.

  • Protect : Le port reste actif, mais le trafic est bloqué pour la MAC illégitime sans journalisation.
  • Restrict : Le port reste actif, mais le trafic est bloqué pour la MAC illégitime avec une journalisation (SYSLOG, SNMP).
  • Shutdown : Le port est désactivé avec une journalisation. A noter qu’une intervention humaine ou un redémarrage du switch sera nécessaire pour réactiver le port.

  • La gestion des accès via le Port Sécurity est le minimum qui puisse être implémenté dans une topologie réseau. Cependant, l’utilisation du 802.1x lui sera préférée pour les grandes topologies nécessitant une gestion centralisée. De plus, il est aujourd’hui possible d’usurper une MAC : le Port Sécurity, bien qu’une première couche de sécurité, n’est pas inviolable.


    Maintenant que vous maîtrisez le concept de VLAN et PVLAN, voyons comment l’intégrer dans notre infrastructure à 3 niveaux. L’utilisation des VLAN est majoritairement mise en place sur les couches Access et Aggregation . En effet, la couche Access dispose de plusieurs VLAN avec des ports en mode Access pour connecter les clients finaux dans leurs VLAN respectifs et des ports en mode Trunk pour l’interconnexion avec la couche Aggregation . La couche Aggregation ne dispose que d’interfaces en mode Trunk connectées à la couche Access qui sont utilisées pour le routage entre les différents VLAN. La couche Core , n’interagissant qu’au niveau 3, ne nécessite pas l’implémentation de VLAN.

    Dans le cadre de notre infrastructure nous mettrons en place des VLAN sur nos couches Access et Aggregation .