Les fichiers journaux constituent un élément important dans le dépannage des attaques et l'obtention d'informations relatives aux failles. Tous les hôtes ESXi exécutent un service syslog, qui consigne les messages de VMkernel et d'autres composants système vers des fichiers locaux ou vers un hôte distant.

Pour renforcer la sécurité de l'hôte, procédez comme suit.
  • Configurez la journalisation permanente d'une banque de données. Les journaux des hôtes ESXi sont stockés par défaut dans le système de fichiers en mémoire. Par conséquent, ils sont perdus lorsque vous redémarrez l'hôte et seules 24 heures de données de journalisation sont stockées. Lorsque vous activez la journalisation permanente, vous obtenez un enregistrement dédié de l'activité de l'hôte.
  • La connexion à distance à un hôte central vous permet de rassembler les fichiers journaux sur celui-ci. À partir de cet hôte, vous pouvez surveiller tous les hôtes à l'aide d'un outil unique, effectuer une analyse regroupée et rechercher des données dans les journaux. Cette approche facilite la surveillance et révèle des informations sur les attaques coordonnées sur plusieurs hôtes.
  • Configurez le protocole syslog sécurisé à distance sur les hôtes ESXi en utilisant une interface de ligne de commande comme ESXCLI ou PowerCLI ou une API de client.
  • Effectuez une requête dans la configuration syslog pour vous assurer que le serveur et le port syslog sont valides.

Pour des informations sur la configuration du protocole syslog, reportez à la documentation Surveillance et performances de vSphere sur les fichiers journaux ESXi.

Configurer Syslog sur des hôtes ESXi

Vous pouvez utiliser vSphere Client, VMware Host Client ou la commande esxcli system syslog pour configurer le service syslog.

Pour plus d'informations sur l'utilisation de la commande esxcli system syslog et des autres commandes ESXCLI, consultez Démarrage avec ESXCLI. Pour plus d'informations sur l'ouverture du pare-feu VMware ESXi pour le port spécifié dans chaque spécification d'hôte distant, reportez-vous à la section Configuration du pare-feu ESXi .

Procédure

  1. Accédez à l'hôte dans l'inventaire de vSphere Client.
  2. Cliquez sur Configurer.
  3. Sous Système, cliquez sur Paramètres système avancés.
  4. Cliquez sur Modifier.
  5. Filtre pour syslog.
  6. Pour configurer la journalisation de manière globale et configurer divers paramètres avancés, reportez-vous à la section Options Syslog d'ESXi.
  7. (Facultatif) Pour remplacer la taille et la rotation des journaux par défaut d'un journal quelconque :
    1. Cliquez sur le nom du journal que vous souhaitez personnaliser.
    2. Entrez le nombre de rotations et la taille de journal souhaités.
  8. Cliquez sur OK.

Résultats

Les modifications apportées aux options Syslog prennent effet.
Note : Les paramètres Syslog que vous définissez à l'aide de vSphere Client ou de VMware Host Client sont appliqués immédiatement. Cependant, la plupart des paramètres que vous définissez à l'aide d'ESXCLI nécessitent une commande supplémentaire pour prendre effet. Pour plus de détails, reportez-vous à la section Options Syslog d'ESXi.

Options Syslog d'ESXi

Vous pouvez définir le comportement des fichiers et transmissions Syslog d'ESXi à l'aide d'un ensemble d'options Syslog.

Outre les paramètres de base, tels que Syslog.global.logHost, à partir de ESXi 7.0 Update 1, une liste d'options avancées est disponible pour les personnalisations et la conformité NIAP.

Note : Configurez toujours le stockage persistant avant de définir les paramètres d'enregistrement d'audit ou le paramètre Syslog.global.logDir.
Note : Tous les paramètres d'enregistrement d'audit, en commençant par Syslog.global.auditRecord, prennent effet immédiatement. Pour les autres paramètres que vous définissez à l'aide d'ESXCLI, assurez-vous d'exécuter la commande esxcli system syslog reload pour activer les modifications.
Tableau 1. Options Syslog héritées
Option commande ESXCLI Description
Syslog.global.logHost

esxcli system syslog config set --loghost=<str>

Définit une liste délimitée par des virgules d'hôtes distants et des spécifications pour les transmissions de messages. Si le champ loghost=<str> est vide, aucun journal n'est transféré. Bien qu'il n'existe aucune limite stricte du nombre d'hôtes distants pouvant recevoir des messages Syslog, il est recommandé de conserver le nombre d'hôtes distants à cinq ou moins. Le format d'une spécification d'hôte distant est : protocol://hostname|ipv4|'['ipv6']'[:port]. Le protocole doit être TCP, UDP ou SSL. La valeur d'un port peut être n'importe quel nombre décimal compris entre 1 et 65535. Si aucun port n'est fourni, SSL et TCP utilisent le port 1514. UDP utilise le port 514. Par exemple : ssl://hostName1:1514.
Syslog.global.defaultRotate esxcli system syslog config set --default-rotate=<long> Nombre maximal d'anciens fichiers journaux à conserver. Vous pouvez définir ce nombre de façon globale et pour les sous-unités d'enregistrement automatique (voir Syslog.global.defaultSize).
Syslog.global.defaultSize esxcli system syslog config set --default-size=<long> Taille par défaut des fichiers journaux en Kio. Lorsqu'un fichier atteint la taille par défaut, le service Syslog crée un fichier. Vous pouvez définir ce nombre de façon globale et pour les sous-unités d'enregistrement automatique.
Syslog.global.logDir esxcli system syslog config set --logdir=<str> Répertoire dans lequel résident les journaux. Le répertoire peut se trouver sur des volumes NFS ou VMFS montés. Seul le répertoire /scratch situé sur le système de fichiers local subsiste après des redémarrages. Spécifiez le répertoire sous la forme [nom_banque_de_données]chemin_du_fichier, le chemin étant relatif à la racine du volume qui assure la sauvegarde de la banque de données. Par exemple, le chemin [storage1] /systemlogs crée un mappage vers le chemin / vmfs/volumes/storage1/systemlogs.
Syslog.global.logDirUnique esxcli system syslog config set --logdir-unique=<bool> Spécifie le nom d'hôte ESXi à concaténer à la valeur Syslog.global.logDir. Il est essentiel d'activer ce paramètre lorsque plusieurs hôtes ESXi se connectent à un système de fichiers partagé. Lorsque vous sélectionnez cette option, un sous-répertoire est créé portant le nom de l'hôte ESXi dans le répertoire spécifié par Syslog.global.LogDir. Il est utile d'avoir un répertoire unique si le même répertoire NFS est utilisé par plusieurs hôtes ESXi.
Syslog.global.certificate.checkSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> Applique la vérification des certificats SSL lors de la transmission de messages à des hôtes distants.
Tableau 2. Options Syslog disponibles à partir d'ESXi 7.0 Update 1
Option commande ESXCLI Description
Syslog.global.auditRecord.storageCapacity esxcli system auditrecords local set --size=<long> Spécifie la capacité du répertoire de stockage d'audit situé sur l'hôte ESXi. Vous ne pouvez pas réduire la capacité du stockage des enregistrements d'audit. Vous pouvez augmenter la capacité avant ou après l'activation du stockage des enregistrements d'audit (consultez Syslog.global.auditRecord.storageEnable).
Syslog.global.auditRecord.remoteEnable esxcli system auditrecords remote enable Permet d'envoyer des enregistrements d'audit à des hôtes distants. Les hôtes distants sont spécifiés à l'aide du paramètre Syslog.global.logHost.
Syslog.global.auditRecord.storageDirectory esxcli system auditrecords local set --directory=<dir> Crée un répertoire de stockage des enregistrements d'audit et, sauf indication contraire, définit /scratch/auditLog comme emplacement par défaut. Vous ne devez pas créer manuellement un répertoire de stockage des enregistrements d'audit et vous ne pouvez pas modifier le répertoire de stockage des enregistrements d'audit lorsque le stockage des enregistrements d'audit est activé (voir Syslog.global.auditRecord.storageEnable).
Syslog.global.auditRecord.storageEnable esxcli system auditrecords local enable Active le stockage des enregistrements d'audit sur un hôte ESXi. Le répertoire de stockage d'audit n'existe pas, il est créé avec la capacité spécifiée par Syslog.global.auditRecord.storageCapacity.
Syslog.global.certificate.checkCRL esxcli system syslog config set --crl-check=<bool> Permet de vérifier l'état de révocation de tous les certificats d'une chaîne de certificats SSL.

Permet la vérification des listes de révocation de certificats (CRL) X.509, qui ne sont pas vérifiées par défaut conformément aux conventions du secteur. Une configuration validée par NIAP nécessite des vérifications CRL. En raison des limitations de mise en œuvre, si les vérifications de la liste de révocation de certificats sont activées, tous les certificats d'une chaîne de certificats doivent fournir un lien CRL.

N'activez pas l'option crl-check pour les installations qui ne sont pas liées à la certification en raison des difficultés de configuration correcte d'un environnement qui utilise des vérifications de liste de révocation de certificats.

Syslog.global.certificate.strictX509Compliance esxcli system syslog config set --x509-strict=<bool> Active une conformité stricte avec X.509. Effectue des contrôles de validité supplémentaires sur les certificats racines de l'autorité de certification lors de la vérification. En général, ces vérifications ne sont pas effectuées, car les racines d'autorité de certification sont intrinsèquement approuvées et peuvent entraîner des incompatibilités avec des racines d'autorité de certification existantes mal configurées. Une configuration validée par NIAP nécessite même des racines d'autorité de certification pour transmettre des validations.

N'activez pas l'option x509-strict pour les installations qui ne sont pas liées à la certification en raison des difficultés de configuration correcte d'un environnement qui utilise des vérifications de liste de révocation de certificats.

Syslog.global.droppedMsgs.fileRotate esxcli system syslog config set --drop-log-rotate=<long> Spécifie le nombre d'anciens fichiers journaux de messages abandonnés à conserver.
Syslog.global.droppedMsgs.fileSize esxcli system syslog config set --drop-log-size=<long> Spécifie la taille de chaque fichier journal des messages abandonnés avant de passer à un nouveau fichier journal, en Kio.
Syslog.global.logCheckSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> Applique la vérification des certificats SSL lors de la transmission de messages à des hôtes distants.
Note : Obsolète. Utilisez Syslog.global.certificate.checkSSLCerts dans ESXi 7.0 Update 1 et versions ultérieures.
Syslog.global.logFilters esxcli system syslog config logfilter [add | remove | set] ... Spécifie une ou plusieurs spécifications de filtrage de journaux. Chaque filtre de journal doit être séparé par une barre verticale double « || ». Le format d'un filtre de journal est le suivant : numLogs | ident | logRegexp. numLogs définit le nombre maximal d'entrées pour les messages de journaux spécifiés. Une fois ce nombre atteint, les messages de journaux spécifiés sont filtrés et ignorés. ident spécifie un ou plusieurs composants système dont les messages de journaux générés seront traités par le filtre. logRegexp spécifie une phrase sensible à la casse avec une syntaxe d'expression régulière Python pour filtrer les messages de journaux selon leur contenu.
Syslog.global.logFiltersEnable Active l'utilisation de filtres de journaux.
Syslog.global.logLevel esxcli system syslog config set --log-level=<str> Spécifie le niveau de filtrage des journaux. Vous devez modifier ce paramètre uniquement lors du dépannage d'un problème avec le démon syslog. Vous pouvez utiliser les valeurs debug pour le niveau le plus détaillé, info pour le niveau de détail par défaut, warning uniquement pour les avertissements ou les erreurs, ou error uniquement pour les erreurs.
Syslog.global.msgQueueDropMark esxcli system syslog config --queue-drop-mark=<long>) Spécifie le pourcentage de capacité de la file d'attente des messages auquel les messages sont abandonnés.
Syslog.global.remoteHost.connectRetryDelay esxcli system syslog config set --default-timeout=<long> Spécifie le délai d'attente au terme duquel est effectuée une nouvelle tentative de connexion à un hôte distant après l'échec d'une tentative de connexion, en secondes.
Syslog.global.remoteHost.maxMsgLen esxcli system syslog config set --remote-host-max-msg-len=<long> Pour les protocoles TCP et SSL, ce paramètre spécifie la longueur maximale d'une transmission Syslog avant troncation, en octets. La longueur maximale par défaut des messages de l'hôte distant est de 1 Kio. Vous pouvez augmenter la longueur maximale du message jusqu'à 16 Kio. Cependant, l'augmentation de cette valeur au-dessus de 1 Kio ne garantit pas que les transmissions longues parviennent non tronquées à un collecteur Syslog. Par exemple, lorsque l'infrastructure Syslog qui émet un message est externe à ESXi.

Ce paramètre n'affecte pas le protocole UDP. RFC 5426 définit la longueur maximale de transmission des messages pour le protocole UDP sur 480 octets pour IPV4 et sur 1 180 octets pour IPV6. En raison de cette restriction et du fait que les paquets UDP peuvent être arbitrairement abandonnés par l'infrastructure de mise en réseau, l'utilisation du protocole UDP pour la transmission de messages Syslog critiques n'est pas recommandée.

Syslog.global.vsanBacking esxcli system syslog config set --vsan-backing=<bool> Permet de placer les fichiers journaux et le répertoire de stockage des enregistrements d'audit sur un cluster vSAN. Toutefois, l'activation de ce paramètre peut empêcher l'hôte ESXi de répondre.

Emplacements des fichiers journaux ESXi

ESXi enregistre l'activité de l'hôte dans des fichiers journaux en utilisant un outil syslog.

Tableau 3. Emplacements des fichiers journaux ESXi
Composant Emplacement Objectif
Authentification /var/log/auth.log Contient tous les événements relatifs à l'authentification pour le système local.
Journal de l'agent hôte ESXi /var/log/hostd.log Contient des informations sur l'agent gérant et configurant les hôtes ESXi et leurs machines virtuelles.
Journal du shell /var/log/shell.log Contient un enregistrement de toutes les commandes tapées dans ESXi Shell et les événements de shell (par exemple, le moment où le shell a été activé).
Messages système /var/log/syslog.log Contient tous les messages généraux du journal et peut être utilisé en cas de dépannage. Ces informations étaient précédemment situées dans le fichier journal des messages.
Journal de l'agent vCenter Server /var/log/vpxa.log Contient des informations sur l'agent communiquant avec vCenter Server (si l'hôte est géré par vCenter Server).
Machines virtuelles Le même répertoire que les fichiers de configuration de la machine virtuelle, appelés vmware.log et vmware*.log. Par exemple, /vmfs/volumes/datastore/virtual machine/vmware.log Contient les événements d'alimentation de la machine virtuelle, les informations relatives aux défaillances système, la synchronisation horaire, les modifications virtuelles du matériel, les migrations vMotion, les clones de machines, etc.
VMkernel /var/log/vmkernel.log Enregistre les activités relatives aux machines virtuelles et à ESXi.
Résumé VMkernel /var/log/vmksummary.log Utilisé pour déterminer les statistiques de temps de fonctionnement et de disponibilité pourESXi (virgule séparée).
Avertissements VMkernel /var/log/vmkwarning.log Enregistre les activités relatives aux machines virtuelles.
Quick Boot /var/log/loadESX.log Contient tous les événements liés au redémarrage d'un hôte ESXi via Quick Boot.
Agent d'infrastructure approuvé /var/run/log/kmxa.log Enregistre les activités liées au service client sur l'hôte approuvé ESXi.
Service de fournisseur de clés /var/run/log/kmxd.log Enregistre les activités liées au service de fournisseur de clés de Autorité d'approbation vSphere .
Service d'attestation /var/run/log/attestd.log Enregistre les activités liées au service d'attestation de Autorité d'approbation vSphere .
Service de jeton ESX /var/run/log/esxtokend.log Enregistre les activités liées au service de jeton ESX de Autorité d'approbation vSphere .
Redirecteur d'API ESX /var/run/log/esxapiadapter.log Enregistre les activités liées au redirecteur d'API de Autorité d'approbation vSphere .