Ces contrôles de sécurité fournissent un ensemble de lignes de base de meilleures pratiques en matière de sécurité pour ESXi. Ils sont structurés de manière à expliquer les avantages et les contreparties de la mise en œuvre du contrôle. La plupart des contrôles prennent la forme de paramètres système avancés. Pour modifier les paramètres système avancés, vous pouvez utiliser l'instance de PowerCLI fournie ou le vSphere Client (Hôte > Configurer > Système > Paramètres système supplémentaires).

Variable utilisée

Les commandes PowerCLI de cette section utilisent les variables suivantes :

  • $ESXi = « host_name »
  • $vmkernel_interface = « vmkernel_adapter »

Assurez-vous que l'accès au compte DCUI est refusé

L'hôte ESXi doit refuser l'accès au shell pour le compte d'utilisateur dcui.

Le compte d'utilisateur dcui est utilisé pour l'isolation de processus pour l'interface DCUI elle-même. Pour réduire la surface d'attaque, désactivez l'accès au shell pour le compte d'utilisateur dcui.

Valeurs
Valeur par défaut de l'installation : True
Valeur suggérée pour la ligne de base : False
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.account.list.Invoke() | Where-Object { $_.UserID -eq 'dcui' } | Select-Object -ExpandProperty Shellaccess
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.account.set.CreateArgs()
$arguments.id = "dcui"
$arguments.shellaccess = "false"
$ESXcli.system.account.set.Invoke($arguments)

Annotations.WelcomeMessage

Configure le texte du message de connexion qui s'affiche sur le VMware Host Client et l'interface DCUI.

ESXi permet d'afficher un message de connexion. Les utilisations du message de connexion incluent l'information des intrus que leurs activités sont illégales et la transmission aux utilisateurs autorisés des attentes et des obligations qu'ils doivent respecter et accepter lors de l'utilisation du système.

Valeurs
Valeur par défaut de l'installation : non définie
Valeur suggérée pour la ligne de base : consultez les conseillers juridiques de votre organisation pour connaître le texte applicable à votre environnement.

Exemple de texte de message : Utilisateurs autorisés uniquement. L'utilisation non autorisée réelle ou tentée de ce système est interdite et peut entraîner des poursuites et/ou des sanctions pénales, civiles, sécuritaires ou administratives. L'utilisation de ce système d'information indique le consentement à la surveillance et à l'enregistrement, sans préavis ni autorisation. Les utilisateurs n'ont aucune attente de confidentialité dans une quelconque utilisation de ce système. Toute information stockée ou transitant sur ce système, ou obtenue par la surveillance et/ou l'enregistrement, peut être divulguée à la police et/ou utilisée conformément à la loi fédérale, aux statuts de l'État et à la politique de l'organisation. Si vous n'êtes pas un utilisateur autorisé de ce système, quittez le système à ce stade.

Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Masque les informations « F2/F12 » et d'adresse IP sur l'interface DCUI. Peut également nécessiter une documentation et une formation pour votre environnement.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Annotations.WelcomeMessage
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Annotations.WelcomeMessage | Set-AdvancedSetting -Value "your_message"

Config.HostAgent.vmacore.soap.sessionTimeout

Configure un délai d'expiration de session pour vSphere API.

Cette pratique permet d'atténuer les risques de sécurité potentiels, en veillant à ce que les sessions sans surveillance, qui pourraient être exploitées par des utilisateurs non autorisés ou des logiciels malveillants, ne soient pas laissées ouvertes indéfiniment.

Valeurs
Valeur par défaut de l'installation : 30
Valeur suggérée pour la ligne de base : 30
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.HostAgent.vmacore.soap.sessionTimeout
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.HostAgent.vmacore.soap.sessionTimeout | Set-AdvancedSetting -Value 30

Config.Etc.issue

Configure le texte de la bannière lorsqu'un utilisateur se connecte à un hôte ESXi à l'aide de SSH.

ESXi permet d'afficher une bannière pour les connexions SSH. Les utilisations de la bannière incluent l'information des intrus que leurs activités sont illégales et la transmission aux utilisateurs autorisés des attentes et des obligations qu'ils doivent respecter et accepter lors de l'utilisation du système. Laissez le service SSH désactivé, sauf si vous effectuez des opérations de dépannage. Une incohérence de mise en œuvre entre ESXi et vCenter Server nécessite que ce « problème » dans Config.Etc.issue soit en minuscules, pour fonctionner dans les deux scénarios.

Valeurs
Valeur par défaut de l'installation : non définie
Valeur suggérée pour la ligne de base : consultez les conseillers juridiques de votre organisation pour connaître le texte applicable à votre environnement.

Exemple de texte de message : Utilisateurs autorisés uniquement. L'utilisation non autorisée réelle ou tentée de ce système est interdite et peut entraîner des poursuites et/ou des sanctions pénales, civiles, sécuritaires ou administratives. L'utilisation de ce système d'information indique le consentement à la surveillance et à l'enregistrement, sans préavis ni autorisation. Les utilisateurs n'ont aucune attente de confidentialité dans une quelconque utilisation de ce système. Toute information stockée ou transitant sur ce système, ou obtenue par la surveillance et/ou l'enregistrement, peut être divulguée à la police et/ou utilisée conformément à la loi fédérale, aux statuts de l'État et à la politique de l'organisation. Si vous n'êtes pas un utilisateur autorisé de ce système, quittez le système à ce stade.

Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.Etc.issue
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.Etc.issue | Set-AdvancedSetting -Value "****************************************************************************`n* Authorized users only. Actual or attempted unauthorized use of this      *`n* system is prohibited and may result in criminal, civil, security, or     *`n* administrative proceedings and/or penalties. Use of this information     *`n* system indicates consent to monitoring and recording, without notice     *`n* or permission. Users have no expectation of privacy. Any information     *`n* stored on or transiting this system, or obtained by monitoring and/or    *`n* recording, may be disclosed to law enforcement and/or used in accordance *`n* with Federal law, State statute, and organization policy. If you are not *`n* an authorized user of this system, exit the system at this time.         *`n****************************************************************************`n"

Désactiver l'accès au shell pour vpxuser

L'hôte ESXi doit refuser l'accès au shell pour le compte vpxuser.

vCenter Server crée le compte vpxuser lorsqu'un hôte ESXi est attaché pour la première fois. Le compte vpxuser est ensuite utilisé pour l'authentification privilégiée pour ESXi. Bien que vCenter Server effectue automatiquement une rotation du mot de passe du compte vpxuser selon un intervalle régi par l'option VirtualCenter.VimPasswordExpirationInDays, le compte vpxuser dispose également d'un accès au shell. Désactivez le compte vpxuser pour réduire la surface d'attaque.

Valeurs
Valeur par défaut de l'installation : True
Valeur suggérée pour la ligne de base : False
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Les comptes d'utilisateurs qui ne disposent pas d'un accès au shell ne peuvent pas reconfigurer l'accès au shell des autres utilisateurs, quel que soit leur niveau de privilège. Étant donné que vCenter Server se connecte à un hôte ESXi en tant que compte vpxuser, une fois que vous avez désactivé l'accès au shell pour vpxuser, il ne peut plus être utilisé pour modifier ces paramètres de compte pour d'autres comptes. Une nouvelle reconfiguration doit se produire hôte par hôte à l'aide d'un compte autorisé.
ESXi 8.0 et versions ultérieures ne prennent plus en charge les opérations de récupération de mot de passe ou de compte traditionnelles, telles que le démarrage à partir d'un support ou la modification de l'initialisation vers un shell lors du démarrage.
Assurez-vous que l'hôte ESXi conserve au moins un compte d'utilisateur doté de tous les privilèges et que vous protégez ce compte en conséquence.
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.account.list.Invoke() | Where-Object { $_.UserID -eq 'vpxuser' } | Select-Object -ExpandProperty Shellaccess
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.account.set.CreateArgs()
$arguments.id = "vpxuser"
$arguments.shellaccess = "false"
$ESXcli.system.account.set.Invoke($arguments)

vCenter Server doit utiliser vSphere Authentication Proxy pour éviter de stocker les informations d'identification d'Active Directory

vSphere Authentication Proxy permet à vCenter Server de se connecter à des entités Active Directory et de les gérer sans avoir à stocker directement les informations d'identification Active Directory, ce qui réduit le risque d'exposition ou d'utilisation abusive des informations d'identification.

Valeurs
Valeur par défaut de l'installation : non configurée
Valeur suggérée pour la ligne de base : configurer si vous utilisez la fonctionnalité
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VMHostAuthentication | Select-Object VMHost,Domain,DomainMembershipStatus
Exemple de correction de la commande PowerCLI
S.O.

DCUI.Access

L'hôte ESXi doit disposer d'une liste DCUI.Access précise.

Définit la liste Utilisateurs exceptionnels du mode de verrouillage pour qu'elle contienne une liste précise d'utilisateurs et s'assure que seuls les utilisateurs autorisés disposent d'un accès direct à l'interface utilisateur de console directe (DCUI) à l'hôte ESXi lorsque le mode de verrouillage est activé.

Vous ne pouvez pas supprimer l'utilisateur racine de la liste.

Pour contrôler ESXi Shell et l'accès SSH, utilisez la liste Utilisateurs exceptionnels du mode de verrouillage. Reportez-vous à la section Assurez-vous que l'hôte ESXi dispose d'une liste d'utilisateurs exceptionnels précise.

Valeurs
Valeur par défaut de l'installation : root
Valeur suggérée pour la ligne de base : root
Action nécessaire
Contrôlez la liste.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Perte potentielle d'accès administratif aux hôtes. Assurez-vous d'attacher les hôtes ESXi à vCenter Server et de configurer les listes d'accès et les listes d'exceptions avant de configurer le mode de verrouillage.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting DCUI.Access
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting DCUI.Access | Set-AdvancedSetting -Value root

Assurez-vous que l'hôte ESXi dispose d'une liste d'utilisateurs exceptionnels précise

L'hôte ESXi doit disposer d'une liste d'utilisateurs exceptionnels précise.

Les utilisateurs figurant dans la liste Utilisateurs exceptionnels du mode de verrouillage ne perdent pas leurs privilèges lorsque l'hôte entre en mode de verrouillage. Cette situation peut éventuellement aller à l'encontre de l'objectif du mode de verrouillage.

Valeurs
Valeur par défaut de l'installation : Null
Valeur suggérée pour la ligne de base : Null
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Perte potentielle d'accès administratif aux hôtes ESXi. Assurez-vous d'attacher les hôtes ESXi à vCenter Server et de configurer les listes d'accès et les listes d'exceptions avant de configurer le mode de verrouillage.
Évaluation de la commande PowerCLI
(Get-View (Get-VMHost -Name $ESXi | Get-View).ConfigManager.HostAccessManager).QueryLockdownExceptions()
Exemple de correction de la commande PowerCLI
(Get-View (Get-VMHost -Name $ESXi | Get-View).ConfigManager.HostAccessManager).UpdateLockdownExceptions($NULL)

Activer le mode de verrouillage normal pour restreindre l'accès à ESXi

L'activation du mode de verrouillage désactive l'accès direct à un hôte ESXi. Le mode de verrouillage nécessite vCenter Server pour gérer directement l'hôte ESXi.

La limitation de l'accès de cette manière garantit que vCenter Server applique les rôles et les autorisations. En outre, les utilisateurs ne peuvent pas contourner ces rôles et autorisations en se connectant directement à un hôte ESXi. L'exigence que toutes les interactions se produisent via vCenter Server réduit le risque que les utilisateurs atteignent par inadvertance des privilèges élevés ou effectuent des tâches pour lesquelles ils ne sont pas correctement contrôlés.

Les utilisateurs répertoriés dans la liste des utilisateurs exceptionnels pour chaque hôte ESXi sont autorisés à neutraliser le mode de verrouillage et à se connecter. Par défaut, aucun utilisateur n'est présent dans la liste des utilisateurs exceptionnels.

Les paramètres du mode de verrouillage sont Désactivé, Normal et Strict. Lorsque le mode de verrouillage est défini sur Strict, si l'hôte ESXi perd le contact avec vCenter Server, vous ne pouvez pas le gérer tant que cette connexion n'est pas restaurée. Si vous ne pouvez pas restaurer la connexion, vous devez recréer l'hôte ESXi. En général, le mode de verrouillage strict dépasse les besoins de la plupart des déploiements. En tant que tel, le mode de verrouillage normal suffit généralement.

Valeurs
Valeur par défaut de l'installation : lockdownDisabled
Valeur suggérée pour la ligne de base : lockdownNormal
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Perte potentielle d'accès administratif aux hôtes. Assurez-vous d'attacher les hôtes ESXi à vCenter Server et de configurer les listes d'accès et les listes d'exceptions avant de configurer le mode de verrouillage.
Certaines opérations, telles que la sauvegarde et le dépannage, nécessitent un accès direct à l'hôte ESXi. Dans ces cas-là, vous pouvez désactiver temporairement le mode de verrouillage pour des hôtes spécifiques, puis réactiver le mode de verrouillage lorsque vous avez terminé.
Évaluation de la commande PowerCLI
(Get-View (Get-VMHost -Name $ESXi | Get-View).ConfigManager.HostAccessManager).LockdownMode
Exemple de correction de la commande PowerCLI
(Get-View (Get-VMHost -Name $ESXi | Get-View).ConfigManager.HostAccessManager).ChangeLockdownMode('lockdownNormal')

Syslog.global.auditRecord.storageEnable

Configure l'hôte ESXi pour stocker les enregistrements d'audit localement.

Vous devez activer la journalisation des enregistrements d'audit sur les hôtes ESXi.

Valeurs
Valeur par défaut de l'installation : False
Valeur suggérée pour la ligne de base : True
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
L'espace de stockage supplémentaire est consommé par les journaux.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.auditRecord.storageEnable
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.auditRecord.storageEnable | Set-AdvancedSetting -Value TRUE

Syslog.global.auditRecord.storageCapacity

Vous devez activer la capacité de stockage pour une semaine d'enregistrements d'audit sur les hôtes ESXi.

Si une installation distante de stockage des enregistrements d'audit est disponible, il est essentiel de s'assurer que la capacité de stockage locale est suffisante pour contenir des enregistrements d'audit qui peuvent s'accumuler lors des interruptions anticipées de livraison des enregistrements à l'installation. Cela garantit que les enregistrements d'audit ne sont pas perdus ou remplacés pendant les périodes au cours desquelles le stockage distant n'est pas disponible, ce qui permet une continuité transparente de la piste d'audit et des exigences de conformité.

Valeurs
Valeur par défaut de l'installation : 4
Valeur suggérée pour la ligne de base : 100
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
L'espace de stockage supplémentaire est consommé par les journaux.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.auditRecord.storageCapacity
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.auditRecord.storageCapacity | Set-AdvancedSetting -Value 100

ScratchConfig.CurrentScratchLocation et Syslog.global.auditRecord.storageDirectory

Configure un emplacement de journal persistant pour tous les enregistrements d'audit stockés localement sur l'hôte ESXi.

Vous pouvez configurer ESXi pour stocker des enregistrements d'audit sur un système de fichiers en mémoire. Cela se produit lorsque le répertoire « /scratch » de l'hôte est lié à « /tmp/scratch ». Lorsque cela a lieu, seule une journée d'enregistrements est stockée à tout moment. En outre, les enregistrements d'audit sont réinitialisés à chaque redémarrage. Cela présente un risque de sécurité, car l'activité utilisateur journalisée sur l'hôte n'est stockée que temporairement et n'est pas persistante lors des redémarrages. Cela peut également compliquer l'audit et rendre plus difficiles la surveillance des événements et le diagnostic des problèmes. Configurez toujours la journalisation de l'enregistrement d'audit de l'hôte ESXi dans une banque de données persistante.

Vous pouvez détecter si le volume scratch est temporaire ou persistant en interrogeant le paramètre avancé ScratchConfig.CurrentScratchLocation. Si, lorsqu'il est interrogé, il renvoie « /tmp/scratch », le volume est temporaire et vous devez remapper le stockage des enregistrements d'audit sur un périphérique persistant.

Le stockage ne peut pas être une banque de données vSAN. Si votre seul stockage local non-vSAN est un support SD ou USB (qui peut devenir peu fiable avec des écritures répétées à partir de journaux), envisagez de laisser les journaux dans le ramdisk et de vous assurer qu'un hôte de journalisation distant est configuré à la place. Documentez la décision et la justification en vue de futurs audits.

Valeurs
Valeur par défaut de l'installation :

ScratchConfig.CurrentScratchLocation : dépend du périphérique de démarrage

Syslog.global.auditRecord.storageDirectory : /scratch/auditLog

Valeur suggérée pour la ligne de base : emplacement de stockage persistant
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
L'espace de stockage supplémentaire est consommé par les journaux.
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.syslog.config.get.Invoke() | Select LocalLogOutput,LocalLogOutputIsPersistent

# If your LocalLogOutput is set to a directory in /scratch, and LocalLogOutputIsPersistent is true, that means your boot device is of a type and size that makes /scratch persistent. Verify that your audit storage is also on /scratch, and that /scratch points to a VMFS datastore:

Get-VMHost -Name $ESXi | Get-AdvancedSetting ScratchConfig.CurrentScratchLocation
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.auditRecord.storageDirectory
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.auditRecord.storageDirectory | Set-AdvancedSetting -Value "/vmfs/volumes/$Datastore/audit"

Syslog.global.auditRecord.remoteEnable

Configure l'hôte ESXi pour la transmission des journaux d'audit à un hôte distant.

Valeurs
Valeur par défaut de l'installation : False
Valeur suggérée pour la ligne de base : True
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.auditRecord.remoteEnable
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.auditRecord.remoteEnable | Set-AdvancedSetting -Value TRUE

Syslog.global.logFiltersEnable

Active le filtrage des journaux sur l'hôte ESXi.

Vous pouvez créer des filtres de journaux pour réduire le nombre d'entrées répétitives dans les journaux et pour refuser complètement des événements de journal spécifiques.

Valeurs
Valeur par défaut de l'installation : False
Valeur suggérée pour la ligne de base : False
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logFiltersEnable
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logFiltersEnable | Set-AdvancedSetting -Value FALSE

LocalLogOutputIsPersistent, ScratchConfig.CurrentScratchLocation et Syslog.global.logDir

Configure la journalisation persistante pour tous les journaux stockés localement sur l'hôte ESXi.

Vous pouvez configurer ESXi pour stocker les fichiers journaux sur un système de fichiers en mémoire. Cela se produit lorsque le répertoire « /scratch » de l'hôte est lié à « /tmp/scratch ». Lorsque cela a lieu, seule une journée de journaux est stockée à tout moment. En outre, les fichiers journaux sont réinitialisés à chaque redémarrage. Cela présente un risque de sécurité, car l'activité utilisateur journalisée sur l'hôte n'est stockée que temporairement et ne persiste pas lors des redémarrages. Cela peut également compliquer l'audit et rendre plus difficiles la surveillance des événements et le diagnostic des problèmes. Configurez toujours la journalisation de l'hôte ESXi dans une banque de données persistante.

Vous pouvez détecter si le volume scratch est temporaire ou persistant en interrogeant le paramètre avancé ScratchConfig.CurrentScratchLocation. Si, lorsqu'il est interrogé, il renvoie « /tmp/scratch », le volume est temporaire et vous devez remapper le stockage des enregistrements d'audit sur un périphérique persistant.

Le stockage ne peut pas être une banque de données vSAN, sauf si vous définissez Syslog.global.vsanBacking, qui comporte des mises en garde et des dépendances. Si votre seul stockage local non-vSAN est un support SD ou USB (qui peut devenir peu fiable avec des écritures répétées à partir de journaux), envisagez de laisser les journaux dans le ramdisk et de vous assurer qu'un hôte de journalisation distant est configuré à la place. Documentez la décision et la justification en vue de futurs audits.

Valeurs

Valeur par défaut de l'installation : ScratchConfig.CurrentScratchLocation: dépend du périphérique de démarrage

Syslog.global.logDir : /scratch/log

Valeur suggérée pour la ligne de base : emplacement de stockage persistant
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.syslog.config.get.Invoke() | Select LocalLogOutput,LocalLogOutputIsPersistent

# If your LocalLogOutput is set to a directory in /scratch, and LocalLogOutputIsPersistent is true, that means your boot device is of a type and size that makes /scratch persistent. Verify that your log storage is also on /scratch, , and that /scratch points to a VMFS datastore:

Get-VMHost -Name $ESXi | Get-AdvancedSetting ScratchConfig.CurrentScratchLocation
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logDir
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logDir | Set-AdvancedSetting -Value "/vmfs/volumes/$Datastore/logs"

Syslog.global.logHost

Configure la journalisation à distance.

Lorsque vous configurez la journalisation à distance sur un hôte de journalisation central, vous fournissez un magasin centralisé et sécurisé pour les journaux ESXi. La collecte des fichiers journaux de l'hôte sur un hôte central vous donne la possibilité de surveiller tous les hôtes à l'aide d'un outil unique. Vous pouvez également effectuer une analyse agrégée et rechercher des éléments tels que des attaques coordonnées sur plusieurs hôtes. La connexion à un serveur de journalisation sécurisé et central contribue à éviter la falsification des journaux, tout en fournissant un enregistrement d'audit à long terme.

Valeurs
Valeur par défaut de l'installation : non définie
Valeur suggérée pour la ligne de base : spécifique au site
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logHost
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logHost | Set-AdvancedSetting -Value "log_collector"

Syslog.global.certificate.checkSSLCerts

Vérifie les certificats pour TLS.

L'hôte ESXi doit vérifier les certificats pour les points de terminaison de journalisation à distance TLS. Les certificats TLS permettent de s'assurer que le point de terminaison est authentique et digne de confiance.

Valeurs
Valeur par défaut de l'installation : True
Valeur suggérée pour la ligne de base : True
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.certificate.checkSSLCerts
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.certificate.checkSSLCerts | Set-AdvancedSetting -Value TRUE

Syslog.global.certificate.strictX509Compliance

Effectue une vérification x509 stricte pour les points de terminaison de journalisation distants sur lesquels TLS est activé.

L'hôte ESXi doit utiliser une vérification x509 stricte pour les points de terminaison de journalisation à distance compatibles TLS. Le paramètre Syslog.global.certificate.strictX509Compliance effectue des contrôles de validité supplémentaires sur les certificats racines de l'autorité de certification lors de la vérification.

Valeurs
Valeur par défaut de l'installation : False
Valeur suggérée pour la ligne de base : True
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.certificate.strictX509Compliance
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.certificate.strictX509Compliance | Set-AdvancedSetting -Value TRUE

Mem.MemEagerZero

Active la destruction des clés volatiles.

Par défaut, ESXi met à zéro les pages allouées aux machines virtuelles, aux applications d'espace utilisateur et aux threads de noyau au moment de l'allocation. Cela garantit qu'aucune page non nulle n'est exposée aux machines virtuelles ou aux applications de l'espace utilisateur. Cette mesure est en place pour empêcher l'exposition de clés cryptographiques des machines virtuelles ou des userworlds à d'autres clients.

Cependant, si la mémoire n'est pas réutilisée, ces clés peuvent rester présentes dans la mémoire de l'hôte pendant une période prolongée. Pour résoudre ce problème, vous pouvez configurer le paramètre MemEagerZero pour appliquer la mise à zéro hors des pages userworld et de mémoire d'invité lors de la fermeture d'un processus userworld ou un invité. Pour les threads de noyau, les espaces de mémoire contenant des clés sont mis à zéro dès que le secret n'est plus requis.

Valeurs
Valeur par défaut de l'installation : 0
Valeur suggérée pour la ligne de base : 1
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Un délai d'arrêt supplémentaire est requis pour les machines virtuelles, correspondant à la quantité de mémoire allouée.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Mem.MemEagerZero
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Mem.MemEagerZero | Set-AdvancedSetting -Value 1

Vérifier la maintenance active sur la version d'ESXi

Assurez-vous que la version d'ESXi n'a pas atteint l'état Fin du support général de VMware.

Valeurs
Valeur par défaut de l'installation : S/O
Valeur suggérée pour la ligne de base : S/O
Action nécessaire
Auditez régulièrement votre version de ESXi.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Lisez toujours les Notes de mise à jour, puis testez et déployez de nouvelles versions logicielles à l'aide de déploiements échelonnés.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Select-Object Name,Version,Build
Exemple de correction de la commande PowerCLI
S.O.

Activer les sources de synchronisation de l'heure

Les services de synchronisation de l'heure doivent être activés et en cours d'exécution sur l'hôte ESXi.

La cryptographie, la journalisation d'audit, les opérations de cluster, la réponse aux incidents et les analyses reposent sur l'heure synchronisée. Pour vous assurer que l'heure est synchronisée entre les services et les opérations, activez les services NTP et/ou PTP pour démarrer avec l'hôte, et assurez-vous que ces services sont en cours d'exécution.

Valeurs
Valeur par défaut de l'installation : Arrêté, Démarrer et arrêter manuellement
Valeur suggérée pour la ligne de base : En cours d'exécution, Arrêter et démarrer avec hôte
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | Where-Object{$_.Key -eq "ntpd"}
Exemple de correction de la commande PowerCLI
Get-VMHostService -VMHost $ESXi -ErrorAction:Stop | Where-Object{$_.Key -eq "ntpd"} | Set-VMHostService -policy "on" -Confirm:$false
Get-VMHostService -VMHost $ESXi -ErrorAction:Stop | Where-Object{$_.Key -eq "ntpd"} | Restart-VMHostService -Confirm:$false

Configurer des sources de synchronisation de l'heure fiables

Des sources de synchronisation de l'heure fiables doivent être configurées sur l'hôte ESXi.

La cryptographie, la journalisation d'audit, les opérations de cluster, la réponse aux incidents et les analyses dépendent de l'heure synchronisée. Le protocole NTP (Network Time Protocol) doit avoir au moins quatre sources. Si vous devez choisir entre deux sources et une source, une source est préférable.

Le protocole PTP (Precision Time Protocol) est une alternative au protocole NTP qui fournit une précision de temps inférieure à la milliseconde. L'architecture de PTP est différente de celle de NTP et n'a pas la même résilience aux pannes du serveur principal. Envisagez de configurer NTP en tant que source de sauvegarde sur PTP, afin qu'une source de temps continue d'être disponible, même si la précision est inférieure.

Valeurs
Valeur par défaut de l'installation : non définie
Valeur suggérée pour la ligne de base :

Spécifique au site ou :

0.vmware.pool.ntp.org,

1.vmware.pool.ntp.org,

2.vmware.pool.ntp.org,

3.vmware.pool.ntp.org

Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHostNtpServer -VMHost $ESXi
Exemple de correction de la commande PowerCLI
$ntp0 = "0.vmware.pool.ntp.org"
$ntp1 = "1.vmware.pool.ntp.org"
$ntp2 = "2.vmware.pool.ntp.org"
$ntp3 = "3.vmware.pool.ntp.org"

Add-VMHostNTPServer -NtpServer $ntp0 , $ntp1 , $ntp2 , $ntp3 -VMHost $ESXi -Confirm:$false

Utiliser les chiffrements TLS

L'hôte ESXi doit maintenir la confidentialité et l'intégrité des transmissions en activant les chiffrements TLS modernes.

À partir de ESXi 8.0 Update 3, les profils TLS configurent les paramètres TLS du client et du serveur pour utiliser uniquement des chiffrements forts. Vous pouvez afficher l'intégralité de la liste et des suites de chiffrement à l'aide des commandes suivantes :

$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.tls.server.get.CreateArgs()
$arguments.showprofiledefaults = $true
$arguments.showcurrentbootprofile = $true
$ESXcli.system.tls.server.get.invoke($arguments)

Vous devez redémarrer l'hôte ESXi après avoir modifié le profil TLS. (Dans la vSphere Client, l'hôte affiche le suffixe « Redémarrage requis ».)

Valeurs
Valeur par défaut de l'installation : COMPATIBILE
Valeur suggérée pour la ligne de base : NIST_2024
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Les modifications apportées aux suites de chiffrement affectent la connectivité avec les systèmes externes. Vous devez redémarrer l'hôte pour que cette modification du profil TLS prenne effet.
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.tls.server.get.invoke() | Select-Object -ExpandProperty Profile
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.tls.server.set.CreateArgs()
$arguments.profile = "NIST_2024"
$ESXcli.system.tls.server.set.invoke($arguments)

UserVars.ESXiVPsDisabledProtocols

L'hôte ESXi doit activer la version TLS la plus élevée prise en charge.

ESXi 8.0 active TLS 1.2 par défaut, mais il est possible d'activer d'autres protocoles, si nécessaire. À partir de ESXi 8.0 Update 3, TLS 1.3 est activé par défaut.

Valeurs
Valeur par défaut de l'installation : sslv3,tlsv1,tlsv1.1
Valeur suggérée pour la ligne de base : sslv3,tlsv1,tlsv1.1
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiVPsDisabledProtocols
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiVPsDisabledProtocols | Set-AdvancedSetting -Value "sslv3,tlsv1,tlsv1.1"

Configurer le chiffrement basé sur TPM

L'hôte ESXi doit nécessiter un chiffrement de configuration basé sur TPM.

La configuration d'un hôte ESXi se compose de fichiers de configuration pour chaque service qui s'exécute sur l'hôte. Les fichiers de configuration résident généralement dans le répertoire /etc/, mais ils peuvent également résider dans d'autres espaces de noms. Les fichiers de configuration contiennent des informations d' run-time sur l'état des services . Au fil du temps, les valeurs par défaut dans les fichiers de configuration peuvent être modifiées. Par exemple, lorsque les paramètres sur l'hôte ESXi sont modifiés.

Une tâche cron sauvegarde régulièrement les fichiers de configuration ESXi, lorsque ESXi s'arrête normalement ou à la demande, puis crée un fichier de configuration archivé dans la banque de démarrage. Lorsque ESXi redémarre, le système lit le fichier de configuration archivé et recrée l'état dans lequel se trouvait ESXi lors de la sauvegarde.

Avant vSphere 7.0 Update 2, le fichier de configuration ESXi archivé n'était pas chiffré. Dans vSphere 7.0 Update 2 et versions ultérieures, le fichier de configuration archivé est chiffré. Lorsque l'hôte ESXi est configuré avec un module de plate-forme sécurisée (TPM), le TPM est utilisé pour « sceller » la configuration sur l'hôte, fournissant ainsi une garantie de sécurité renforcée et une protection supplémentaire contre les attaques en ligne.

Le chiffrement de la configuration utilise le TPM physique lorsque celui-ci est disponible et pris en charge au moment de l'installation ou de la mise à niveau. Si le TPM a été ajouté ou activé ultérieurement, vous devez reconfigurer explicitement l'hôte ESXi pour utiliser le TPM récemment disponible. Une fois le chiffrement de la configuration TPM activé, il ne peut pas être désactivé.

Valeurs
Valeur par défaut de l'installation : spécifique au site
Valeur suggérée pour la ligne de base : TPM
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
L'utilisation du démarrage sécurisé et du chiffrement de configuration appliqué par TPM rend les efforts de récupération de mot de passe racine traditionnels inutilisables. Assurez-vous de ne pas perdre l'accès aux comptes d'administrateur ESXi.
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.settings.encryption.get.Invoke() | Select Mode
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.settings.encryption.set.CreateArgs()
$arguments.mode = "TPM"
$ESXcli.system.settings.encryption.set.Invoke($arguments)

Vérifier que le logiciel ESXi est à jour

En restant à jour avec les correctifs ESXi, vous réduisez les vulnérabilités dans l'hyperviseur.

Un pirate formé peut exploiter des vulnérabilités connues lorsqu'il tente d'accéder à un hôte ESXi ou d'en augmenter les privilèges. Mettez toujours à jour d'abord vCenter Server, si une mise à jour est disponible, puis mettez à jour ESXi.

Valeurs
Valeur par défaut de l'installation : Bas niveau
Valeur suggérée pour la ligne de base : Actuel
Action nécessaire
Contrôlez régulièrement le niveau des correctifs d' ESXi.
Lisez toujours les Notes de mise à jour, puis testez et déployez de nouvelles versions logicielles à l'aide de déploiements échelonnés.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Les versions de mise à jour de vSphere ajoutent et modifient des fonctionnalités. Les versions de correctifs résolvent uniquement les problèmes.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Select-Object Name,Version,Build
Exemple de correction de la commande PowerCLI
S.O.

VMkernel.Boot.execInstalledOnly

Exécutez les fichiers binaires fournis uniquement par un VIB.

ESXi effectue des vérifications de l'intégrité des VIB en fonction du niveau d'acceptation. En demandant à ESXi d'exécuter uniquement les fichiers binaires provenant d'un VIB valide installé sur l'hôte, il est plus difficile pour les pirates d'utiliser des boîtes à outils prédéfinies lors d'une compromission, et cela augmente les chances de détection.

Valeurs
Valeur par défaut de l'installation : False
Valeur suggérée pour la ligne de base : True
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Les logiciels non signés tiers peuvent ne pas s'installer ou ne pas s'exécuter.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting VMkernel.Boot.execInstalledOnly
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting VMkernel.Boot.execInstalledOnly | Set-AdvancedSetting -Value True

Désactiver les services de gestion sur les adaptateurs VMkernel

Assurez-vous que les services de gestion vSAN, vMotion et d'autres adaptateurs VMkernel dédiés ne sont pas activés.

Les interfaces réseau VMkernel destinées à une utilisation spécialisée peuvent être configurées avec des capacités de gestion, ce qui peut faire échouer l'isolation réseau et les efforts de sécurité. Activez uniquement les services de gestion sur les interfaces VMkernel destinées à la gestion.

Valeurs
Valeur par défaut de l'installation : spécifique au site
Valeur suggérée pour la ligne de base : spécifique au site
Action nécessaire
Contrôlez vos valeurs spécifiques au site.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Certaines solutions gérées tierces peuvent nécessiter l'activation des services de gestion sur les adaptateurs VMkernel.
Évaluation de la commande PowerCLI
Get-VMHostNetworkAdapter -VMHost $ESXi -VMKernel | Select VMHost,Name,IP,ManagementTrafficEnabled
Exemple de correction de la commande PowerCLI
Get-VMHostNetworkAdapter -VMHost $ESXi -Name $vmkernel_interface | Set-VMHostNetworkAdapter -ManagementTrafficEnabled $false

Configurer le pare-feu ESXi pour bloquer le trafic

Vous devez configurer le pare-feu de l'hôte ESXi pour bloquer le trafic réseau par défaut.

Assurez-vous que tout le trafic réseau entrant et sortant est bloqué, sauf autorisation explicite, ce qui réduit la surface d'attaque et empêche l'accès non autorisé à l'hôte.

Valeurs
Valeur par défaut de l'installation : activé
Valeur suggérée pour la ligne de base : activé
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Le pare-feu est rudimentaire, comparable aux listes ACL de routeur. Vous devrez peut-être reconfigurer des règles réflexives.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VMHostFirewallDefaultPolicy
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.network.firewall.set.CreateArgs()
$arguments.defaultaction = $FALSE
$arguments.enabled = $true
$ESXcli.network.firewall.set.Invoke($arguments)

Configurer le pare-feu ESXi pour les réseaux autorisés

Configurez le pare-feu ESXi pour autoriser uniquement le trafic provenant des réseaux autorisés.

Assurez-vous que tout le trafic réseau entrant et sortant est bloqué, sauf autorisation explicite, ce qui réduit la surface d'attaque et empêche l'accès non autorisé à l'hôte ESXi.

À partir de vSphere 8.0 Update 2, les règles de pare-feu sont classées comme appartenant à « utilisateur » ou « système », où seules les règles appartenant à l'« utilisateur » sont configurables. Dans vSphere 8 Update 2b et PowerCLI 13.2.1, il existe des paramètres interrogeables supplémentaires pour automatiser la définition et la vérification de règles configurables.

Valeurs
Valeur par défaut de l'installation : connexions autorisées à partir de n'importe quelle adresse IP
Valeur suggérée pour la ligne de base : connexions autorisées uniquement à partir des postes de travail d'infrastructure et d'administration autorisés
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Le pare-feu est rudimentaire, comparable aux listes ACL de routeur. Vous devrez peut-être reconfigurer des règles réflexives.
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$list = $ESXcli.network.firewall.ruleset.list.Invoke() | Where {($_.AllowedIPconfigurable -eq $true) -and ($_.EnableDisableconfigurable -eq $true)} | Select -ExpandProperty Name

$arguments = $ESXcli.network.firewall.ruleset.allowedip.list.CreateArgs()
foreach ($rule in $list) {
    $arguments.rulesetid = $rule
    $ESXcli.network.firewall.ruleset.allowedip.list.Invoke($arguments) 
}
Exemple de correction de la commande PowerCLI
# Customize this example for your environment.
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
# Deactivate firewall temporarily so we don't lose connectivity
$arguments = $ESXcli.network.firewall.set.CreateArgs()
$arguments.enabled = $false
$ESXcli.network.firewall.set.Invoke($arguments)

# Unset the "allow all" flag
$arguments = $ESXcli.network.firewall.ruleset.set.CreateArgs()
$arguments.allowedall = $false
$arguments.rulesetid = "sshServer"
$ESXcli.network.firewall.ruleset.set.Invoke($arguments)

# Add an IP range
$arguments = $ESXcli.network.firewall.ruleset.allowedip.add.CreateArgs()
$arguments.ipaddress = "192.168.0.0/16"
$arguments.rulesetid = "sshServer"
$ESXcli.network.firewall.ruleset.allowedip.add.Invoke($arguments)

# Enable the firewall
$arguments = $ESXcli.network.firewall.set.CreateArgs()
$arguments.enabled = $true
$ESXcli.network.firewall.set.Invoke($arguments)

Définir la stratégie Fausses transmissions sur Rejeter

Définissez la stratégie Fausses transmissions sur Rejeter sur le commutateur standard vSphere et ses groupes de ports.

Si le système d'exploitation de la machine virtuelle modifie l'adresse MAC, le système d'exploitation peut envoyer des trames avec une adresse MAC source usurpée à tout moment. L'emprunt d'identité d'adresse MAC permet à un système d'exploitation d'organiser des attaques malveillantes sur les périphériques d'un réseau en empruntant l'identité d'un adaptateur réseau autorisé par le réseau récepteur. Lorsque l'option Fausses transmissions est définie sur Accepter, ESXi ne compare pas les adresses MAC source et effective. Pour se protéger d'un emprunt d'identité MAC, définissez l'option Fausses transmissions sur Rejeter. L'hôte compare alors l'adresse MAC source que transmet le système d'exploitation invité avec l'adresse MAC effective de son adaptateur de machine virtuelle pour une correspondance. Si elles ne correspondent pas, l'hôte ESXi abandonne le paquet.

Valeurs
Valeur par défaut de l'installation : Accepter
Valeur suggérée pour la ligne de base : Rejeter
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Certaines charges de travail, telles que les applications en cluster et les périphériques et fonctions réseau, s'appuient sur ces techniques comme partie intégrante de leur fonctionnement normal. Si nécessaire, vous pouvez configurer un groupe de ports distinct qui autorise ce comportement et y attacher uniquement des machines virtuelles autorisées.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VirtualSwitch -Standard | Get-SecurityPolicy | select VirtualSwitch,ForgedTransmits
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | Get-SecurityPolicy | select VirtualPortGroup,ForgedTransmits
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VirtualSwitch -Standard | Get-SecurityPolicy | Set-SecurityPolicy -ForgedTransmits $false 
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | Get-SecurityPolicy | Set-SecurityPolicy -ForgedTransmitsInherited $true

Définissez la stratégie Modifications d'adresse MAC sur Rejeter

Définissez la stratégie Modifications d'adresse MAC sur Rejeter sur le commutateur vSphere Standard et ses groupes de ports.

Si le système d'exploitation de la machine virtuelle modifie l'adresse MAC, il peut envoyer des trames avec une adresse MAC source usurpée, ce qui lui permet d'organiser des attaques malveillantes sur des périphériques d'un réseau en empruntant l'identité d'un adaptateur réseau autorisé par le réseau récepteur. Pour empêcher les machines virtuelles de modifier leur adresse MAC effective, des mesures doivent être prises pour appliquer la stabilité des adresses MAC ou limiter la possibilité de modifier des adresses MAC. Cela permet d'atténuer le risque d'emprunt d'identité MAC et d'activités malveillantes potentielles.

Valeurs
Valeur par défaut de l'installation : Accepter
Valeur suggérée pour la ligne de base : Rejeter
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Certaines charges de travail, telles que les applications en cluster, les périphériques et les fonctions réseau, les applications sous licence par adresse MAC et la mise à niveau à durée d'interruption de service réduite de vCenter Server, s'appuient sur ces techniques comme partie intégrante de leur fonctionnement normal. Si nécessaire, vous pouvez configurer un groupe de ports distinct qui autorise ce comportement et y attacher uniquement des machines virtuelles autorisées.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VirtualSwitch -Standard | Get-SecurityPolicy | select VirtualSwitch,MacChanges
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | Get-SecurityPolicy | select VirtualPortGroup,MacChanges
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VirtualSwitch -Standard | Get-SecurityPolicy | Set-SecurityPolicy -MacChanges $false
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | Get-SecurityPolicy | Set-SecurityPolicy -MacChangesInherited $true

Définir la stratégie du mode Promiscuité sur Rejeter

Définissez la stratégie du mode Promiscuité sur Rejeter sur le commutateur standard vSphere et ses groupes de ports.

Lorsque le mode Promiscuité est activé pour un groupe de ports, toutes les machines virtuelles connectées à ce groupe de ports ont la possibilité de lire tous les paquets transmis sur ce groupe de ports, quel que soit le destinataire prévu. Tenez compte de l'incidence potentielle et des éléments à prendre en compte pour la conception avant de modifier la valeur par défaut du mode Promiscuité.

Valeurs
Valeur par défaut de l'installation : Rejeter
Valeur suggérée pour la ligne de base : Rejeter
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Certaines charges de travail et certains types de travail, tels que les serveurs DHCP, les périphériques réseau et la surveillance de la sécurité, intègrent ces techniques comme partie intégrante de leur fonctionnement. Si nécessaire, vous pouvez configurer un groupe de ports distinct qui autorise ce comportement et y attacher uniquement des machines virtuelles autorisées.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VirtualSwitch -Standard | Get-SecurityPolicy | select VirtualSwitch,AllowPromiscuous
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | Get-SecurityPolicy | select VirtualPortGroup,AllowPromiscuous
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VirtualSwitch -Standard | Get-SecurityPolicy | Set-SecurityPolicy -AllowPromiscuous $false
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | Get-SecurityPolicy | Set-SecurityPolicy -AllowPromiscuousInherited $true

Restreindre le balisage d'invité virtuel sur des commutateurs standard

L'hôte ESXi doit limiter l'utilisation du balisage d'invité virtuel (VGT) sur les commutateurs standard.

Lorsqu'un groupe de ports est défini sur VLAN 4095, le vSwitch transmet toutes les trames réseau aux machines virtuelles attachées sans modifier les balises VLAN. Dans vSphere, il s'agit de VGT. La machine virtuelle doit traiter les informations VLAN elle-même à l'aide d'un pilote 802.1Q dans le système d'exploitation.

VLAN 4095 ne doit être mis en œuvre que si les machines virtuelles attachées ont été spécifiquement autorisées et sont capables de gérer elles-mêmes les balises VLAN. Si VLAN 4095 est activé de manière inappropriée, il peut entraîner un déni de service ou autoriser une machine virtuelle à interagir avec le trafic sur un VLAN non autorisé.

Valeurs
Valeur par défaut de l'installation : pas VLAN 4095
Valeur suggérée pour la ligne de base : pas VLAN 4095
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard | select Name,VlanID
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VirtualPortGroup -Standard -Name $PG| Set-VirtualPortGroup -VlanID "new_VLAN"

Activer l'application du démarrage sécurisé

Le démarrage sécurisé est une fonctionnalité standard du microprogramme UEFI. Lorsque le démarrage sécurisé UEFI est activé, si le chargeur de démarrage du système d'exploitation ne possède pas de signature numérique valide, l'hôte ESXi refuse de charger un pilote ou une application UEFI. Le démarrage sécurisé pour ESXi nécessite la prise en charge du microprogramme. Le démarrage sécurisé pour ESXi nécessite également que tous les modules de noyau ESXi, les pilotes et les VIB soient signés par VMware ou un partenaire subordonné.

Le démarrage sécurisé est activé dans le BIOS du serveur physique ESXi et pris en charge par le chargeur de démarrage de l'hyperviseur. Ce contrôle bascule ESXi de la simple prise en charge du démarrage sécurisé à l'exigence de celui-ci. Sans ce paramètre activé et sans chiffrement de la configuration, un hôte ESXi peut faire l'objet d'attaques hors ligne. Un pirate est susceptible de transférer simplement le lecteur d'installation d'ESXi à un hôte ne disposant pas d'un démarrage sécurisé, puis de démarrer.

Valeurs
Valeur par défaut de l'installation : False
Valeur suggérée pour la ligne de base : True
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
L'utilisation du démarrage sécurisé et du chiffrement de configuration appliqué par TPM rend les efforts de récupération de mot de passe racine traditionnels inutilisables. Assurez-vous de ne pas perdre l'accès aux comptes d'administrateur ESXi.
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.settings.encryption.get.Invoke() | Select RequireSecureBoot
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.settings.encryption.set.CreateArgs()
$arguments.requiresecureboot = $true
$ESXcli.system.settings.encryption.set.Invoke($arguments)

Désactiver le ESXi Shell

Le ESXi Shell doit être désactivé.

Valeurs
Valeur par défaut de l'installation : Arrêté, Démarrer et arrêter manuellement
Valeur suggérée pour la ligne de base : Arrêté, Démarrer et arrêter manuellement
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'TSM' -and $_.Running -eq 'True'}
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'TSM' -and $_.Policy -eq 'On'}
Exemple de correction de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'TSM'} | Set-VMHostService -Policy Off
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'TSM'} | Stop-VMHostService

UserVars.ESXiShellInteractiveTimeOut

Définit un délai d'expiration pour mettre fin automatiquement aux sessions ESXi Shell et SSH inactives.

Si les utilisateurs oublient de se déconnecter de leur session SSH, la connexion inactive reste ouverte indéfiniment, ce qui augmente le risque que d'autres utilisateurs obtiennent un accès privilégié à l'hôte. Vous pouvez configurer des sessions shell inactives pour qu'elles se terminent automatiquement.

Valeurs
Valeur par défaut de l'installation : 0
Valeur suggérée pour la ligne de base : 900
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiShellInteractiveTimeOut
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiShellInteractiveTimeOut | Set-AdvancedSetting -Value 900

Désactiver le service SNMP

Désactivez le service SNMP si vous ne l'utilisez pas.

Valeurs
Valeur par défaut de l'installation : Arrêté, Démarrer et arrêter avec l'hôte
Valeur suggérée pour la ligne de base : Arrêté, Démarrer et arrêter manuellement
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'snmpd' -and $_.Running -eq 'True'}
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'snmpd' -and $_.Policy -eq 'On'}
Exemple de correction de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'snmpd'} | Set-VMHostService -Policy Off
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'snmpd'} | Stop-VMHostService

Désactiver le service SSH

Désactivez SSH et activez-le uniquement à des fins de dépannage.

ESXi n'est pas un système d'exploitation multi-utilisateurs de type UNIX. ESXi est un hyperviseur conçu pour être géré par VMware Host Client, vSphere Client, les CLI et les API. Sur ESXi, SSH est une interface de dépannage et de support, qui est intentionnellement arrêtée et désactivée par défaut. L'activation de l'interface comporte des risques.

Valeurs
Valeur par défaut de l'installation : Arrêté, Démarrer et arrêter manuellement
Valeur suggérée pour la ligne de base : Arrêté, Démarrer et arrêter manuellement
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'TSM-SSH' -and $_.Running -eq 'True'}
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'TSM-SSH' -and $_.Policy -eq 'On'}
Exemple de correction de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'TSM-SSH'} | Set-VMHostService -Policy Off
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'TSM-SSH'} | Stop-VMHostService

Utiliser l'entropie pour les opérations de chiffrement

L'hôte ESXi doit utiliser suffisamment d'entropie pour les opérations de chiffrement.

Dans vSphere 8.0 et versions ultérieures, l'implémentation de l'entropie ESXi prend en charge les certifications FIPS 140-3 et EAL4. Les options de démarrage du noyau contrôlent les sources d'entropie à activer sur un hôte ESXi.

Valeurs
Valeur par défaut de l'installation :

disableHwrng = FALSE

entropySources = 0

Valeur suggérée pour la ligne de base :

disableHwrng = FALSE

entropySources = 0

Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.settings.kernel.list.Invoke() | Where {$_.Name -eq "disableHwrng" -or $_.Name -eq "entropySources"}
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.settings.kernel.set.CreateArgs()
$arguments.setting = "disableHwrng"
$arguments.value = "FALSE"
$ESXcli.system.settings.kernel.set.invoke($arguments)
$arguments.setting = "entropySources"
$arguments.value = "0"
$ESXcli.system.settings.kernel.set.invoke($arguments)

Vérifier le profil d'image et les niveaux d'acceptation du VIB

Le niveau d'acceptation du profil d'image d'hôte ESXi doit être PartnerSupported ou supérieur.

Le niveau d'acceptation contrôle ce qu'ESXi permet d'installer. Reportez-vous à la section Gérer les niveaux d'acceptation des hôtes ESXi et des bundles d'installation vSphere pour connaître les niveaux de VIB.

VMware et ses partenaires ne testent pas les VIB CommunitySupported, et les VIB CommunitySupported ne contiennent pas de signature numérique. Pour ces raisons, soyez prudent lors de l'installation des VIB CommunitySupported.

Valeurs
Valeur par défaut de l'installation : PartnerSupported
Valeur suggérée pour la ligne de base : PartnerSupported ou supérieur
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Les modules CommunitySupported ne sont pas signés et ne peuvent pas être installés.
Évaluation de la commande PowerCLI
(Get-EsxCli -VMHost $ESXi -V2).software.acceptance.get.Invoke()
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.software.acceptance.set.CreateArgs()
$arguments.level = "PartnerSupported" # VMwareCertified, VMwareAccepted, PartnerSupported, CommunitySupported
$ESXcli.software.acceptance.set.Invoke($arguments)

Security.AccountUnlockTime

L'hôte ESXi doit déverrouiller les comptes après un délai d'expiration spécifié.

Security.AccountUnlockTime s'assure que les comptes d'utilisateurs sur l'hôte ESXi sont automatiquement déverrouillés après une période d'inactivité définie. En appliquant le déverrouillage automatique des comptes, les organisations peuvent maintenir un équilibre entre la sécurité et la convivialité, en s'assurant que les comptes inactifs sont réactivés rapidement, tout en minimisant le risque d'accès non autorisé.

Valeurs
Valeur par défaut de l'installation : 900 secondes
Valeur suggérée pour la ligne de base : 900 secondes
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.AccountUnlockTime
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.AccountUnlockTime | Set-AdvancedSetting -Value 900

Security.AccountLockFailures

Définit le nombre maximal de tentatives de connexion infructueuses avant que le compte ne soit verrouillé.

Protège contre les attaques de force brute et les tentatives d'accès non autorisé en désactivant temporairement le compte concerné, empêchant ainsi toute tentative de connexion jusqu'à l'expiration de la période de verrouillage ou la réinitialisation manuelle par un administrateur. Le déverrouillage d'un compte verrouillé nécessite une action administrative ou une attente de déverrouillage automatique du compte si le paramètre Security.AccountUnlockTime est utilisé.

Valeurs
Valeur par défaut de l'installation : 5
Valeur suggérée pour la ligne de base : 5
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Un seuil bas pour les échecs de connexion peut éventuellement augmenter les attaques de déni de service, intentionnelles ou non, telles que les nouvelles tentatives de connexion SSH.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.AccountLockFailures
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.AccountLockFailures | Set-AdvancedSetting -Value 5

Security.PasswordHistory

N'autorise pas la réutilisation du mot de passe.

Ce paramètre empêche la réutilisation des mots de passe précédents, réduisant ainsi les violations potentielles d'anciennes informations d'identification compromises.

Valeurs
Valeur par défaut de l'installation : 5
Valeur suggérée pour la ligne de base : 5
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.PasswordHistory
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.PasswordHistory | Set-AdvancedSetting -Value 5

Security.PasswordMaxDays

Définit le nombre maximal de jours entre les modifications du mot de passe.

Les meilleures pratiques modernes en matière de mots de passe, telles que décrites dans la section 5.1.1.2 du NIST 800-63B et d'autres instructions pertinentes, indiquent que l'application de modifications périodiques des mots de passe n'améliore pas la sécurité lorsque les mots de passe possèdent déjà une entropie adéquate.

Valeurs
Valeur par défaut de l'installation : 99999
Valeur suggérée pour la ligne de base : 99999
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.PasswordMaxDays
Commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.PasswordMaxDays | Set-AdvancedSetting -Value 99999

Security.PasswordQualityControl

Applique la complexité du mot de passe.

Des recommandations telles que la section 5.1.1.2 du NIST 800-63B suggèrent que les règles de composition, par exemple l'interdiction de mélanges de classes de caractères, ne devraient pas être appliquées aux systèmes, car elles échouent souvent à améliorer la sécurité des mots de passe et découragent l'adoption de phrases secrètes plus sécurisées.

Les règles de robustesse et de sécurité du mot de passe s'appliquent à tous les utilisateurs ESXi, y compris l'utilisateur racine. Cependant, lorsque l'hôte ESXi est joint à un domaine, ces règles ne s'appliquent pas aux utilisateurs Active Directory (AD), car les stratégies de mot de passe des utilisateurs AD sont appliquées par le système AD.

Valeurs
Valeur par défaut de l'installation : retry=3 min=disabled,disabled,disabled,7,7
Valeur suggérée pour la ligne de base : retry=3 min=disabled,15,15,15,15 max=64 similar=deny passphrase=3
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
D'autres produits et services au sein de l'écosystème VMware peuvent ne pas s'attendre à des modifications des exigences de complexité des mots de passe et leur installation peut échouer.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.PasswordQualityControl
Commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Security.PasswordQualityControl | Set-AdvancedSetting -Value "retry=3 min=disabled,15,15,15,15 max=64 similar=deny passphrase=3"

UserVars.SuppressHyperthreadWarning

Supprime l'avertissement en cas de vulnérabilité de sécurité d'hyperthreading potentielle.

Les avertissements de sécurité d'hyperthreading correspondent à des vulnérabilités de CPU non corrigées dans le système. La non-prise en compte de ces avertissements est susceptible de masquer les risques. Assurez-vous que les corrections matérielles correspondent aux risques acceptés de votre organisation. Lorsque vous supprimez un avertissement, documentez la décision et la justification.

Valeurs
Valeur par défaut de l'installation : 0
Valeur suggérée pour la ligne de base : 0
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.SuppressHyperthreadWarning
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.SuppressHyperthreadWarning | Set-AdvancedSetting -Value 0

UserVars.DcuiTimeOut

Définit un délai d'expiration pour mettre fin automatiquement aux sessions DCUI inactives.

DCUI permet une connexion directe à l'hôte ESXi pour les tâches de gestion. Pour empêcher une utilisation accidentelle de DCUI à partir de sessions de connexion restantes, arrêtez les connexions inactives.

Valeurs
Valeur par défaut de l'installation : 600
Valeur suggérée pour la ligne de base : 600
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.DcuiTimeOut
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.DcuiTimeOut | Set-AdvancedSetting -Value 600

Désactiver le service CIM

Le service CIM ESXi doit être désactivé.

Les services qui ne sont pas en cours d'utilisation et qui ne sont pas essentiels pour les opérations doivent être désactivés.

Valeurs
Valeur par défaut de l'installation : Arrêté, Démarrer et arrêter avec l'hôte
Valeur suggérée pour la ligne de base : Arrêté, Démarrer et arrêter manuellement
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'sfcbd-watchdog' -and $_.Running -eq 'True'}
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'sfcbd-watchdog' -and $_.Policy -eq 'On'}
Exemple de correction de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'sfcbd-watchdog'} | Set-VMHostService -Policy Off
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'sfcbd-watchdog'} | Stop-VMHostService

Config.HostAgent.log.level

Définit le niveau d'information de journalisation.

Lorsque vous définissez le niveau de journalisation, assurez-vous que suffisamment d'informations sont présentes dans les journaux d'audit pour effectuer des diagnostics et des analyses.

Valeurs
Valeur par défaut de l'installation : Info
Valeur suggérée pour la ligne de base : Info
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
L'espace de stockage supplémentaire est consommé par les journaux.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.HostAgent.log.level
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.HostAgent.log.level | Set-AdvancedSetting -Value info

Syslog.global.logLevel

Journalise suffisamment d'informations pour les événements.

En l'absence de données de journalisation suffisantes, les indicateurs critiques de compromission peuvent passer inaperçus, ce qui augmente la vulnérabilité et risque de ne pas répondre de manière efficace aux incidents de cybersécurité.

Valeurs
Valeur par défaut de l'installation : Erreur
Valeur suggérée pour la ligne de base : Info
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
L'espace de stockage supplémentaire est consommé par les journaux.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logLevel
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Syslog.global.logLevel | Set-AdvancedSetting -Value info

Config.HostAgent.plugins.solo.enableMob

Désactive le navigateur d'objets gérés (MOB, Managed Object Browser).

Les services qui ne sont pas en cours d'utilisation et qui ne sont pas essentiels pour les opérations doivent être désactivés.

Valeurs
Valeur par défaut de l'installation : False
Valeur suggérée pour la ligne de base : False
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.HostAgent.plugins.solo.enableMob
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Config.HostAgent.plugins.solo.enableMob | Set-AdvancedSetting -Value False

Net.BlockGuestBPDU

Bloque les transmissions BPDU (Bridge Protocol Data Unit) du système d'exploitation invité.

Les BPDU sont utilisées pour transmettre des informations STP (Spanning Tree Protocol) et détecter des boucles réseau. BPDU Guard et Portfast sont généralement activés sur le commutateur physique directement connecté à l'hôte ESXi afin de réduire le délai de convergence de l'arborescence de répartition.

Cependant, si un paquet BPDU est envoyé à partir d'une machine virtuelle sur l'hôte ESXi vers le commutateur physique configuré, cela peut entraîner un verrouillage en cascade de toutes les interfaces de liaison montante à partir de l'hôte ESXi. Pour empêcher ce type de verrouillage, vous pouvez activer le filtre BPDU sur l'hôte ESXi, afin d'abandonner tous les paquets BPDU envoyés au commutateur physique.

Les commutateurs virtuels standard et distribués ne prennent pas en charge STP et ne génèrent pas de BPPU.

Valeurs
Valeur par défaut de l'installation : 1
Valeur suggérée pour la ligne de base : 1
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Certaines charges de travail orientées réseau peuvent générer légitimement des paquets BPDU. Vérifiez qu'aucun paquet BPDU légitime n'est généré par les machines virtuelles sur l'hôte ESXi avant d'activer le filtre BPDU. Si le filtre BPDU est activé dans cette situation, l'activation de l'option Rejeter les fausses transmissions sur le groupe de ports du commutateur virtuel ajoute une protection contre les boucles d'arborescence.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Net.BlockGuestBPDU
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Net.BlockGuestBPDU | Set-AdvancedSetting -Value 1

Net.DVFilterBindIpAddress

Limite l'utilisation des API réseau dvFilter.

Si vous n'utilisez pas un produit tel que VMware NSX, qui utilise l'API réseau dvFilter, ne configurez pas l'hôte ESXi pour envoyer des informations réseau à une adresse IP. L'activation de l'API et le référencement d'une adresse IP qui est compromise risquent de fournir un accès non autorisé au réseau d'autres machines virtuelles sur l'hôte ESXi.

Si vous utilisez un produit qui repose sur cette API, il est important de vérifier que l'hôte ESXi a été configuré correctement pour garantir une communication réseau sécurisée.

Valeurs
Valeur par défaut de l'installation : «»
Valeur suggérée pour la ligne de base : «»
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Net.DVFilterBindIpAddress
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Net.DVFilterBindIpAddress | Set-AdvancedSetting -Value ""

UserVars.ESXiShellTimeOut

Définissez un délai d'expiration pour limiter la durée pendant laquelle ESXi Shell et les services SSH sont autorisés à s'exécuter.

Ce paramètre système avancé définit une période après laquelle les services ESXi Shell et SSH sont automatiquement arrêtés.

Valeurs
Valeur par défaut de l'installation : 0
Valeur suggérée pour la ligne de base : 600
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiShellTimeOut
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.ESXiShellTimeOut | Set-AdvancedSetting -Value 600

UserVars.SuppressShellWarning

Supprime l'avertissement pour les interfaces de support et de dépannage.

L'hôte ESXi ne doit pas supprimer les avertissements indiquant que le ESXi Shell est activé.

Les avertissements indiquant que SSH ou le ESXi Shell est activé peuvent être des indices qu'une attaque est en cours. Il est important de s'assurer que SSH et le ESXi Shell sont désactivés et que ce paramètre système avancé n'est pas activé.

Valeurs
Valeur par défaut de l'installation : 0
Valeur suggérée pour la ligne de base : 0
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.SuppressShellWarning
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.SuppressShellWarning | Set-AdvancedSetting -Value 0

Configurer le démon ESXi Secure Shell pour FIPS

Le démon Secure Shell (SSH) de l'hôte ESXi doit être configuré pour utiliser uniquement les chiffrements validés FIPS 140-2/140-3. Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés.

Valeurs
Valeur par défaut de l'installation : [email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
Valeur suggérée pour la ligne de base : [email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'ciphers'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'ciphers'
$arguments.value = '[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon SSH ESXi pour FIPS

Le démon SSH de l'hôte ESXi doit utiliser les modules cryptographiques validés FIPS 140-2/140-3.

OpenSSH sur l'hôte ESXi est fourni avec un module de chiffrement validé FIPS 140-2/140-3, activé par défaut. Pour des raisons de compatibilité descendante, vous pouvez désactiver ce module. Vérifiez et corrigez si nécessaire.

Valeurs
Valeur par défaut de l'installation : True
Valeur suggérée pour la ligne de base : True
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.security.fips140.ssh.get.Invoke()
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.security.fips140.ssh.set.CreateArgs()
$arguments.enable = $true
$ESXcli.system.security.fips140.ssh.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour ne pas autoriser les ports de passerelle

Le démon Secure Shell (SSH) de l'hôte ESXi doit être configuré pour ne pas autoriser les ports de passerelle.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés.

Valeurs
Valeur par défaut de l'installation : Non
Valeur suggérée pour la ligne de base : Non
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'gatewayports'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'gatewayports'
$arguments.value = 'no'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour ne pas utiliser l'authentification basée sur l'hôte

Le démon Secure Shell (SSH) de l'hôte ESXi ne doit pas autoriser l'authentification basée sur l'hôte.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés.

Valeurs
Valeur par défaut de l'installation : Non
Valeur suggérée pour la ligne de base : Non
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'hostbasedauthentication'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'hostbasedauthentication'
$arguments.value = 'no'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour définir un nombre de délais d'expiration

Le démon Secure Shell (SSH) de l'hôte ESXi doit définir un délai d'expiration pour les sessions inactives.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés. Le nombre de délais d'expiration, multiplié par l'intervalle de délai d'inactivité, correspond au nombre total de secondes pendant lesquelles la session peut être inactive jusqu'à ce qu'elle soit déconnectée.

Valeurs
Valeur par défaut de l'installation : 3
Valeur suggérée pour la ligne de base : 3
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'clientalivecountmax'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'clientalivecountmax'
$arguments.value = '3'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour définir un intervalle de délai d'expiration

Le démon Secure Shell (SSH) de l'hôte ESXi doit définir un délai d'expiration pour les sessions inactives.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés. Le nombre de délais d'expiration, multiplié par l'intervalle de délai d'inactivité, correspond au nombre total de secondes pendant lesquelles la session peut être inactive jusqu'à ce qu'elle soit déconnectée.

Valeurs
Valeur par défaut de l'installation : 200
Valeur suggérée pour la ligne de base : 200
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'clientaliveinterval'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'clientaliveinterval'
$arguments.value = '200'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour afficher une bannière de connexion

Le démon Secure Shell (SSH) de l'hôte ESXi doit afficher la bannière de connexion du système avant d'accorder l'accès au système.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés. Vous devez également définir le paramètre Config.Etc.issue pour fournir du texte à cette bannière.

Valeurs
Valeur par défaut de l'installation : /etc/issue
Valeur suggérée pour la ligne de base : /etc/issue
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'banner'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'banner'
$arguments.value = '/etc/issue'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour ignorer les fichiers .rhosts

Le démon Secure Shell (SSH) de l'hôte ESXi doit ignorer les fichiers .rhosts.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés.

Valeurs
Valeur par défaut de l'installation : Oui
Valeur suggérée pour la ligne de base : Oui
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'ignorerhosts'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'ignorerhosts'
$arguments.value = 'yes'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour désactiver le transfert local de flux

Le démon Secure Shell (SSH) de l'hôte ESXi doit désactiver le transfert local de flux.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés.

Valeurs
Valeur par défaut de l'installation : Non
Valeur suggérée pour la ligne de base : Non
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'allowstreamlocalforwarding'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'allowstreamlocalforwarding'
$arguments.value = 'no'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour désactiver le transfert TCP

Le démon Secure Shell (SSH) de l'hôte ESXi doit désactiver le transfert TCP.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés.

Valeurs
Valeur par défaut de l'installation : Non
Valeur suggérée pour la ligne de base : Non
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'allowtcpforwarding'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'allowtcpforwarding'
$arguments.value = 'no'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour ne pas autoriser les tunnels

Le démon Secure Shell (SSH) de l'hôte ESXi ne doit pas autoriser les tunnels.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés.

Valeurs
Valeur par défaut de l'installation : Non
Valeur suggérée pour la ligne de base : Non
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'permittunnel'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'permittunnel'
$arguments.value = 'no'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Configurer le démon Secure Shell ESXi pour ne pas autoriser les paramètres d'environnement utilisateur

Le démon Secure Shell (SSH) de l'hôte ESXi ne doit pas autoriser les paramètres d'environnement utilisateur.

Vous devez renforcer et sécuriser les services système lorsqu'ils sont activés.

Valeurs
Valeur par défaut de l'installation : Non
Valeur suggérée pour la ligne de base : Non
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.ssh.server.config.list.invoke() | Where-Object {$_.Key -eq 'permituserenvironment'} | Select-Object -ExpandProperty Value
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.ssh.server.config.set.CreateArgs()
$arguments.keyword = 'permituserenvironment'
$arguments.value = 'no'
$ESXcli.system.ssh.server.config.set.Invoke($arguments)

Désactiver le service de protocole de localisation du service

Désactivez le service SLP (Service Location Protocol) si vous ne l'utilisez pas.

Valeurs
Valeur par défaut de l'installation : Arrêté, Démarrer et arrêter manuellement
Valeur suggérée pour la ligne de base : Arrêté, Démarrer et arrêter manuellement
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'slpd' -and $_.Running -eq 'True'}
Get-VMHostService -VMHost $ESXi | Where-Object {$_.Key -eq 'slpd' -and $_.Policy -eq 'On'}
Exemple de correction de la commande PowerCLI
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'slpd'} | Set-VMHostService -Policy Off
Get-VMHostService -VMHost $ESXi | where {$_.Key -eq 'slpd'} | Stop-VMHostService

Mem.ShareForceSalting

Limite le partage de page transparente aux machines virtuelles configurées avec sched.mem.pshare.salt.

Le partage de page transparente (TPS) est une méthode pour réduire l'encombrement de la mémoire des machines virtuelles. Dans des conditions hautement contrôlées, les pirates peuvent utiliser TPS pour obtenir un accès non autorisé aux données sur les machines virtuelles voisines. Les machines virtuelles pour lesquelles le paramètre sched.mem.pshare.salt n'est pas configuré ne peuvent pas partager de mémoire avec d'autres machines virtuelles. Les pages de grande taille, une optimisation des performances dans l'hyperviseur sur de nombreux CPU modernes, sont incompatibles avec TPS.

Valeurs
Valeur par défaut de l'installation : 2
Valeur suggérée pour la ligne de base : 2
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Mem.ShareForceSalting
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Mem.ShareForceSalting | Set-AdvancedSetting -Value 2

UserVars.HostClientSessionTimeout

Définit un délai d'expiration pour mettre automatiquement fin aux sessions du client de l'hôte ESXi inactives.

L'hôte ESXi doit automatiquement mettre fin aux sessions du client d'hôte inactives. Cette pratique permet d'atténuer les risques de sécurité potentiels, en veillant à ce que les sessions sans surveillance, qui pourraient être exploitées par des utilisateurs non autorisés ou des logiciels malveillants, ne soient pas laissées ouvertes indéfiniment.

Valeurs
Valeur par défaut de l'installation : 900
Valeur suggérée pour la ligne de base : 900
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.HostClientSessionTimeout
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting UserVars.HostClientSessionTimeout | Set-AdvancedSetting -Value 900

Net.BMCNetworkEnable

Désactive les interfaces réseau de gestion du matériel virtuel.

Les contrôleurs de gestion matérielle présentent souvent des cartes réseau virtuelles ou USB à l'hôte ESXi. Elles peuvent être utilisées comme portes dérobées et doivent être désactivées dans la configuration matérielle et dans la configuration d'ESXi.

Valeurs
Valeur par défaut de l'installation : 1
Valeur suggérée pour la ligne de base : 0
Action nécessaire
Modifiez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Cette fonctionnalité peut être requise par certaines solutions gérées tierces.
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Net.BMCNetworkEnable
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-AdvancedSetting Net.BMCNetworkEnable | Set-AdvancedSetting -Value 0

Activer l'authentification bidirectionnelle/CHAP mutuel pour le trafic iSCSI

Définissez l'authentification de l'adaptateur de stockage iSCSI sur « Utiliser un CHAP bidirectionnel » et fournissez les informations d'identification.

CHAP mutuel fournit une couche supplémentaire de protection en exigeant de l'initiateur (client) et de la cible (serveur) qu'ils vérifient leurs identités mutuellement, garantissant ainsi que les données transmises entre les deux ne sont pas interceptées ou altérées par des entités non autorisées.

Valeurs
Valeur par défaut de l'installation : non configurée
Valeur suggérée pour la ligne de base : activé
Action nécessaire
Modifiez la valeur par défaut de l'installation si vous utilisez cette fonctionnalité.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
Aucun
Évaluation de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VMHostHba | Where {$_.Type -eq "Iscsi"} | Select VMHost, Device, ChapType, @{N="CHAPName";E={$_.AuthenticationProperties.ChapName}}
Exemple de correction de la commande PowerCLI
Get-VMHost -Name $ESXi | Get-VMHostHba | Where {$_.Type -eq "Iscsi"} | Set-VMHostHba parameters

Pour plus d'informations sur les paramètres, reportez-vous à la section Référence d'ESXCLI.

Ne pas stocker les clés de chiffrement sur les hôtes ESXi sans sécuriser l'accès physique

L'hôte ESXi ne doit pas stocker les clés de chiffrement sur l'hôte ESXi lui-même sans sécuriser l'accès physique à l'hôte.

La persistance de clé est un mécanisme qui utilise un module de plate-forme sécurisée (TPM) local pour stocker des clés de fournisseur de clés standard, que l'on trouve généralement uniquement dans un système de gestion des clés (KMS) externe. Bien que cette configuration puisse améliorer la gestion des dépendances, l'utilisation de la persistance de clé modifie les risques de chiffrement. Si un pirate vole l'hôte, il a accès aux clés de chiffrement pour les données sur cet hôte, en contournant les contrôles d'accès du KMS externe. Par conséquent, utilisez uniquement la persistance de clé lorsque vous pouvez assurer la sécurité physique de vos hôtes. Si les hôtes physiques ne sont pas sécurisés et qu'un pirate peut voler l'hôte, il a également les moyens d'accéder aux charges de travail chiffrées et de les utiliser.

La persistance des clés et vSphere Native Key Provider sont souvent confondus, car ils stockent tous les deux des données de chiffrement sur les hôtes. Toutefois, vSphere Native Key Provider n'utilise pas la persistance de clé. Par conséquent, la désactivation de la persistance de clé ne l'affecte pas. Tout comme la persistance de clé, vSphere Native Key Provider nécessite également de bien réfléchir à la sécurité physique. Reportez-vous à la section Référence des contrôles de sécurité de la conception du système vSphere.

Valeurs
Valeur par défaut de l'installation : False
Valeur suggérée pour la ligne de base : False
Action nécessaire
Contrôlez la valeur par défaut de l'installation.
Incidence fonctionnelle potentielle si la valeur par défaut est modifiée
La valeur par défaut est le comportement souhaité. Une modification de la valeur par défaut peut avoir une incidence négative sur la confidentialité dans les environnements pour lesquels l'accès physique par des pirates est possible.
Évaluation de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$ESXcli.system.security.keypersistence.get.invoke() | Select-Object -ExpandProperty Enabled
Exemple de correction de la commande PowerCLI
$ESXcli = Get-EsxCli -VMHost $ESXi -V2
$arguments = $ESXcli.system.security.keypersistence.disable.CreateArgs()
$arguments.removeallstoredkeys = $true
$ESXcli.system.security.keypersistence.disable.Invoke($arguments)