Los archivos de registro son un componente importante para la solución de problemas de ataques y la obtención de información sobre las vulneraciones. Todos los hosts de ESXi ejecutan un servicio syslog, que registra mensajes del VMkernel y otros componentes del sistema en archivos locales o en un host remoto.

Para aumentar la seguridad del host, tome las siguientes medidas:
  • Configure los registros persistentes en un almacén de datos. De forma predeterminada, los registros en los hosts ESXi se almacenan en el sistema de archivos en la memoria. Por lo tanto, se pierden con cada reinicio del host y solo se almacenan 24 horas de datos de registros. Al habilitar los registros persistentes, tiene un registro dedicado de la actividad para el host.
  • El registro remoto a un host central permite recopilar archivos de registro en un host central. Desde ese host, puede supervisar todos los hosts con una sola herramienta, realizar análisis agregados y buscar datos de registros. Este enfoque facilita la supervisión y revela información sobre ataques coordinados en varios hosts.
  • Utilice ESXCLI, PowerCLI o un cliente API para configurar syslog remoto seguro en hosts ESXi.
  • Consulte la configuración de syslog para asegurarse de que el puerto y el servidor syslog sean válidos.

Consulte la documentación de Supervisión y rendimiento de vSphere para obtener información sobre la configuración de syslog y sobre los archivos de registro de ESXi.

Configurar Syslog en hosts ESXi

Puede utilizar vSphere Client, VMware Host Client o el comando esxcli system syslog para configurar el servicio syslog.

Para obtener información sobre cómo utilizar el comando esxcli system syslog y otros comandos ESXCLI, consulte Introducción a ESXCLI. Para obtener más información sobre cómo abrir el firewall de ESXi para el puerto especificado en cada especificación de host remoto, consulte Configurar el firewall de ESXi.

Procedimiento

  1. Desplácese hasta el host en el inventario de vSphere Client.
  2. Haga clic en Configurar.
  3. En Sistema, haga clic en Configuración avanzada del sistema.
  4. Haga clic en Editar.
  5. Filtre por syslog.
  6. Para configurar globalmente el registro y configurar varias opciones avanzadas, consulte Opciones de Syslog de ESXi.
  7. (opcional) Para sobrescribir los valores predeterminados de tamaño de registro y rotación de registros de cualquier registro:
    1. Haga clic en el nombre del registro que desea personalizar.
    2. Introduzca el número de rotaciones y el tamaño de registro que desea.
  8. Haga clic en Aceptar.

Resultados

Los cambios en las opciones de syslog surten efecto.
Nota: La configuración de parámetros de syslog que se define mediante vSphere Client o VMware Host Client se aplica inmediatamente. Sin embargo, la mayoría de los ajustes que se definen mediante ESXCLI requieren un comando adicional para que surtan efecto. Para obtener más información, consulte Opciones de Syslog de ESXi.

Opciones de Syslog de ESXi

Puede definir el comportamiento de las transmisiones y los archivos de syslog de ESXi mediante un conjunto de opciones de syslog.

Además de la configuración básica, como Syslog.global.logHost, a partir de ESXi 7.0 Update 1, hay disponible una lista de opciones avanzadas para las personalizaciones y el cumplimiento de NIAP.

Nota: Configure siempre el almacenamiento persistente antes de establecer alguno de los parámetros de registro de auditoría o el parámetro de Syslog.global.logDir.
Nota: Todos los ajustes del registro de auditoría que comienzan por Syslog.global.auditRecord se aplican inmediatamente. Sin embargo, para otros ajustes que defina mediante ESXCLI, asegúrese de ejecutar el comando esxcli system syslog reload para habilitar los cambios.
Tabla 1. Opciones de Syslog heredadas
Opción Comando ESXCLI Descripción
Syslog.global.logHost

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

Define una lista delimitada por comas de hosts remotos y especificaciones para transmisiones de mensajes. Si el campo loghost=<str> está en blanco, no se reenvía ningún registro. Si bien no existe un límite estricto para la cantidad de hosts remotos que recibirán mensajes de Syslog, una buena práctica es mantener el número de hosts remotos en cinco o menos. El formato de una especificación de host remoto es: protocol://hostname|ipv4|'['ipv6']'[:port]. El protocolo debe ser TCP, UDP o SSL. El valor de los puertos puede ser cualquier número decimal entre 1 y 65535. Si no se proporciona un puerto, SSL y TCP utilizan 1514. UDP utiliza 514. Por ejemplo: ssl://hostName1:1514.
Syslog.global.defaultRotate esxcli system syslog config set --default-rotate=<long> Número máximo de archivos de registro antiguos que se conservarán. Puede configurar este número en forma global y para subregistradores individuales (consulte Syslog.global.defaultSize).
Syslog.global.defaultSize esxcli system syslog config set --default-size=<long> Tamaño predeterminado de los archivos de registro, en KiB. Una vez que un archivo alcanza el tamaño predeterminado, el servicio de Syslog crea un nuevo archivo. Puede configurar este número en forma global y para subregistradores individuales.
Syslog.global.logDir esxcli system syslog config set --logdir=<str> Directorio donde residen los registros. El directorio puede encontrarse en volúmenes NFS o VMFS montados. Solo el directorio /scratch del sistema de archivos local se mantiene en todos los reinicios. Especifique el directorio como [nombrealmacéndatos] ruta_a_archivo, donde la ruta de acceso es relativa a la raíz del volumen que respalda el almacén de datos. Por ejemplo, la ruta de acceso [storage1] /systemlogs se asigna a la ruta de acceso /vmfs/volumes/storage1/systemlogs.
Syslog.global.logDirUnique esxcli system syslog config set --logdir-unique=<bool> Especifica el nombre de host ESXi que se va a concatenar al valor de Syslog.global.logDir. Es fundamental que habilite esta opción cuando varios hosts ESXi inicien sesión en un sistema de archivos compartido. Al seleccionar esta opción, se crea un subdirectorio con el nombre del host ESXi del directorio especificado por Syslog.global.LogDir. Un directorio único es útil si varios hosts ESXi utilizan el mismo directorio NFS.
Syslog.global.certificate.checkSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> Examine la comprobación de certificados SSL al transmitir mensajes a hosts remotos.
Tabla 2. Opciones de Syslog disponibles a partir de ESXi 7.0 Update 1
Opción Comando ESXCLI Descripción
Syslog.global.auditRecord.storageCapacity esxcli system auditrecords local set --size=<long> Especifica la capacidad del directorio de almacenamiento de registros de auditoría ubicado en el host ESXi, en MiB. No se puede reducir la capacidad del almacenamiento de registros de auditoría. Puede aumentar la capacidad antes o después de habilitar el almacenamiento de registros de auditoría (consulte Syslog.global.auditRecord.storageEnable).
Syslog.global.auditRecord.remoteEnable esxcli system auditrecords remote enable Habilita el envío de registros de auditoría a hosts remotos. Los hosts remotos se especifican mediante el parámetro Syslog.global.logHost.
Syslog.global.auditRecord.storageDirectory esxcli system auditrecords local set --directory=<dir> Crea un directorio de almacenamiento de registros de auditoría y, a menos que se especifique, establece /scratch/auditLog como la ubicación predeterminada. No debe crear manualmente un directorio de almacenamiento de registros de auditoría y no puede cambiar el directorio de almacenamiento de registros de auditoría mientras esté habilitado el almacenamiento de registros de auditoría (consulte Syslog.global.auditRecord.storageEnable).
Syslog.global.auditRecord.storageEnable esxcli system auditrecords local enable Habilita el almacenamiento de registros de auditoría en un host ESXi. Si el directorio de almacenamiento de registros de auditoría no existe, se crea con la capacidad especificada por Syslog.global.auditRecord.storageCapacity.
Syslog.global.certificate.checkCRL esxcli system syslog config set --crl-check=<bool> Habilita la comprobación del estado de revocación de todos los certificados de una cadena de certificados SSL.

Habilita la verificación de las CRL X.509 que no se comprueban de forma predeterminada en cumplimiento de las convenciones del sector. Una configuración validada por NIAP requiere comprobaciones de CRL. Debido a las limitaciones de implementación, si se habilitan las comprobaciones de CRL, todos los certificados de una cadena de certificados deben proporcionar un vínculo de CRL.

No habilite la opción crl-check para instalaciones no relacionadas con la certificación, debido a la dificultad de configurar correctamente un entorno que utilice comprobaciones de CRL.

Syslog.global.certificate.strictX509Compliance esxcli system syslog config set --x509-strict=<bool> Habilita la conformidad estricta con X.509. Realiza comprobaciones de validez adicionales en los certificados raíz de CA durante la verificación. Por lo general, estas comprobaciones no se realizan, ya que las raíces de CA son de confianza inherente y podrían producir incompatibilidades con las raíces de CA existentes y mal configuradas. Una configuración validada por NIAP requiere que incluso las raíces de CA pasen las validaciones.

No habilite la opción x509-strict para instalaciones no relacionadas con la certificación, debido a la dificultad de configurar correctamente un entorno que utilice comprobaciones de CRL.

Syslog.global.droppedMsgs.fileRotate esxcli system syslog config set --drop-log-rotate=<long> Especifica el número de archivos antiguos de registro de mensajes descartados que se conservarán.
Syslog.global.droppedMsgs.fileSize esxcli system syslog config set --drop-log-size=<long> Especifica el tamaño de cada archivo de registro de mensajes descartados antes de cambiar a uno nuevo, en KiB.
Syslog.global.logCheckSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> Examine la comprobación de certificados SSL al transmitir mensajes a hosts remotos.
Nota: Obsoleto. Use Syslog.global.certificate.checkSSLCerts en ESXi 7.0 Update 1 y posterior.
Syslog.global.logFilters esxcli system syslog config logfilter [add | remove | set] ... Especifica una o varias especificaciones de filtrado de registros. Cada filtro de registro debe estar separado por una barra vertical doble (||). El formato de los filtros de registro es: numLogs | ident | logRegexp. numLogs establece la cantidad máxima de entradas de registro para los mensajes de registro especificados. Una vez alcanzado este número, se filtran y se omiten los mensajes de registro especificados. ident especifica uno o más componentes del sistema para aplicar el filtro a los mensajes de registro que generan estos componentes. logRegexp especifica una frase que distingue mayúsculas de minúsculas con la sintaxis de la expresión regular Python para filtrar los mensajes de registro según su contenido.
Syslog.global.logFiltersEnable Habilita el uso de filtros de registro.
Syslog.global.logLevel esxcli system syslog config set --log-level=<str> Especifica el nivel de filtrado de registros. Debe cambiar este parámetro solo para solucionar problemas relacionados con el daemon de syslog. Puede utilizar los valores debug para el nivel más detallado, info para el nivel de detalle predeterminado, warning solo para advertencias o errores, o error solo para errores.
Syslog.global.msgQueueDropMark esxcli system syslog config --queue-drop-mark=<long>) Especifica el porcentaje de la capacidad de la cola de mensajes a partir del cual se descartan los mensajes.
Syslog.global.remoteHost.connectRetryDelay esxcli system syslog config set --default-timeout=<long> Especifica el retraso antes de volver a intentar conectarse a un host remoto después de que se haya producido un error en un intento de conexión, en segundos.
Syslog.global.remoteHost.maxMsgLen esxcli system syslog config set --remote-host-max-msg-len=<long> Para los protocolos TCP y SSL, este parámetro especifica la longitud máxima de una transmisión de Syslog antes de que se produzca truncamiento, en bytes. La longitud máxima predeterminada para los mensajes de host remoto es 1 KiB. Puede aumentar la longitud máxima del mensaje hasta 16 KiB. No obstante, aumentar este valor por encima de 1 KiB no garantiza que las transmisiones largas lleguen sin truncar a un recopilador de Syslog. Por ejemplo, cuando la infraestructura de syslog que emite un mensaje es externa a ESXi.

Esta configuración no afecta al protocolo UDP. RFC 5426 establece la longitud máxima de transmisión de mensajes para el protocolo UDP en 480 bytes para IPV4 y 1180 bytes para IPV6. Debido a esta restricción, y debido a que la infraestructura de redes puede descartar de forma arbitraria los paquetes UDP, no se recomienda el uso de UDP para transmitir mensajes críticos de Syslog.

Syslog.global.vsanBacking esxcli system syslog config set --vsan-backing=<bool> Permite que los archivos de registro y el directorio de almacenamiento de registros de auditoría se coloquen en un clúster de vSAN. Sin embargo, si se habilita este parámetro, es posible que el host ESXi deje de responder.

Ubicaciones de archivos de registro de ESXi

ESXi registra la actividad de los hosts en los archivos de registro, mediante una funcionalidad de Syslog.

Tabla 3. Ubicaciones de archivos de registro de ESXi
Componente Ubicación Propósito
Autenticación /var/log/auth.log Contiene todos los eventos relacionados con la autenticación para el sistema local.
Registro del agente del host ESXi /var/log/hostd.log Contiene información sobre el agente que administra y configura el host ESXi y sus máquinas virtuales.
Registro del shell /var/log/shell.log Contiene un registro de todos los comandos introducidos en ESXi Shell y los eventos del shell (por ejemplo, el momento en que se habilitó el shell).
Mensajes del sistema /var/log/syslog.log Contiene todos los mensajes del registro general y puede usarse para solución de problemas. Esta información antes se encontraba en los mensajes del archivo de registro.
Registro del agente de vCenter Server /var/log/vpxa.log Contiene información sobre el agente que se comunica con vCenter Server (si el host lo administra vCenter Server).
Máquinas virtuales El mismo directorio en el que se encuentran los archivos de configuración de la máquina virtual afectada, denominados vmware.log y vmware*.log. Por ejemplo, /vmfs/volumes/datastore/virtual machine/vmware.log Contiene todos los eventos relacionados con el encendido de la máquina virtual, la información de errores del sistema, la actividad y el estado de las herramientas, la sincronización de hora, los cambios en el hardware virtual, las migraciones de vMotion, los clones de la máquina, etc.
VMkernel /var/log/vmkernel.log Registra las actividades relacionadas con máquinas virtuales y ESXi.
Resumen de VMkernel /var/log/vmksummary.log Se utiliza para determinar las estadísticas de disponibilidad y tiempo de actividad de ESXi (valores separados por comas).
Advertencias de VMkernel /var/log/vmkwarning.log Registra las actividades relacionadas con máquinas virtuales.
Quick Boot /var/log/loadESX.log Contiene todos los eventos relacionados con el reinicio de un host ESXi a través de Quick Boot.
Agente de infraestructura de confianza /var/run/log/kmxa.log Registra actividades relacionadas con el servicio de cliente en el host de confianza ESXi.
Servicio de proveedor de claves /var/run/log/kmxd.log Registra actividades relacionadas con el servicio de proveedor de claves de vSphere Trust Authority.
Servicio de atestación /var/run/log/attestd.log Registra actividades relacionadas con el servicio de atestación de vSphere Trust Authority.
Servicio de token de ESX /var/run/log/esxtokend.log Registra actividades relacionadas con el servicio de token de ESX de vSphere Trust Authority.
Reenviador de API de ESX /var/run/log/esxapiadapter.log Registra actividades relacionadas con el reenviador de API de vSphere Trust Authority.