Authentifizierung - Anmeldung

Einführung
Ereignisse der Kategorie Authentifizierung - Anmeldung protokollieren jeden Versuch, über das Webinterface, JSON‑RPC oder Adsdpd auf ein IRF1000/IRF3000-Gerät zuzugreifen. Das Ereignis hilft Ihnen nachzuweisen, wer sich von wo aus und mit welchem Ergebnis anzumelden versucht hat. Es erfasst außerdem explizite Abmeldungen und Sitzungen, die aufgrund eines Leerlauf-Timeouts beendet wurden. Achten Sie auf wiederholte auth-failed-, invalid-user-, netsource-mismatch- und session-limit-Gründe. Untersuchen Sie Quelländerungen bei gleichem Sitzungs-Hash und beschränken Sie den Zugriff auf vertrauenswürdige IP- oder MAC-Adressen. Verwenden Sie starke Passwörter und halten Sie die Login-Ban-Funktion aktiv, um Brute-Force-Versuche zu verlangsamen.
Webinterface-Ansicht
Das VIEW-Webinterface zeigt Audit-Einträge zur Authentifizierung in einer einzigen Tabelle an. Diese Tabelle fasst USER_LOGIN-, USER_LOGOUT- und USER_END-Ereignisse in einer Ansicht zusammen. Die Spalte Session zeigt die ersten vier Zeichen des Sitzungs-Hashes an. Method zeigt web (einschließlich JSON‑RPC) oder adsdpd an. Während einer aktiven Login-Ban-Periode werden weitere fehlgeschlagene Anmeldeversuche nicht zu dieser Tabelle hinzugefügt.
Für jede Zeile sind die Spalten wie folgt zugeordnet:
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Date | Lokales Datum, an dem das Ereignis geschrieben wurde | 10/14/25 |
| Time | Lokale Uhrzeit, zu der das Ereignis geschrieben wurde | 08:21:05 |
| Username | Kontoname aus dem Versuch; bei fehlgeschlagenen Anmeldungen der versuchte Name | admin |
| Action Taken | Übergeordnete Aktion, abgeleitet aus den Audit-Feldern type und op |
logged-in; logged-out; idle-timeout |
| Session | Erste vier Zeichen des Sitzungs-Hashes (entspricht terminal im Log) |
d4ec |
| Method | Anmeldeschnittstelle, die das Ereignis erzeugt hat | web; adsdpd |
| Source | Ursprungsadresse der Anfrage. IP-Adresse bei web, MAC-Adresse bei adsdpd | 192.168.0.40; 86:b7:75:70:0a:6d |
| Reason | Grund-Zeichenkette. Bei Fehlern wird die Ursache aus dem Log angezeigt (zum Beispiel invalid-user); bei erfolgreichen Anmeldungen zeigt das Webinterface success an |
invalid-user; auth-failed; netsource-mismatch; session-limit; success |
| Result | Ergebnis der Aktion | success; failed |
Erläuterung des rohen audit.log-Eintrags
Jede zur Kategorie Authentifizierung - Anmeldung gehörende Zeile in audit.log ist ein Linux-Audit-Datensatz, der von rpcd geschrieben wird. Für die SIEM-Integration konzentrieren Sie sich hauptsächlich auf die strukturierten Felder innerhalb von msg='…'. Generische auditd-interne Felder sollten gemäß der offiziellen auditd-Dokumentation interpretiert werden.
| Feld | Beschreibung | Beispiel |
|---|---|---|
| type | Audit-Datensatztyp. Für diese Ansicht: USER_LOGIN, USER_LOGOUT, USER_END |
USER_LOGIN |
| msg=audit(ts:seq) | Auditd-Zeitstempel und Sequenznummer | audit(1760430052.348:23) |
| pid | Prozess-ID, die das Ereignis ausgelöst hat (auditd-intern) | 5447 |
| uid | Reale UID (auditd-intern) | 0 |
| auid | Audit-UID (auditd-intern) | 4294967295 |
| ses | Audit-Sitzungs-ID (auditd-intern) | 4294967295 |
| msg='op=…' | Strukturierte Nutzdaten von rpcd, die die unten aufgeführten Felder enthalten |
op=user-login … |
| op | Aktions-Schlüsselwort. Beispiele: user-login, user-session-limit, session-access-mismatch-net_src |
user-login |
| acct | Beim Versuch verwendeter Benutzername | admin; invalid-user |
| exe | Quellkomponente der Anfrage | web; adsdpd |
| hostname | Von diesem Produkt nicht verwendet | ? |
| addr | Quelladresse. IP-Adresse bei web, MAC-Adresse bei adsdpd | 192.168.0.40; 86:b7:… |
| terminal | Erste vier Zeichen des SHA‑256-Hashes der Sitzungs-ID | d4ec |
| id / ID | Sitzungskennung, falls vorhanden. Kann in einigen Datensätzen unset sein |
4294967295; unset |
| reason | Grund-Zeichenkette bei Fehlern | invalid-user; auth-failed; netsource-mismatch; session-limit |
| res | Ergebnis der Aktion | success; failed |
SIEM-Tipps:
- Parsen Sie mindestens
type,op,acct,exe,addr,terminal,reasonundres. - Alarmieren Sie bei vielen
auth-failed- oderinvalid-user-Ergebnissen von derselben Quelle, bei jedemnetsource-mismatchund bei einer Häufung vonsession-limit-Ereignissen pro Benutzer. - Denken Sie daran, dass während eines Login-Bans weitere fehlgeschlagene Versuche nicht protokolliert werden; korrelieren Sie diese, falls verfügbar, mit anderer Sperr- oder Ban-Telemetrie.
Wann das Ereignis erzeugt wird
Das Gerät erzeugt Audit-Datensätze der Kategorie Authentifizierung - Anmeldung immer dann, wenn der rpcd-Prozess einen Benutzer authentifiziert oder eine Sitzung beendet.
- type=USER_LOGIN wird bei jedem Authentifizierungsversuch über web (einschließlich JSON‑RPC) oder Adsdpd ausgegeben. Bei Erfolg gilt
res=successund das Feldreasonim rohen Log ist leer. Bei Fehlschlag giltres=failedundreasonenthält die Ursache, zum Beispielinvalid-user,auth-failed,netsource-mismatchodersession-limit. Während einer aktiven Login-Ban-Periode werden weitere fehlgeschlagene Versuche nicht protokolliert. - type=USER_LOGOUT wird ausgegeben, wenn sich ein Benutzer explizit von einer Sitzung abmeldet.
- type=USER_END wird ausgegeben, wenn das Gerät eine Sitzung aufgrund eines Leerlauf-Timeouts beendet.
Der rpcd-Prozess erstellt und verfolgt Sitzungen und ruft audit_log_acct_message() aus libaudit auf, um diese Datensätze in audit.log zu schreiben. Bei web- und JSON‑RPC-Zugriff ist die Quelladresse eine IP-Adresse. Bei Adsdpd ist die Quelladresse eine MAC-Adresse, da es sich um eine Layer‑2-Anfrage handelt. Der terminal-Wert besteht aus den ersten vier Zeichen des SHA‑256-Hashes der Sitzungs-ID.
Beispiel eines audit.log-Eintrags
(1) type=USER_LOGIN msg=audit(1760430025.988:20): pid=5447 uid=0 auid=4294967295 ses=4294967295 msg='op=user-login acct="admin" exe="adsdpd" hostname=? addr=86:b7:75:70:0a:6d terminal=f171 reason= res=success'UID="root" AUID="unset"
(2) type=USER_LOGIN msg=audit(1760430052.348:23): pid=5447 uid=0 auid=4294967295 ses=4294967295 msg='op=user-login acct="admin" exe="web" hostname=? addr=192.168.0.40 terminal=d4ec reason= res=success'UID="root" AUID="unset"
(1) type=USER_LOGIN msg=audit(1760422861.352:32): pid=5446 uid=0 auid=4294967295 ses=4294967295 msg='op=user-login acct="invalid-user" exe="web" hostname=? addr=192.168.0.40 terminal=? reason="invalid-user" res=failed'^]UID="root" AUID="unset"
(2) type=USER_LOGIN msg=audit(1760422865.716:33): pid=5446 uid=0 auid=4294967295 ses=4294967295 msg='op=user-login acct="admin" exe="web" hostname=? addr=192.168.0.40 terminal=? reason="auth-failed" res=failed'^]UID="root" AUID="unset"
(3) type=USER_LOGIN msg=audit(1760422882.944:35): pid=5446 uid=0 auid=4294967295 ses=4294967295 msg='op=session-access-mismatch-net_src id=4294967295 exe="web" hostname=? addr=172.16.0.40 terminal=? reason="netsource-mismatch" res=failed'^]UID="root" AUID="unset" ID="unset"
(4) type=USER_LOGIN msg=audit(1760422924.180:55): pid=5446 uid=0 auid=4294967295 ses=4294967295 msg='op=user-session-limit acct="admin" exe="web" hostname=? addr=192.168.0.40 terminal=? reason="session-limit" res=failed'^]UID="root" AUID="unset"
(5) type=USER_LOGIN msg=audit(1760423232.724:79): pid=5446 uid=0 auid=4294967295 ses=4294967295 msg='op=user-login acct="admin" exe="adsdpd" hostname=? addr=86:b7:75:70:0a:6d terminal=? reason="auth-failed" res=failed'UID="root" AUID="unset"