Si une machine virtuelle envoie des trames BPDU (Bridge Protocol Data Unit), par exemple, un client VPN, certaines machines connectées au même groupe de ports peuvent perdre la connectivité. La transmission de trames BPDU peut aussi provoquer une perte de connexion de l'hôte ou du cluster vSphere HA parent.

Problème

Une machine virtuelle qui est censée envoyer des trames BPDU entraîne le blocage du trafic vers le réseau externe des machines virtuelles du même groupe de ports.

Si cette machine virtuelle s'exécute sur un hôte qui fait partie d'un cluster vSphere HA et que cet hôte devient, dans certaines conditions, isolé du réseau, vous observez un déni de service (DoS) sur les hôtes du cluster.

Il est recommandé d'activer les fonctions PortFast et BPDU Guard sur un port de commutateur physique connecté à un hôte ESXi afin d'appliquer la limite du protocole STP (Spanning Tree Protocol). Un commutateur standard ou distribué ne prend pas en charge le protocole STP et n'envoie aucune trame BPDU au port de commutateur. Cependant, si une trame BPDU issue d'une machine virtuelle compromise atteint un port de commutateur physique accessible par un hôte ESXi, la fonction BPDU Guard désactive le port afin d'empêcher les trames d'affecter la topologie STP du réseau.

Dans certains cas, on attend d'une machine virtuelle qu'elle envoie des trames BPDU ; par exemple, lorsqu'elle déploie un client VPN connecté via un périphérique pont Windows ou une fonction de pont. Si la fonction BPDU Guard du port de commutateur physique couplé avec l'adaptateur physique qui gère le trafic à partir de cette machine virtuelle est activée, l'état du port est « error-disabled » et les machines virtuelles et adaptateurs VMkernel qui utilisent l'adaptateur physique de l'hôte ne peuvent plus communiquer avec le réseau externe.

Si la stratégie d'association et de basculement du groupe de ports contient d'autres liaisons montantes actives, le trafic BPDU est déplacé vers l'adaptateur de la liaison montante active suivante. Le nouveau port de commutateur physique est alors désactivé et la charge de travail supplémentaire ne parvient plus à échanger des paquets avec le réseau. En fin de compte, il est possible que presque toutes les entités de l'hôte ESXi deviennent inaccessibles.

Si cette machine virtuelle s'exécute sur un hôte qui fait partie d'un cluster vSphere HA et que cet hôte est isolé du réseau en raison de la désactivation de la plupart des ports de commutateur physique qui y sont connectés, l'hôte maître actif du cluster déplace la machine virtuelle dont est issu le trafic BPDU vers un autre hôte. La machine virtuelle commence alors à désactiver les ports de commutateur physique connectés au nouvel hôte. La migration à travers le cluster vSphere HA entraîne finalement un cumul de dénis de service (DoS) dans tout le cluster.

Procédure

  • Si le logiciel VPN doit continuer son travail sur la machine virtuelle, autorisez le trafic sortant de la machine virtuelle et configurez individuellement le port de commutateur physique afin de l'autoriser à transmettre les trames BPDU.

    Périphérique réseau

    Configuration

    Commutateur standard ou distribué

    Choisissez l'option Accepter pour la propriété de sécurité Transmission forgée du groupe de ports afin de permettre aux trames BPDU de quitter l'hôte et d'atteindre le port de commutateur physique.

    Vous pouvez isoler les paramètres et l'adaptateur physique du trafic VPN en plaçant la machine virtuelle dans un groupe de ports séparé et en attribuant l'adaptateur physique au groupe.

    ATTENTION :

    La définition de la propriété de sécurité Transmission forgée sur Accepter pour permettre à un hôte d'envoyer des trames BPDU comporte un risque de sécurité, car une machine virtuelle compromise peut effectuer des attaques d'usurpation.

    Commutateur physique

    • Ne désactivez pas la fonction PortFast.

    • Activez le filtre BPDU sur le port individuel. Lorsqu'une trame BPDU atteint le port, elle est éliminée par le filtre.

    Remarque :

    N'activez pas le filtre BPDU de manière globale. Si ce filtre est activé de manière globale, le mode PortFast se désactive et tous les ports de commutateur physique appliquent les fonctions STP au complet.

  • Pour déployer un périphérique pont entre deux cartes réseau de machine virtuelle connectées au même réseau de couche 2, autorisez le trafic BPDU sortant des machines virtuelles et désactivez les fonctions de prévention des boucles PortFast et BPDU.

    Périphérique réseau

    Configuration

    Commutateur standard ou distribué

    Choisissez l'option Accepter pour la propriété Transmission forgée de la stratégie de sécurité des groupes de ports afin de permettre aux trames BPDU de quitter l'hôte et d'atteindre le port de commutateur physique.

    Vous pouvez isoler les paramètres, ainsi qu'un ou plusieurs adaptateurs physiques du trafic de pont, en plaçant la machine virtuelle dans un groupe de ports séparé et en attribuant les adaptateurs physiques au groupe.

    ATTENTION :

    La définition de la propriété de sécurité Transmission forgée sur Accepter pour permettre un déploiement de pont comporte un risque de sécurité, car une machine virtuelle compromise peut effectuer des attaques d'usurpation.

    Commutateur physique

    • Désactivez la fonction PortFast des ports du périphérique pont virtuel afin de pouvoir exécuter le protocole STP sur ces ports.

    • Désactivez le filtre BPDU et la fonction BPDU Guard sur les ports accessibles au périphérique pont.

  • Protégez l'environnement de toute attaque de déni de service (DoS) en activant le filtre BPDU sur l'hôteESXi ou sur le commutateur physique.
    • Sur un hôte exécutant ESXi 4.1 Update 3, ESXi 5.0 Patch 04 (et ultérieurs) et les versions ultérieures à 5.0 ou ESXi 5.1 Patch 01 (et ultérieurs), activez le filtre Invité BPDU de l'une des manières suivantes, puis redémarrez l'hôte :

      • Dans le tableau Paramètres système avancés situé sous l'onglet Gérer de vSphere Web Client, définissez la valeur de la propriété Net.BlockGuestBPDU sur 1 pour l'hôte.

      • Dans un service ESXi Shell de l'hôte, entrez la commande vCLI suivante :

        esxcli system settings advanced set -o /Net/BlockGuestBPDU -i 1
    • Sur un hôte auquel le filtre Invité BPDU n'est pas appliqué, activez le filtre BPDU sur le port de commutateur physique du périphérique pont virtuel.

      Périphérique réseau

      Configuration

      Commutateur standard ou distribué

      Choisissez l'option Rejeter pour la propriété Transmission forgée de la stratégie de sécurité du groupe de ports.

      Commutateur physique

      • Conservez la configuration PortFast.

      • Activez le filtre BPDU sur le port de commutateur physique. Lorsqu'une trame BPDU atteint le port physique, elle est éliminée par le filtre.

      Remarque :

      N'activez pas le filtre BPDU de manière globale. Si ce filtre est activé de manière globale, le mode PortFast se désactive et tous les ports de commutateur physique appliquent les fonctions STP au complet.