Zum Inhalt

Authentifizierung - Sitzungs-Timeouts

Authentifizierung - Sitzungs-Timeouts

Einführung

USER_END protokolliert, dass eine authentifizierte Sitzung beendet wurde, weil das konfigurierte Leerlauf-Timeout abgelaufen ist. Es gilt für Webinterface- und JSON‑RPC‑API‑Sitzungen auf ADS‑TEC Industrial IT IRF1000 und IRF3000. Das Standard-Timeout beträgt 300 Sekunden. Jede Interaktion mit dem Webinterface setzt den Timer zurück. Jede gültige JSON‑RPC‑Anfrage setzt den Timer zurück.

Verwenden Sie dieses Ereignis, um zu überprüfen, ob unbeaufsichtigte Sitzungen automatisch geschlossen werden. Untersuchen Sie häufige USER_END-Ereignisse für privilegierte Konten, da sie auf offene Bedienkonsolen hindeuten können, von denen nicht abgemeldet wurde. Prüfen Sie den Wert Source auf unbekannte IP-Adressen (web) oder MAC-Adressen (adsdpd). Konfigurieren Sie für OT-Netzwerke ein striktes Timeout unter /priv/priv.php?id=USERS_SECURITYSETTINGS.

Webinterface-Ansicht

Die Authentifizierungs-Audit-Ansicht im aktuellen VIEW-Webinterface zeigt authentifizierungsbezogene Audit-Einträge in einer Tabelle an. Sie umfasst erfolgreiche und fehlgeschlagene Anmeldungen (USER_LOGIN), explizite Abmeldungen (USER_LOGOUT) und Leerlauf-Timeouts, die eine Sitzung beenden (USER_END).

Während einer aktiven Login-Ban-Periode werden fehlgeschlagene Anmeldeversuche nicht protokolliert, sodass zeitliche Lücken zwischen sichtbaren fehlgeschlagenen Anmeldungen auftreten können. Die Spalte Session zeigt die ersten vier Zeichen des Sitzungs-Hashes. Method zeigt web (einschließlich JSON‑RPC‑Zugriff) oder adsdpd. Source ist der Ursprung der Anfrage: eine IP-Adresse für Webzugriff oder eine MAC-Adresse für Zugriff über den adsdpd-Dienst.

Die Spalten sind wie folgt zugeordnet:

Feld Beschreibung Beispiel
Date Lokales Gerätedatum des Ereignisses 10/14/25
Time Lokale Gerätezeit des Ereignisses 10:26:31
Username Kontoname, dem die Sitzung gehörte admin
Action Taken Normalisierter Aktionstext. Bei einem Timeout wird ended-session angezeigt ended-session
Session Erste vier Zeichen des Sitzungs-Hashes d4ec
Method Anmeldemethode. web umfasst JSON‑RPC; adsdpd ist der Gerätedienst web
Source Ursprungsadresse. IP für web, MAC für adsdpd. Kann leer sein, wenn unbekannt 192.0.2.15
Reason Fehlergrund-Text, sofern verfügbar. Bei einem normalen Timeout leer
Result Ergebnis des Vorgangs (success oder failure) success

Erläuterung des rohen audit.log-Eintrags

Jedes Leerlauf-Timeout schreibt einen USER_END-Datensatz in audit.log. Standard-auditd-Felder wie pid, uid, auid, ses, UID und AUID werden von auditd selbst befüllt und folgen der Upstream-auditd-Dokumentation.

Der Beispieleintrag sieht im Log so aus und ist hier zur besseren Lesbarkeit umbrochen:

type=USER_END msg=audit(1760430391.184:24): pid=5447 uid=0 auid=4294967295 ses=4294967295 msg='op=user-session-timeout acct="admin" exe="web" hostname=? addr=? terminal=d4ec reason= res=success'^]UID="root" AUID="unset"

Die Felder werden wie folgt interpretiert:

Feld Beschreibung Beispiel
type Audit-Nachrichtentyp USER_END
msg Audit-Zeitstempel und Datensatz-ID (audit(…:…)) audit(1760430391.184:24)
pid Prozess-ID des Emitters (rpcd) 5447
uid Effektive Benutzer-ID des Emitters 0
auid Audit-Benutzer-ID (hier nicht gesetzt) 4294967295
ses Numerische Audit-Sitzungs-ID 4294967295
op Operationszeichenfolge innerhalb von msg='…' user-session-timeout
acct Kontoname innerhalb von msg='…' admin
exe Quellkomponente innerhalb von msg='…'. web umfasst JSON‑RPC; adsdpd ist Dienstzugriff web
hostname Nicht verwendet; bleibt ? ?
addr Quelladresse. IP für web, MAC für adsdpd ?
terminal Erste vier Zeichen des SHA‑256-Hashes der Sitzung d4ec
reason Grund-Text bei Fehlern. Bei einem normalen Timeout leer
res Ergebnis des Vorgangs (success oder failure) success
UID Textkopie von uid root
AUID Textkopie von auid unset

Für die SIEM- oder SOC-Integration parsen Sie die Schlüssel-Wert-Paare innerhalb des in Anführungszeichen gesetzten msg='…'-Abschnitts, um op, acct, exe, addr, terminal, reason und res zu extrahieren. Um Authentifizierungsaktivitäten zu korrelieren, kombinieren Sie acct (Benutzername), terminal (Präfix des Sitzungs-Hashes) und exe (Methode). Ein normales Leerlauf-Timeout hat res=success und ein leeres reason.

Wann das Ereignis erzeugt wird

USER_END wird erzeugt, wenn eine angemeldete Sitzung das konfigurierte Leerlauf-Timeout erreicht und der rpcd-Dienst die Sitzung beendet.

Der rpcd-Prozess ruft seine Funktion destroy() auf, die audit_log_acct_message() aus libaudit verwendet, um einen USER_END-Datensatz in audit.log zu schreiben. Dies gilt sowohl für Webinterface-Sitzungen als auch für JSON‑RPC‑API‑Sitzungen; JSON‑RPC‑Sitzungen erscheinen in den Logs als Methode web.

USER_END unterscheidet sich von USER_LOGOUT, das eine benutzerinitiierte Abmeldung protokolliert. Ein normales Timeout hat op=user-session-timeout, einen gültigen acct-Benutzernamen, exe=web oder exe=adsdpd und res=success.

Beispiel-audit.log-Eintrag

<pre>
type=USER_END msg=audit(1760430391.184:24): pid=5447 uid=0 auid=4294967295 ses=4294967295 msg='op=user-session-timeout acct="admin" exe="web" hostname=? addr=? terminal=d4ec reason= res=success'^]UID="root" AUID="unset"
</pre>