« Vlan privé - cisco » : différence entre les versions

De Wiki doc

(Page créée avec « Category:Cisco {{chantier}} 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'intérêt d'une telle solution 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 bas... »)
 
(Finalisation de la documentation entamée hier)
 
Ligne 1 : Ligne 1 :
[[Category:Cisco]]
[[Category:Cisco]]


{{chantier}}
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 [https://datatracker.ietf.org/doc/html/rfc5517 RFC 5517].


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'intérêt d'une telle solution 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 [https://datatracker.ietf.org/doc/html/rfc5517 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 [[Serveur de courriels|messagerie]] représentant un formidable [https://fr.wikipedia.org/wiki/WannaCry#Caract%C3%A9ristiques vecteur d'infection].
 
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 [[Serveur de courriels|messagerie]] représentant un formidable [https://fr.wikipedia.org/wiki/WannaCry#Caract%C3%A9ristiques vecteur d'infection].


=Architecture=
=Architecture=
Ligne 19 : Ligne 17 :
|}
|}


''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''. Il interconnectera le tout à une passerelle. Les client ne peuvent communiquer qu'avec cette dernière. Le schéma suivant retrace l'architecture de test :
''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|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;"/>


<img src="https://doc.ycharbi.fr/fichiers/réseaux/vlan_privé/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=
=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 :
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
* 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.
* 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.


Ligne 33 : Ligne 35 :
{{info|Il ne peut y avoir qu'un seul ''VLAN'' en mode isolé par ''VLAN'' primaire.}}
{{info|Il ne peut y avoir qu'un seul ''VLAN'' en mode isolé par ''VLAN'' primaire.}}


L{{'}}''ANSSI'' propose dans son tableau n°5 (chapitre 5.6 page 33 du guide de recommandation en [[#Sources|première source]]) une matrice des flux autorisés retranscrite ci-dessous :
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 [[#Sources|première source]]) une matrice des flux autorisés retranscrite ci-dessous et résumant ce qu'il est permis de faire:


{| class="wikitable"
{| class="wikitable"
Ligne 69 : Ligne 75 :


=Configuration=
=Configuration=
Tout d'abord est obligatoire de rendre le ''VTP'' inopérant sur vos équipements pour pouvoir utiliser cette fonction.
Tout d'abord il est obligatoire de rendre le ''VTP'' inopérant sur vos équipements pour pouvoir utiliser cette fonction
  vtp mode off
  vtp mode off


Ligne 77 : Ligne 83 :
* 12 : communauté 1
* 12 : communauté 1
* 13 : communauté 2
* 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==
==COM-DOC-1==
===Création des VLAN===
===Création des VLAN===
! VLAN secondaires
  vlan 11
  vlan 11
   name Production-cloison
   name Production-cloison
   private-vlan isolated
   private-vlan isolated
   
   
vlan 12
  name Communaute1
  private-vlan community
vlan 13
  name Communaute2
  private-vlan community
! VLAN primaire
  vlan 10
  vlan 10
   name Production
   name Production
   private-vlan primary
   private-vlan primary
   private-vlan association 11
   private-vlan association 11-13


===Interfaces de clients===
===Interfaces des clients===
Les 3 premières interfaces sont dédiées aux clients et ne leur permettrons pas de se contacter.
====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
  default interface range g0/1 - 3
  interface range g0/1 - 3
  interface range g0/1 - 3
   description --- Production ---
   description --- Production isolee ---
   switchport mode access
   switchport mode access
  switchport nonegotiate
   switchport private-vlan host-association 10 11
   switchport private-vlan host-association 10 11
   switchport mode private-vlan host
   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===
===Interface de passerelle===
Les clients des 3 premières interfaces pourrons joindre la machine connecté sur le quatrième port du commutateur et cette dernière pourra joindre chacun d'eux comme bon lui semble
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/3
  default interface g0/9
  interface g0/3
  interface g0/9
   description --- Vers passerelle LAN Production ---
   description --- Vers passerelle LAN production ---
   switchport mode access
   switchport mode access
   switchport nonegotiate
   switchport nonegotiate
   switchport private-vlan association mapping 10 11
   switchport private-vlan association mapping 10 11-13
   switchport private-vlan mapping 10 11
   switchport private-vlan mapping 10 11
   switchport mode private-vlan promiscuous
   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==
''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=
=Sources=

Dernière version du 2 avril 2022 à 17:39


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