Protokolldateien sind eine wichtige Komponente bei der Fehlersuche nach Angriffen und für die Suche nach Informationen über Sicherheitsverletzungen. Alle ESXi-Hosts führen einen Syslog-Dienst aus. Dieser protokolliert Meldungen vom VMkernel und anderen Systemkomponenten in lokalen Dateien oder auf einem Remotehost.

Treffen Sie folgende Maßnahmen, um die Sicherheit des Hosts zu erhöhen.
  • Konfigurieren Sie die dauerhafte Protokollierung in einem Datenspeicher. Standardmäßig werden die Protokolldateien auf ESXi-Hosts im speicherresidenten Dateisystem gespeichert. Sie gehen daher verloren, wenn Sie den Host neu starten, und Protokolldaten werden nur für 24 Stunden gespeichert. Wenn Sie die dauerhafte Protokollierung aktivieren, verfügen Sie über eine dedizierte Aufzeichnung der Aktivitäten für den Host.
  • Mithilfe der Remoteprotokollierung auf einem zentralen Host können Sie Protokolldateien auf einem zentralen Host speichern. Über diesen Host können Sie alle Hosts mit einem einzigen Tool überwachen, zusammenfassende Analysen durchführen und Protokolldaten durchsuchen. Diese Vorgehensweise vereinfacht die Überwachung und macht Informationen zu koordinierten Angriffen auf mehreren Hosts verfügbar.
  • Konfigurieren Sie das Remotesicherheits-Syslog auf ESXi-Hosts mithilfe von ESXCLI oder PowerCLI oder mithilfe eines API-Clients.
  • Führen Sie eine Abfrage der Syslog-Konfiguration durch, um sicherzustellen, dass der Syslog-Server und der Port gültig sind.

In der Dokumentation vSphere-Überwachung und -Leistung finden Sie Informationen zum Syslog-Setup sowie zusätzliche Informationen zu ESXi-Protokolldateien.

Konfiguration von Syslog auf ESXi-Hosts

Sie können den vSphere Client, den VMware Host Client oder den Befehl esxcli system syslog zum Konfigurieren des Syslog-Diensts verwenden.

Informationen zur Verwendung des esxcli system syslog-Befehls und anderen ESXCLI-Befehlen finden Sie unter Erste Schritte mit ESXCLI. Weitere Informationen zum Öffnen der ESXi-Firewall für den in jeder Remotehostspezifikation angegebenen Port finden Sie unter Konfigurieren der ESXi Firewall.

Prozedur

  1. Navigieren Sie zum Host im Navigator von vSphere Client.
  2. Klicken Sie auf Konfigurieren.
  3. Klicken Sie unter System auf Erweiterte Systemeinstellungen.
  4. Klicken Sie auf Bearbeiten.
  5. Filter für syslog.
  6. Informationen zum globalen Einrichten der Protokollierung und zur Konfiguration verschiedener erweiterter Einstellungen finden Sie unter ESXi-Syslog-Optionen.
  7. (Optional) So überschreiben Sie die Standardprotokollgröße und die Rotationsangaben für ein Protokoll:
    1. Klicken Sie auf den Namen des Protokolls, das Sie anpassen möchten.
    2. Geben Sie die Anzahl der Rotationen und die gewünschte Protokollgröße ein.
  8. Klicken Sie auf OK.

Ergebnisse

Änderungen an den syslog-Optionen werden sofort wirksam.
Hinweis: Mithilfe des vSphere Client oder VMware Host Client definierte Einstellungen für Syslog-Parameter werden sofort wirksam. Die meisten mithilfe von ESXCLI definierten Einstellungen benötigen jedoch einen zusätzlichen Befehl, um wirksam zu werden. Weitere Informationen finden Sie unter ESXi-Syslog-Optionen.

ESXi-Syslog-Optionen

Sie können das Verhalten von ESXi-Syslog-Dateien und -Übertragungen mithilfe mehrerer Syslog-Optionen definieren.

Neben den Basiseinstellungen, wie z. B. Syslog.global.logHost, steht ab ESXi 7.0 Update 1 eine Liste mit erweiterten Optionen für Anpassungen und NIAP-Konformität zur Verfügung.

Hinweis: Konfigurieren Sie dauerhaften Speicher immer, bevor Sie Überwachungsdatensatzparameter oder den Syslog.global.logDir-Parameter festlegen.
Hinweis: Alle Einstellungen für Überwachungsdatensätze, die mit Syslog.global.auditRecord beginnen, werden sofort wirksam. Für andere Einstellungen, die Sie mithilfe von ESXCLI definieren, müssen Sie zum Aktivieren der Änderungen jedoch den Befehl esxcli system syslog reload ausführen.
Tabelle 1. Legacy-Syslog-Optionen
Option ESXCLI-Befehl Beschreibung
Syslog.global.logHost

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

Definiert eine kommagetrennte Liste mit Remotehosts und Spezifikationen für Meldungsübertragungen. Wenn das Feld loghost=<str> leer ist, werden keine Protokolle weitergeleitet. Obwohl es keinen festen Grenzwert für die Anzahl der Remotehosts gibt, die Syslog-Meldungen empfangen, wird dennoch empfohlen, die Anzahl der Remotehosts auf fünf oder weniger zu begrenzen. Das Format einer Remotehostspezifikation lautet: protocol://hostname|ipv4|'['ipv6']'[:port]. Als Protokoll muss TCP, UDP oder SSL verwendet werden. Der Wert eines Ports kann eine beliebige Zahl zwischen 1 und 65535 sein. Wenn kein Port angegeben wird, wird 1514 von SSL und TCP verwendet. UDP verwendet 514. Beispiel: ssl://hostName1:1514.
Syslog.global.defaultRotate esxcli system syslog config set --default-rotate=<long> Maximale Anzahl alter beizubehaltender Protokolldateien Sie können diese Anzahl global und für einzelne Unterprotokollierer festlegen (siehe Syslog.global.defaultSize).
Syslog.global.defaultSize esxcli system syslog config set --default-size=<long> Standardgröße der Protokolldateien in KiB. Nachdem eine Datei die Standardgröße erreicht hat, erstellt der Syslog-Dienst eine neue Datei. Sie können diese Anzahl global und für einzelne Unterprotokollierer festlegen.
Syslog.global.logDir esxcli system syslog config set --logdir=<str> Verzeichnis, in dem sich Protokolle befinden. Das Verzeichnis kann sich auf gemounteten NFS- oder VMFS-Volumes befinden. Nur das Verzeichnis /scratch auf dem lokalen Dateisystem bleibt nach einem Neustart konsistent. Geben Sie das Verzeichnis im Format [Datenspeichername] Pfad_zur_Datei an, wobei sich der Pfad auf das Stammverzeichnis des Volumes bezieht, in dem sich das Backing für den Datenspeicher befindet. Beispielsweise ist der Pfad [storage1] /systemlogs dem Pfad /vmfs/volumes/storage1/systemlogs zuzuordnen.
Syslog.global.logDirUnique esxcli system syslog config set --logdir-unique=<bool> Gibt den Namen des ESXi-Hosts an, der mit dem Wert von Syslog.global.logDir verknüpft werden soll. Diese Einstellung muss aktiviert werden, wenn sich mehrere ESXi-Hosts bei einem gemeinsam genutzten Dateisystem anmelden. Durch die Auswahl dieser Option wird ein Unterverzeichnis mit dem Namen des ESXi-Hosts im von Syslog.global.LogDir angegebenen Verzeichnis erstellt. Ein eindeutiges Verzeichnis ist nützlich, wenn dasselbe NFS-Verzeichnis von mehreren ESXi-Hosts verwendet wird.
Syslog.global.certificate.checkSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> Erzwingt die Überprüfung von SSL-Zertifikaten bei der Übertragung von Nachrichten an Remotehosts.
Tabelle 2. Verfügbare Syslog-Optionen ab ESXi 7.0 Update 1
Option ESXCLI-Befehl Beschreibung
Syslog.global.auditRecord.storageCapacity esxcli system auditrecords local set --size=<long> Gibt die Kapazität des Verzeichnisses zum Speichern von Überwachungsdatensätzen auf dem ESXi-Host in MiB an. Sie können die Kapazität des Überwachungsdatensatzspeichers nicht verringern. Sie können die Kapazität vor oder nach der Aktivierung des Überwachungsdatensatzspeichers erhöhen (siehe Syslog.global.auditRecord.storageEnable).
Syslog.global.auditRecord.remoteEnable esxcli system auditrecords remote enable Ermöglicht das Senden von Überwachungsdatensätzen an Remotehosts. Remotehosts werden mithilfe des Parameters Syslog.global.logHost angegeben.
Syslog.global.auditRecord.storageDirectory esxcli system auditrecords local set --directory=<dir> Erstellt ein Verzeichnis zum Speichern von Überwachungsdatensätzen und legt /scratch/auditLog als Standardspeicherort fest. Sie dürfen kein Verzeichnis zur Speicherung von Überwachungsdatensätzen manuell erstellen, und das Verzeichnis für den Überwachungsdatensatzspeicher kann nicht geändert werden, solange der Überwachungsdatensatzspeicher aktiviert ist (siehe Syslog.global.auditRecord.storageEnable).
Syslog.global.auditRecord.storageEnable esxcli system auditrecords local enable Aktiviert die Speicherung von Überwachungsdatensätzen auf einem ESXi-Host. Wenn das Verzeichnis zum Speichern von Überwachungsdatensätzen nicht vorhanden ist, wird es mit der von Syslog.global.auditRecord.storageCapacity angegebenen Kapazität erstellt.
Syslog.global.certificate.checkCRL esxcli system syslog config set --crl-check=<bool> Ermöglicht die Überprüfung des Widerrufstatus aller Zertifikate in einer SSL-Zertifikatskette.

Ermöglicht die Überprüfung von X.509-CRLs, die in Übereinstimmung mit den Branchenkonventionen nicht standardmäßig überprüft werden. Eine mit NIAP validierte Konfiguration benötigt CRL-Prüfungen. Wenn CRL-Prüfungen aktiviert sind, müssen alle Zertifikate in einer Zertifikatskette aufgrund von Implementierungseinschränkungen einen CRL-Link bereitstellen.

Aktivieren Sie die Option crl-check nicht für Installationen ohne Bezug zur Zertifizierung, da sich die ordnungsgemäße Konfiguration einer Umgebung, die CRL-Prüfungen verwendet, als schwierig erweist.

Syslog.global.certificate.strictX509Compliance esxcli system syslog config set --x509-strict=<bool> Aktiviert strikte Übereinstimmung mit X.509. Führt während der Überprüfung zusätzliche Gültigkeitsprüfungen für CA-Stammzertifikate durch. Diese Prüfungen werden in der Regel nicht durchgeführt, da CA-Roots inhärent vertrauenswürdig sind und Inkompatibilitäten mit vorhandenen, falsch konfigurierten CA-Roots verursachen können. Eine mit NIAP validierte Konfiguration benötigt CA-Roots sogar, um Validierungen erfolgreich zu durchlaufen.

Aktivieren Sie die Option x509-strict nicht für Installationen ohne Bezug zur Zertifizierung, da sich die ordnungsgemäße Konfiguration einer Umgebung, die CRL-Prüfungen verwendet, als schwierig erweist.

Syslog.global.droppedMsgs.fileRotate esxcli system syslog config set --drop-log-rotate=<long> Gibt die Anzahl der beizubehaltenden Protokolldateien mit alten gelöschten Meldungen an.
Syslog.global.droppedMsgs.fileSize esxcli system syslog config set --drop-log-size=<long> Gibt die Größer aller Protokolldateien mit gelöschten Meldungen vor dem Wechsel zu einer neuen Datei in KiB an.
Syslog.global.logCheckSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> Erzwingt die Überprüfung von SSL-Zertifikaten bei der Übertragung von Nachrichten an Remotehosts.
Hinweis: Veraltet. Verwenden Sie Syslog.global.certificate.checkSSLCerts in ESXi 7.0 Update 1 und höher.
Syslog.global.logFilters esxcli system syslog config logfilter [add | remove | set] ... Gibt eine oder mehrere Spezifikationen für die Protokollfilterung an. Alle Protokollfilter müssen durch einen doppelten vertikalen Balken (||) getrennt werden. Das Format eines Protokollfilters lautet: numLogs | ident | logRegexp. numLogs legt die maximale Anzahl von Protokolleinträgen für die angegebenen Protokollmeldungen fest. Nach Erreichen dieses Werts werden die angegebenen Protokollmeldungen gefiltert und ignoriert. ident gibt eine oder mehrere Systemkomponenten an, um den Filter auf die Protokollmeldungen anzuwenden, die von diesen Komponenten erzeugt werden. logRegexp gibt eine Zeichenfolge unter Beachtung der Groß-/Kleinschreibung mit Python-Syntax für reguläre Ausdrücke an, um die Protokollmeldungen anhand ihres Inhalts zu filtern.
Syslog.global.logFiltersEnable Aktiviert die Verwendung von Protokollfiltern.
Syslog.global.logLevel esxcli system syslog config set --log-level=<str> Gibt die Ebene der Protokollfilterung an. Sie müssen diesen Parameter nur bei der Behebung eines Problems mit dem Syslog-Daemon ändern. Sie können den Wert debug für die Ebene mit den meisten Details, den Wert info für die Ebene mit Standarddetails, den Wert warning für Warnungen bzw. Fehler oder den Wert error für Fehler verwenden.
Syslog.global.msgQueueDropMark esxcli system syslog config --queue-drop-mark=<long>) Gibt den Prozentsatz der Kapazität der Meldungswarteschlange an, ab dem Meldungen verworfen werden.
Syslog.global.remoteHost.connectRetryDelay esxcli system syslog config set --default-timeout=<long> Gibt die Verzögerung in Sekunden vor dem erneuten Versuch einer Verbindungsherstellung mit einem Remotehost an, nachdem ein Verbindungsversuch fehlgeschlagen ist.
Syslog.global.remoteHost.maxMsgLen esxcli system syslog config set --remote-host-max-msg-len=<long> Für die TCP- und SSL-Protokolle gibt dieser Parameter die maximale Länge einer Syslog-Übertragung vor dem Auftreten von Kürzungen in Byte an. Die maximale Standardlänge für Meldungen von Remotehosts beträgt 1 KiB. Sie können die maximale Nachrichtenlänge auf bis zu 16 KiB erhöhen. Bei einer Erhöhung dieses Werts auf über 1 KiB ist es jedoch möglich, dass lange Übertragungen gekürzt bei einem Syslog-Collector ankommen. Beispiel: Die Syslog-Infrastruktur, die eine Meldung ausgibt, befindet sich außerhalb von ESXi.

Diese Einstellung hat keinen Einfluss auf das UDP-Protokoll. RFC 5426 legt die maximale Nachrichtenübertragungslänge für das UDP-Protokoll auf 480 Byte für IPV4 und 1180 Byte für IPV6 fest. Aufgrund dieser Einschränkung und da UDP-Pakete von der Netzwerkinfrastruktur willkürlich verworfen werden können, wird die Verwendung von UDP für die Übertragung kritischer Syslog-Nachrichten nicht empfohlen.

Syslog.global.vsanBacking esxcli system syslog config set --vsan-backing=<bool> Ermöglicht das Platzieren von Protokolldateien sowie des Verzeichnisses zum Speichern von Überwachungsdatensätzen in einem vSAN-Cluster. Die Aktivierung dieses Parameters kann jedoch dazu führen, dass der ESXi-Host nicht mehr reagiert.

Speicherorte der ESXi-Protokolldateien

ESXi zeichnet die Hostaktivität in Protokolldateien mithilfe eines syslog-Hilfsprogramms auf.

Tabelle 3. Speicherorte der ESXi-Protokolldateien
Komponente Speicherort Zweck
Authentifizierung /var/log/auth.log Enthält alle Ereignisse, die sich auf die Authentifizierung für das lokale System beziehen.
ESXi-Hostagenten-Protokoll /var/log/hostd.log Enthält Informationen zum Agenten, mit dem der ESXi-Host und seine virtuellen Maschinen verwaltet und konfiguriert werden.
Shell-Protokoll /var/log/shell.log Enthält einen Datensatz mit allen Befehlen, die in die ESXi-Shell eingegeben wurden, und Shell-Ereignisse (z. B. Zeitpunkt der Aktivierung der Shell).
Systemmeldungen /var/log/syslog.log Enthält alle allgemeinen Protokollmeldungen und kann zur Fehlerbehebung verwendet werden. Diese Informationen befanden sich vorher in der Protokolldatei „messages“.
Protokoll des vCenter Server-Agenten /var/log/vpxa.log Enthält Informationen zu dem Agenten, der mit vCenter Server kommuniziert (wenn der Host von vCenter Server verwaltet wird).
virtuelle Maschinen Dasselbe Verzeichnis wie für die Konfigurationsdateien der jeweiligen virtuellen Maschine mit der Bezeichnung vmware.log und vmware*.log. Beispiel: /vmfs/volumes/datastore/virtual machine/vmware.log Enthält Ereignisse der virtuellen Maschine, Informationen zum Systemausfall, den Status und die Aktivitäten von Tools, die Uhrzeitsynchronisierung, Änderungen an der virtuellen Hardware, vMotion-Migrationen, Maschinen-Klonvorgänge usw.
VMkernel /var/log/vmkernel.log Zeichnet Aktivitäten in Verbindung mit virtuellen Maschinen und ESXi auf.
VMkernel-Übersicht /var/log/vmksummary.log Wird verwendet, um die Betriebszeit und die Verfügbarkeitsstatistiken für ESXi (kommagetrennt) zu bestimmen.
VMkernel-Warnungen /var/log/vmkwarning.log Zeichnet Aktivitäten in Verbindung mit virtuellen Maschinen auf.
Quick Boot /var/log/loadESX.log Enthält alle Ereignisse bezüglich des Neustarts eines ESXi-Hosts mithilfe von Quick Boot.
Agent der vertrauenswürdigen Infrastruktur /var/run/log/kmxa.log Zeichnet Aktivitäten im Zusammenhang mit dem Client-Dienst auf dem vertrauenswürdigen ESXi-Host auf.
Schlüsselanbieterdienst /var/run/log/kmxd.log Zeichnet Aktivitäten im Zusammenhang mit dem vSphere Trust Authority-Schlüsselanbieterdienst auf.
Bestätigungsdienst /var/run/log/attestd.log Zeichnet Aktivitäten im Zusammenhang mit dem vSphere Trust Authority-Bestätigungsdienst auf.
ESX-Token-Dienst /var/run/log/esxtokend.log Zeichnet Aktivitäten im Zusammenhang mit dem vSphere Trust Authority-ESX-Token-Dienst auf.
ESX-API-Weiterleitung /var/run/log/esxapiadapter.log Zeichnet Aktivitäten im Zusammenhang mit der vSphere Trust Authority-API-Weiterleitung auf.