NTP/NTS-KE - Integrität

Einführung
Das Audit-Ereignis CUSTOM_NTS_INTEGRITY dokumentiert Probleme während des sicheren Network-Time-Security-(NTS-)TLS-Handshakes zwischen der Firewall-Appliance und ihrem konfigurierten NTS-Zeitserver.
Schlägt dieser Handshake fehl, kann die Firewall die Zeit möglicherweise nicht sicher synchronisieren. In Industrie- und OT-Umgebungen kann sich dies auf die Integrität von Protokollen, zeitbasierte Zugriffsregeln und die Korrelation von Ereignissen in einem SIEM oder SOC auswirken.
Dieses Ereignis wird von chronyd erzeugt und in das Linux-audit.log geschrieben. Es ist auf 4 Meldungen pro Stunde begrenzt, um zu verhindern, dass das Audit-Log mit wiederholten Handshake-Fehlern gefüllt wird.
Aus Sicherheitssicht sollten Sie diese Ereignisse untersuchen, da sie auf ungültige oder nicht vertrauenswürdige Zertifikate, falsch konfigurierte TLS-Parameter oder Netzwerkprobleme hinweisen können, die eine sichere Zeitsynchronisation verhindern. Bis das Problem behoben ist, sollten Sie Zeitstempel der Firewall bei forensischen Analysen oder Compliance-Berichten mit Vorsicht behandeln.
Webinterface-Ansicht
Im VIEW-Webinterface erscheint dieses Ereignis im Abschnitt Anomaly audit.
Die CUSTOM_NTS_INTEGRITY-Datensätze werden zusammen mit anderen Anomalie-Meldungen des integrierten Überwachungssystems angezeigt. Eine Beispielzeile sieht wie im Screenshot aus:
- Title:
NTS TLS handshake failed - Description:
Error with certificate from time.cloudflare.com
Die Tabellenspalten in der Anomaly-audit-Ansicht sind:
| Web-Feld | Beschreibung | Beispielwert |
|---|---|---|
| Date | Lokales Datum, an dem das Audit-Ereignis aufgezeichnet wurde, abgeleitet aus der Audit-Zeit. | 12/25/14 |
| Time | Lokale Uhrzeit, zu der das Ereignis aufgezeichnet wurde. | 12:35:05 |
| Title | Kurzzusammenfassung aus dem Feld title des Audit-Datensatzes. |
NTS TLS handshake failed |
| Description | Detaillierter Text aus dem Feld description des Audit-Datensatzes. |
Error with certificate from time.cloudflare.com |
Nutzungshinweise für Operatoren und SOC-Analysten:
- Verwenden Sie die Anomaly-audit-Ansicht, um aktuelle NTS-Integritätsprobleme schnell zu erkennen, ohne das rohe
audit.logauswerten zu müssen. - Korrelieren Sie Date und Time mit anderen Ereignissen in Ihrem SIEM (zum Beispiel VPN-Änderungen oder Zertifikatsverteilungen).
- Wenn
NTS TLS handshake failederscheint: - Prüfen Sie die NTS-Serverkonfiguration auf der Firewall.
- Überprüfen Sie das Serverzertifikat und das CA-Vertrauen auf beiden Seiten.
- Überprüfen Sie, dass zwischengeschaltete Firewalls oder TLS-Inspection-Geräte den TLS-Handshake nicht unterbrechen.
Alle in der Anomaly-audit-Tabelle sichtbaren Einträge sind durch Einträge in /var/log/audit/audit.log hinterlegt, sodass sie zentral für die SIEM-/SOC-Integration weitergeleitet und ausgewertet werden können.
Erläuterung des rohen audit.log-Eintrags
Das Ereignis CUSTOM_NTS_INTEGRITY wird von auditd in /var/log/audit/audit.log geschrieben. Eine Beispielzeile lautet:
type=CUSTOM_NTS_INTEGRITY msg=audit(1419507305.264:11): pid=7121 uid=323 auid=4294967295 ses=4294967295 msg='title="NTS TLS handshake failed" description="Error with certificate from time.cloudflare.com" exe="/usr/sbin/chronyd" hostname=? addr=? terminal=? res=success'UID="chrony" AUID="unset"
Nachfolgend werden nur die ereignisspezifischen Felder erläutert. Für die generischen Audit-Felder wie pid, uid, auid und ses können Sie die offizielle auditd-Dokumentation heranziehen.
| Feld | Beschreibung | Beispielwert |
|---|---|---|
type |
Audit-Datensatztyp. Kennzeichnet diese Meldung als NTS-Integritätsereignis. | CUSTOM_NTS_INTEGRITY |
msg (hdr) |
Standard-Audit-Header mit Zeitstempel und Ereignis-ID. | audit(1419507305.264:11) |
pid |
Prozess-ID des Prozesses, der das Ereignis ausgelöst hat (chronyd). |
7121 |
uid |
Benutzer-ID, unter der der Prozess läuft. | 323 |
auid |
Audit-Benutzer-ID. | 4294967295 |
ses |
Audit-Sitzungs-ID. | 4294967295 |
msg (body) |
Frei formatierter Schlüssel-Wert-Block mit menschenlesbaren Details. | title="..." description="..." ... |
title |
Kurzzusammenfassung des Problems. Dieser Text wird in der Anomaly-audit-Tabelle als Title angezeigt. | NTS TLS handshake failed |
description |
Detaillierte Beschreibung, die üblicherweise den betroffenen NTS-Server oder das Zertifikatsproblem benennt. Wird im Webinterface als Description angezeigt. | Error with certificate from time.cloudflare.com |
exe |
Vollständiger Pfad zur ausführbaren Datei, die den Audit-Datensatz erzeugt hat. | /usr/sbin/chronyd |
hostname |
Für dieses Ereignis nicht verwendet. Immer ?. |
? |
addr |
Für dieses Ereignis nicht verwendet. Immer ?. |
? |
terminal |
Für dieses Ereignis nicht verwendet. Immer ?. |
? |
res |
Ergebnis-Flag von auditd. Für dieses benutzerdefinierte Ereignis ist es aus technischen Gründen immer auf success gesetzt. |
success |
UID |
Textueller Benutzername, der uid entspricht. |
chrony |
AUID |
Textuelle Darstellung von auid. |
unset |
Für die SIEM-/SOC-Integration gehen Sie typischerweise wie folgt vor:
- Filtern Sie auf
type=CUSTOM_NTS_INTEGRITY, um alle NTS-Integritätsereignisse zu erfassen. - Extrahieren Sie
title,descriptionundexeaus demmsg-Body zur Verwendung als normalisierte Felder (event.action,event.reason,process.nameund ähnliche). - Verwenden Sie den Zeitstempel des Audit-Headers
audit(…)als primäre Ereigniszeit und rechnen Sie ihn in die Zeitzone Ihres SIEM um.
Wiederholtes Auftreten dieses Ereignisses für denselben NTS-Server weist auf eine dauerhafte Fehlkonfiguration oder ein Verbindungsproblem hin, das behoben werden sollte, um eine korrekte und vertrauenswürdige Systemzeit zu gewährleisten.
Wann das Ereignis erzeugt wird
Ein CUSTOM_NTS_INTEGRITY-Ereignis wird immer dann erzeugt, wenn ein NTS-TLS-Handshake zwischen der Firewall (NTS-Client) und einem konfigurierten NTS-Server fehlschlägt.
Das Ereignis wird wie folgt erzeugt:
- Der NTP-Daemon
chronyderkennt, dass er einen NTS-TLS-Handshake mit einem NTS-Zeitserver nicht abschließen kann. - Typische technische Ursachen sind:
- Ungültiges, abgelaufenes oder nicht übereinstimmendes Serverzertifikat.
- Die Zertifikatskette des Servers kann nicht gegen eine vertrauenswürdige CA validiert werden.
- Inkompatible TLS-Parameter oder Cipher Suites.
- Netzwerkunterbrechungen oder Middleboxes, die den TLS-Handshake stören.
chronydruftaudit_log_user_message()auslibauditauf.auditdschreibt einen Eintrag vom TypCUSTOM_NTS_INTEGRITYin/var/log/audit/audit.logmit einem kurzentitleund einer ausführlicherendescription.
Um das Audit-Log vor Überflutung zu schützen, begrenzt die Firewall die Erzeugung dieses Audit-Ereignisses auf 4 Meldungen pro Stunde. Weitere Handshake-Fehler innerhalb dieser Stunde erzeugen keine zusätzlichen CUSTOM_NTS_INTEGRITY-Einträge.
Hinweis: Das Feld res innerhalb der Meldung ist aus technischen Gründen immer auf success gesetzt, obwohl die semantische Bedeutung des Ereignisses ein Handshake-Fehler ist. Der Fehler wird in den Feldern title und description ausgedrückt.
Beispiel eines audit.log-Eintrags
type=CUSTOM_NTS_INTEGRITY msg=audit(1419507305.264:11): pid=7121 uid=323 auid=4294967295 ses=4294967295 msg='title="NTS TLS handshake failed" description="Error with certificate from time.cloudflare.com" exe="/usr/sbin/chronyd" hostname=? addr=? terminal=? res=success'UID="chrony" AUID="unset"