Certains paramètres VMware Tools peuvent présenter des risques de sécurité. Par exemple, VMware Tools permet de connecter des périphériques virtuels, tels que des ports série et parallèles à des machines virtuelles. Un périphérique connecté peut être le canal potentiel d'une attaque. Pour renforcer une machine virtuelle et réduire au maximum les risques de sécurité, désactivez les fonctions VMware Tools qui peuvent présenter des failles de sécurité.

Pour des informations complètes sur le déploiement sécurisé de VMware vSphere dans un environnement de production, notamment sur les recommandations de sécurité pour les hôtes, les machines virtuelles, les composants de gestion et une infrastructure réseau, voir le document vSphere Hardening Guide. Les paramètres VMware Tools s'appliquent uniquement à l'aspect machine virtuelle d'un déploiement.

Les machines virtuelles sont encapsulées dans un petit nombre de fichiers. L'un des fichiers importants est le fichier de configuration (fichier .vmx). Ce fichier gère les performances du matériel virtuel et d'autres paramètres. Vous pouvez utiliser plusieurs méthodes pour afficher et modifier les paramètres de configuration :

  • Ouvrez le fichier .vmx directement dans un éditeur de texte.

  • Utilisez vSphere Web Client pour modifier les paramètres de la machine virtuelle. Dans vSphere Web Client, la modification de ces paramètres de configuration est une option avancée de la boîte de dialogue Modifier les paramètres de la machine virtuelle.

  • Utilisez vSphere Client pour modifier les paramètres de la machine virtuelle. Dans vSphere Client, la modification de ces paramètres de configuration est une option avancée de la boîte de dialogue Modifier les paramètres de la machine virtuelle.

  • Utilisez un outil API vSphere, tel que l'interface CLI Power pour afficher et modifier les paramètres .vmx.

Après avoir modifié un paramètre, la modification n'est appliqué qu'après avoir redémarré la machine virtuelle.

Consultez la liste suivant des menaces de sécurité potentielles et les paramètres VMware Tools à définir dans le fichier .vmx de la machine virtuelle. La valeur par défaut de la plupart des paramètres est déjà définie pour protéger les machines virtuelles contre ces menaces.

Menaces associées aux comptes utilisateur sans privilèges

Fonction de réduction de disque

La réduction d'un disque virtuel récupère l'espace disque inutilisé. Les utilisateurs et les processus sans privilèges racine ou administrateur peuvent appeler cette procédure. Comme la réduction de disque dure très longtemps, l'appel de manière répétée de la procédure de réduction de disque peut générer un déni de service. Le disque virtuel est indisponible lors de l'exécution du processus de réduction. Utilisez les paramètres .vmx suivants pour désactiver la réduction de disque :

isolation.tools.diskWiper.disable = "TRUE"
isolation.tools.diskShrink.disable = "TRUE"

Fonction de copie et de collage

Par défaut, la copie et le collage de texte, de graphiques et de fichiers sont désactivés, ainsi que la fonction glisser-déplacer pour les fichiers. Lorsque cette fonction est activée, vous pouvez copier et collecter du texte enrichi et, selon le produit VMware, les graphiques et les fichiers du presse-papiers vers le système d'exploitation client dans une machine virtuelle. À savoir, dès que la fenêtre de console d'une machine virtuelle est activée, les utilisateurs et les processus sans privilèges exécutés dans la machine virtuelle peuvent accéder au presse-papiers de l'ordinateur ou s'exécute la fenêtre de console. Pour éviter les risques associés à cette fonction, conservez les paramètres .vmx suivants qui désactivent la copie et le collage :

isolation.tools.copy.disable = "TRUE"
isolation.tools.paste.disable = "TRUE"

Menaces associées aux périphériques virtuels

Connexion et modification des périphériques

Par défaut, la connexion et la déconnexion de périphériques sont désactivées. Lorsque cette fonction est activée, les utilisateurs et les processus sans privilèges racine peuvent connecter des périphériques, tels que des adaptateurs réseau et des lecteurs de CD-ROM, et modifier les paramètres des périphériques. Ainsi, un utilisateur peut connecter un lecteur de CD-ROM déconnecté et accéder aux informations sensibles sur le disque laissé dans le lecteur. Il peut également déconnecter une carte réseau pour isoler la machine virtuelle de son réseau, ce qui constitue un déni de service. Pour éviter les risques de sécurité associés à cette fonction, conservez les paramètres .vmx suivants qui empêchent de connecter et de déconnecter des périphériques ou de modifier leurs paramètres :

isolation.device.connectable.disable = "TRUE"
isolation.device.edit.disable = "TRUE"

Virtual Machine Communication Interface (VMCI) pour ESXi 5.0 et versions antérieures

Cette configuration s'applique à ESXi 5.0 et aux machines virtuelles précédentes. Il ne s'applique pas aux ESXi 5.1 et aux machines virtuelles plus récentes.

Si l'interface VMCI n'est pas limitée, une machine virtuelle peut détecter les autres machines virtuelles et être détectée par celles-ci avec la même option activée dans le même hôte. Le logiciel intégré personnalisé qui utilise cette interface peut contenir des failles de sécurité inattendues qui peuvent être exploitées. En outre, une machine virtuelle peut détecter le nombre machines virtuelles qui se trouvent dans un même système ESX/ESXi en enregistrant la machine virtuelle. Cette information pourrait être utilisée à des fins malveillantes. La machine virtuelle peut être exposée aux autres dans le système dès lors qu'au moins un programme est connecté à l'interface de socket VMCI. Utilisez le paramètre .vmx pour limiter l'interface VMCI :

vmci0.unrestricted = "FALSE"

Menaces associées au flux d'informations de machine virtuelle

Configuration du nombre de journaux d'une machine virtuelle

Selon vos paramètres de journal, de nouveaux fichiers journaux peuvent être créés chaque fois que la taille de l'ancien fichier devient supérieure à 100 Ko. La journalisation non contrôlée peut générer un déni de service si une banque de données manque d'espace disque. VMware recommande d'enregistrer 10 fichiers journaux. Par défaut, la taille maximale des fichiers journaux est de 100 Ko, et vous ne pouvez pas modifier cette valeur au niveau d'une machine virtuelle. Utilisez le paramètre .vmx suivant pour définir le nombre de fichiers journaux :

vmx.log.keepOld = "10"

Vous pouvez limiter le nombre de fichiers journaux pour toutes les machines virtuelles sur un hôte en modifiant le fichier /etc/vmware/config. Si la propriété log.KeepOld n'est pas définie dans le fichier, vous pouvez l'ajouter. Par exemple, pour garder dix fichiers journaux pour chaque machine virtuelle, ajoutez la propriété suivante à /etc/vmware/config :

vmx.log.keepOld = "10"

Vous pouvez également utiliser un script PowerCLI pour modifier cette propriété sur toutes les machines virtuelles d'un hôte.

Une stratégie plus extrême consiste à désactiver la journalisation de la machine virtuelle. Cette opération rend plus complexe la résolution des problèmes et la maintenance. Ne désactivez pas la journalisation, sauf si la rotation des fichiers journaux ne s'avère pas suffisante. Utilisez les paramètres .vmx suivants pour désactiver la journalisation :

logging = "FALSE"

Taille du fichier VMX

Par défaut, le fichier de configuration est limité à 1 Mo, car une taille incontrôlée du fichier peut générer un déni de service si la banque de données manque d'espace disque. Des messages d'information sont parfois envoyés par la machine virtuelle au fichier .vmx. Ces messages setinfo définissent les caractéristiques ou les identifiants de la machine virtuelle en écrivant des paires nom-valeur dans le fichier. Il peut être nécessaire d'augmenter la taille du fichier si d'importants volumes d'informations personnalisées doivent être stockées dans le fichier. Le nom de propriété est tools.setInfo.sizeLimit et vous définissez la valeur en kilo-octets. Conservez le paramètre .vmx suivant :

tools.setInfo.sizeLimit = "1048576"

Envoi des compteurs de performances dans PerfMon

Vous pouvez intégrer des compteurs de performances de machine virtuelle pour le processeur et la mémoire dans PerfMon pour les systèmes d'exploitation clients Microsoft Windows. Cette fonction fournit des informations détaillées sur l'hôte physique disponible pour le système d'exploitation client. Une personne mal intentionnée pourrait utiliser ces informations pour lancer d'autres attaques sur l'hôte. La fonction est désactivée par défaut. Conservez le paramètre .vmx suivant pour empêcher l'envoi des informations de l'hôte à la machine virtuelle :

tools.guestlib.enableHostInfo = "FALSE"

Ce paramètre ne bloque pas toutes les mesures. Si vous affectez la valeur FALSE à cette propriété, les mesures suivantes sont bloquées :

  • GUESTLIB_HOST_CPU_NUM_CORES

  • GUESTLIB_HOST_CPU_USED_MS

  • GUESTLIB_HOST_MEM_SWAPPED_MB

  • GUESTLIB_HOST_MEM_SHARED_MB

  • GUESTLIB_HOST_MEM_USED_MB

  • GUESTLIB_HOST_MEM_PHYS_MB

  • GUESTLIB_HOST_MEM_PHYS_FREE_MB

  • GUESTLIB_HOST_MEM_KERN_OVHD_MB

  • GUESTLIB_HOST_MEM_MAPPED_MB

  • GUESTLIB_HOST_MEM_UNMAPPED_MB

Fonctions non exposées dans vSphere qui peuvent générer des vulnérabilités

Comme les machines virtuelles VMware s'exécutent sur un grand nombre de produits VMware en plus de vSphere, certains paramètres de machine virtuelle ne s'appliquent pas dans un environnement vSphere. Bien que ces fonctions n'apparaissent pas dans les interfaces utilisateur vSphere, leur désactivation réduit le nombre de vecteurs d'accès d'un système d'exploitation client à un hôte. Utilisez le paramètre .vmx suivants pour désactiver ces fonctions :

isolation.tools.unity.push.update.disable = "TRUE"
isolation.tools.ghi.launchmenu.change = "TRUE"
isolation.tools.ghi.autologon.disable = "TRUE"
isolation.tools.hgfsServerSet.disable = "TRUE"
isolation.tools.memSchedFakeSampleStats.disable = "TRUE"
isolation.tools.getCreds.disable = "TRUE"