Vlan privé - cisco

De Wiki doc

Révision datée du 2 avril 2022 à 17:39 par Ycharbi (discussion | contributions) (Finalisation de la documentation entamée hier)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)


Les VLAN privés ou Private VLAN (PVLAN) permettent de cloisonner l'intérieur d'un VLAN afin de restreindre ses clients à communiquer avec certains ports seulement (généralement celui de la passerelle). L'objectif initial d'une telle solution était d’économiser des adresses IP en disposant des machines distincts (des clients dans une même baie de centre de données par exemple) dans plusieurs domaines de diffusion tout en conservant une unique adresse de passerelle (on économise alors 3 IP par sous-réseaux en mutualisant l'adresse de réseau, de diffusion et de passerelle). Un corollaire non négligeable et qui nous intéresse dans une logique sécuritaire est d'empêcher la communication des clients d'un même réseau entre eux et donc de limiter considérablement les failles (propagation de virus notamment). Cette technologie se basant sur l'implémentation standard des VLAN sur IOS, le cloisonnement peut être étendu à plusieurs commutateurs au travers de troncs 802.1Q. Les spécifications des VLAN privés sont détaillées dans la RFC 5517.

Ce type d'architecture fait particulièrement sens pour des clients bureautiques n'hébergeant aucun services pour les autres machines mais ayant accès à Internet et bien souvent à une messagerie représentant un formidable vecteur d'infection.

Architecture

Cette documentation utilisera deux commutateurs Cisco supportant cette fonction :

NOM Modèle Version IOS
COM-DOC-1 WS-C2960CX-8PC-L c2960cx-universalk9-mz.152-7.E2.bin
COM-DOC-2 WS-C3750G-24TS c3750-ipbasek9-mz.122-55.SE12.bin

COM-DOC-1 supportera un client et sera interconnecté à COM-DOC-2 qui servira un autre client du même réseau via un tronc 802.1Q. Ces derniers seront placés dans un VLAN isolé ou des VLAN de communautés différentes et pourront être déplacés sur d'autres ports pour tester les notions abordées plus bas. Ils ne pourront alors communiquer qu'avec une passerelle placée en mode promiscuité sur COM-DOC-1 (notions techniques décrites en section Principe).

Le schéma suivant retrace les flux entre un routeur branché sur un port en mode promiscuité et deux machines clientes dans des VLAN de communauté différentes ou isolés :

<img src="https://doc.ycharbi.fr/fichiers/réseaux/vlan_privé/images/Schéma_doc_PVLAN.svg" alt="Schéma architecture VLAN privé" style="display: block;width:70%; height:auto; margin-left:auto; margin-right:auto;"/>

En mode isolé ou dans des VLAN de communauté différentes, la communication ne peut s’effectuer qu'entre le routeur et les machines. Ces dernières ne peuvent se joindre directement.

Principe

Le VLAN privé est en fait la combinaison de plusieurs VLAN en un seul. Ces VLAN communiques entre eux par les ports physiques des commutateurs en fonction du mode dans lequel ils sont configurés. Un VLAN primaire contient plusieurs VLAN secondaires qui peuvent fonctionner selon deux modes :

  • communauté (community) : les ports placés dans ce type de VLAN peuvent communiquer entre eux comme s’ils se trouvaient dans un même VLAN « classique » mais ne peuvent pas communiquer avec les ports affectés à d’autres VLAN secondaires
  • isolé (isolated) : les ports placées dans ce type de VLAN ne peuvent pas communiquer entre eux, mais uniquement avec les ports en mode promiscuité (promiscuous), généralement la passerelle par défaut.

Le VLAN primaire ne fonctionne qu'en mode promiscuité et a un accès non restreint à l'ensemble des VLAN secondaires (pour lui, tout fait partie du même réseau). Un port physique est donc attribué à un VLAN primaire lorsque celui est en mode promiscuité.

INFORMATION

Il ne peut y avoir qu'un seul VLAN en mode isolé par VLAN primaire.

Le schéma logique suivant symbolise la porté des communications au sein d'un VLAN primaire comportant plusieurs VLAN secondaires :

<img src="https://doc.ycharbi.fr/fichiers/réseaux/vlan_privé/images/Schéma_logique_PVLAN.svg" alt="Schéma architecture VLAN privé" style="display: block;width:70%; height:auto; margin-left:auto; margin-right:auto;"/>

L'ANSSI propose dans son tableau n°5 (chapitre 5.6 page 33 du guide de recommandation en première source) une matrice des flux autorisés retranscrite ci-dessous et résumant ce qu'il est permis de faire:

Mode isolated promiscuous community 1 community 2
isolated
promiscuous
community 1
community 2

Configuration

Tout d'abord il est obligatoire de rendre le VTP inopérant sur vos équipements pour pouvoir utiliser cette fonction

vtp mode off

Nous utiliserons 4 VLAN pour la démonstration :

  • 10 : primaire
  • 11 : isolé
  • 12 : communauté 1
  • 13 : communauté 2

Enfin, vous pouvez voir l’association de vos VLAN privés avec les ports physiques via la commande

show vlan private-vlan

COM-DOC-1

Création des VLAN

! VLAN secondaires
vlan 11
 name Production-cloison
 private-vlan isolated

vlan 12
 name Communaute1
 private-vlan community

vlan 13
 name Communaute2
 private-vlan community
! VLAN primaire
vlan 10
 name Production
 private-vlan primary
 private-vlan association 11-13

Interfaces des clients

Mode isolé

Les 3 premières interfaces sont dédiées aux clients en mode isolé et ne leur permettront pas de se contacter entre eux. Seule la passerelle via le port en mode promiscuité sera joignable

default interface range g0/1 - 3
interface range g0/1 - 3
 description --- Production isolee ---
 switchport mode access
 switchport nonegotiate
 switchport private-vlan host-association 10 11
 switchport mode private-vlan host
 spanning-tree portfast

Mode communauté

Les interfaces dans la communauté 1 permettront aux machines de se contacter entres elles ainsi qu'avec le port de promiscuité. Les communications inter-machines sont toutefois limités à leur propre communauté

default interface range g0/4 - 6
interface range g0/4 - 6
 description --- Production communaute 1 ---
 switchport mode access
 switchport nonegotiate
 switchport private-vlan host-association 10 12
 switchport mode private-vlan host
 spanning-tree portfast

Une deuxième communauté permet de faire communiquer d'autres machines entre elles en vase clos et avec le port en mode promiscuité

default interface range g0/7 - 8
interface range g0/7 - 8
 description --- Production communaute 2 ---
 switchport mode access
 switchport nonegotiate
 switchport private-vlan host-association 10 13
 switchport mode private-vlan host
 spanning-tree portfast

Interface de passerelle

Mise en mode promiscuité, le neuvième port du commutateur permettra aux clients des 3 premières interfaces de joindre la machine officiant comme passerelle pour le réseau

default interface g0/9
interface g0/9
 description --- Vers passerelle LAN production ---
 switchport mode access
 switchport nonegotiate
 switchport private-vlan association mapping 10 11-13
 switchport private-vlan mapping 10 11
 switchport mode private-vlan promiscuous

Lien d'interconnexion à COM-DOC-2

Le lien d’interconnexion n'a rien de spécifique à l'usage des VLAN privés. Il faut simplement prendre soin de permettre le transite de tous les VLAN concernés par votre configuration

default interface GigabitEthernet0/10
interface GigabitEthernet0/10
 description --- Vers COM-DOC-2 ---
 switchport trunk allowed vlan 10-13
 switchport mode trunk
 switchport nonegotiate

COM-DOC-2

COM-DOC-2 n'aura aucun port en mode promiscuité et fera profiter ses clients de celui de COM-DOC-1 via son interconnexion 802.1Q.

Voici le pavé complet pour ne pas avoir à paraphrasé les explications données supra :

vlan 11
 name Production-cloison
 private-vlan isolated

vlan 12
 name Communaute1
 private-vlan community

vlan 13
 name Communaute2
 private-vlan community

vlan 10
 name Production
 private-vlan primary
 private-vlan association 11-13

default interface range GigabitEthernet1/0/1 - 2
interface range GigabitEthernet1/0/1 - 2
 description --- Production isolee ---
 switchport private-vlan host-association 10 11
 switchport mode private-vlan host
 switchport nonegotiate
 spanning-tree portfast

default interface range GigabitEthernet1/0/3 - 4
interface range GigabitEthernet1/0/3 - 4
 description --- Production communaute 1 ---
 switchport private-vlan host-association 10 12
 switchport mode private-vlan host
 switchport nonegotiate
 spanning-tree portfast

default interface range GigabitEthernet1/0/5 - 6
interface range GigabitEthernet1/0/5 - 6
 description --- Production communaute 2 ---
 switchport private-vlan host-association 10 13
 switchport mode private-vlan host
 switchport nonegotiate
 spanning-tree portfast

default interface GigabitEthernet1/0/24
interface GigabitEthernet1/0/24
 description --- Vers COM-DOC-1 ---
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 10-13
 switchport mode trunk

Tests

À ce stade, vous pouvez brancher vos équipements clients aux différents ports configurés afin de tester le comportement de chacun des cas présentés. Il vous appartient de choisir les agencements pouvant convenir à un cas d'usage concret.

Sources