Protéger VMware ESXi

Écrits · 31 août 2021

Protéger VMware ESXi

Améliore la sécurité avec un pare-feu et un serveur proxy

Suite à un incident sur un serveur, j'ai détecté une possible faille de sécurité. La machine concernée faisait tourner VMware ESXi, un hyperviseur bare metal utilisé pour exécuter des serveurs privés virtuels. En mode autonome, une console de gestion web offre un contrôle total sur l'infrastructure, ce qui présente un risque.

Les gros serveurs puissants offrent une énorme capacité de calcul, souvent bien plus que ce dont une seule application a besoin. Grâce à la virtualisation, les opérateurs cloud optimisent l'usage du matériel en chargeant dynamiquement plusieurs machines virtuelles sur une seule machine physique.

VMware ESXi est un hyperviseur bare metal qui divise un serveur physique en plusieurs serveurs virtuels
VMware ESXi est un hyperviseur bare metal qui divise un serveur physique en plusieurs serveurs virtuels

Les machines physiques sous VMware ESXi sont gérées soit via un réseau vSphere centralisé, soit en machine autonome. Les administrateurs créent, gèrent et configurent les machines virtuelles via une puissante interface web. Sans réseau vSphere centralisé, les administrateurs ont besoin de cette interface web, mais l'exposer sur l'internet public attire une attention indésirable de la part des pirates.

L'interface web de VMware ESXi : elle t'invite, toi et d'autres, à gérer cette machine physique
L'interface web de VMware ESXi : elle t'invite, toi et d'autres, à gérer cette machine physique

Les personnes malveillantes cherchent activement des consoles de gestion exposées, dans l'espoir d'en trouver une avec un mot de passe faible ou des failles de sécurité connues. Réveille l'explorateur curieux qui sommeille en toi et utilise simplement Google pour trouver tout un tas de machines exposées avec une requête spéciale. Lis mon article sur les requêtes spéciales dans Google si tu dois rafraîchir tes compétences de recherche.

Trouver des interfaces web VMware ESXi exposées ne demande rien d'autre que quelques compétences sur Google
Trouver des interfaces web VMware ESXi exposées ne demande rien d'autre que quelques compétences sur Google

Si tu laisses la console de gestion exposée, n'importe qui peut essayer de se connecter. Les pirates et leurs robots automatisés le feront à coup sûr ! L'accès à distance pour les comptes utilisateurs locaux d'ESXi est verrouillé temporairement après plusieurs échecs de connexion, pour tout le monde ! Ça peut être frustrant quand toi, administrateur légitime, tu as besoin d'accéder à la console.

En suivant mes propres conseils simples de cybersécurité, on peut améliorer la sécurité de VMware ESXi en cachant complètement la console de gestion. Tu pourrais être tenté d'utiliser un simple pare-feu « qui bloque tout », mais pense à l'utilité de la console d'administration : elle donne un accès vital aux machines virtuelles en cours d'exécution. Tu veux vraiment que tes administrateurs puissent accéder à l'interface 24 h sur 24 et 7 jours sur 7, de n'importe où, en cas d'urgence.

Au lieu de fermer ou de cacher complètement l'interface de gestion, j'ai donc cherché un moyen d'autoriser l'accès de façon sélective tout en gardant un profil discret en ligne. Comme je veux que les administrateurs légitimes puissent accéder à l'interface depuis n'importe où dans le monde, je ne pouvais pas utiliser un simple filtre d'adresses IP. Avec une machine Debian GNU/Linux et nginx comme serveur proxy, je peux pré-authentifier le trafic vers la console de gestion.

Pré-authentifie le trafic vers la console d'administration via un petit serveur Debian GNU/Linux tout simple avec un proxy nginx
Pré-authentifie le trafic vers la console d'administration via un petit serveur Debian GNU/Linux tout simple avec un proxy nginx

Dans cette configuration, la machine Debian tourne sur un réseau séparé, sur un matériel différent, avec une adresse IP fixe. Le serveur VMware n'accepte que le trafic de ce serveur proxy, grâce à son pare-feu. Le serveur proxy filtre le trafic avec une authentification HTTP sur SSL/TLS. N'importe qui peut se connecter au serveur proxy, mais seuls ceux qui ont des identifiants valides atteignent la console d'administration VMware. Pour quiconque le scanne, le serveur proxy ressemble à un tout petit serveur web standard : une signature en ligne très discrète.

Ajoute un autre serveur proxy, sur un autre réseau et un autre matériel, pour éviter un point de défaillance unique. Nginx peut rediriger le trafic authentifié vers différentes consoles d'administration selon le nom d'hôte, ce qui te permet de réutiliser un seul proxy pour sécuriser plusieurs machines VMware. Les serveurs proxy peuvent être configurés avec l'authentification HTTP Basic à l'aide d'outils standard et simples, consulte la documentation nginx pour des conseils à ce sujet.

Deux serveurs proxy qui donnent un accès sécurisé à plusieurs hôtes VMware
Deux serveurs proxy qui donnent un accès sécurisé à plusieurs hôtes VMware
Configuration nginx pour authentifier et rediriger le trafic vers une console d'administration VMware
Configuration nginx pour authentifier et rediriger le trafic vers une console d'administration VMware

Conclusion

En utilisant nginx comme proxy devant la console d'administration, tu ajoutes une couche d'authentification et tu crées une signature discrète pour quiconque scanne ton réseau. Ça améliore la sécurité de tes machines VMware en les rendant plus difficiles à trouver et à atteindre. Les administrateurs légitimes accèdent toujours à la console d'administration depuis n'importe quel ordinateur, sans VPN ni adresse IP pré-authentifiée. Les personnes malveillantes, les pirates et les robots auront du mal à te trouver. Tu te caches à la vue de tous !

← Plus d'écrits