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