Remote Service - VPN

Einführung
CUSTOM_REMOTE_SERVICE-Audit-Ereignisse melden Big‑LinX-VPN-Anfragen und VPN-Statusänderungen auf ADS‑TEC IRF1000- und IRF3000-Geräten. Sie dokumentieren, wann das Gerät den Aufbau oder Abbau des VPN-Tunnels anfordert und wann der Tunnel tatsächlich verbunden oder nicht verbunden ist. Dies unterstützt die Nachverfolgung von Änderungen, die Vorfallanalyse und die SOC-Korrelation für Remote-Service-Aktivitäten in OT-Netzwerken. Achten Sie auf unerwartete connected- oder up-Ereignisse außerhalb von Wartungsfenstern, schnelles Umschalten zwischen up/down oder häufige reload-Zustände, da diese Muster auf Missbrauch, Fehlkonfiguration oder Instabilität hindeuten können. Die Ausgabe von Ereignissen ist auf fünf Meldungen pro Stunde begrenzt; korrelieren Sie daher bei sehr häufiger VPN-Aktivität immer mit anderen Protokollen.
Webinterface-Ansicht
Die VIEW-Ansicht im Webinterface zeigt diese Einträge unter Remote service audit im Abschnitt Remote Service - VPN. Sie listet den geparsten Inhalt der CUSTOM_REMOTE_SERVICE-Ereignisse in Spaltenform auf und blendet interne auditd-Metadaten aus.
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Date | Lokales Gerätedatum, abgeleitet aus dem Audit-Zeitstempel. | 10/14/25 |
| Time | Lokale Gerätezeit, abgeleitet aus dem Audit-Zeitstempel. | 16:57:36 |
| Operation | Operation aus der Audit-Meldung. Werte: vpn_request, vpn_state_change. |
vpn_state_change |
| State | Angeforderter oder resultierender VPN-Status. Werte: reload, up, down, connected, not_connected. |
connected |
| Requester | Quelle der Anfrage. Derzeit nicht gesetzt und angezeigt als (unknown). |
(unknown) |
Die Liste entspricht dem Beispiel im Screenshot: vpn_request mit den Zuständen reload, up und down sowie vpn_state_change mit den Zuständen connected und not_connected, wobei die Spalte Requester derzeit immer (unknown) anzeigt. Die Webansicht ist auf Lesbarkeit für Bediener ausgerichtet und zeigt keine internen auditd-Felder wie pid, uid, auid oder ses an.
Erläuterung der rohen audit.log-Einträge
Jeder Datensatz in /var/log/audit/audit.log ist eine standardmäßige auditd-Zeile mit dem Typ CUSTOM_REMOTE_SERVICE. Die entscheidenden Daten für die SIEM- oder SOC-Korrelation befinden sich im msg='…'-Teil des Datensatzes. Generische auditd-Felder werden hier nur zusammengefasst; für die vollständige Semantik beachten Sie bitte die offizielle auditd-Dokumentation.
| Feld | Beschreibung | Beispiel |
|---|---|---|
| type | Audit-Datensatztyp. Kennzeichnet dies als Remote-Service-VPN-Ereignis. | CUSTOM_REMOTE_SERVICE |
| msg=audit(ts:serial) | Audit-Header mit Sekunden.Mikrosekunden seit Epoch und einer Serien-ID. | audit(1760453856.061:164) |
| pid | Prozess-ID des Erzeugers (statusd). |
6964 |
| uid | Effektive UID des erzeugenden Prozesses. | 0 |
| auid | Audit-Benutzer-ID (Login-UID). | 4294967295 |
| ses | Audit-Sitzungs-ID. | 4294967295 |
| msg.operation | Operations-Feld. Entspricht "Operation" in VIEW. Werte: vpn_request, vpn_state_change. |
vpn_request |
| msg.state | Status-Feld. Entspricht "State" in VIEW. Werte: reload, up, down, connected, not_connected. |
connected |
| msg.requester | Quelle der Anfrage. Derzeit nicht gesetzt; erscheint als (unknown). Entspricht "Requester" in VIEW. |
(unknown) |
| msg.exe | Ausführbare Datei, die das Ereignis erzeugt hat. | /usr/sbin/statusd |
| hostname | Hostname-Feld von auditd. Hier nicht verwendet. | ? |
| addr | Adress-Feld von auditd. Hier nicht verwendet. | - |
| terminal | Terminal-Feld von auditd. Hier nicht verwendet. | ? |
| res | Ergebnis-Flag des Erzeugers. Für diese Ereignisse üblicherweise success. |
success |
| UID | Von auditd aufgelöste textuelle UID. | root |
| AUID | Von auditd aufgelöste textuelle AUID. | unset |
SOC-Hinweise:
- Alarmieren Sie bei
vpn_state_changemit dem Statusconnectedaußerhalb genehmigter Wartungs- oder Servicefenster. - Alarmieren Sie, wenn auf eine
vpn_requestmit dem Statusupnicht innerhalb des erwarteten Zeitfensters einevpn_state_changemit dem Statusconnectedfolgt, da dies auf Verbindungsprobleme hindeuten kann. - Achten Sie auf wiederholte
reload-Zustände oder schnelleup/down-Zyklen, die auf Konfigurationsprobleme oder instabile Verbindungen hindeuten können. - Korrelieren Sie VPN-Audit-Ereignisse mit Administrator-Anmeldungen, Änderungstickets und anderen Systemprotokollen. Berücksichtigen Sie beim Erstellen von Korrelationsregeln und Zählern die Begrenzung auf fünf Ereignisse pro Stunde.
Wann das Ereignis erzeugt wird
Der Daemon statusd erzeugt CUSTOM_REMOTE_SERVICE-Ereignisse über die libaudit-Funktion audit_log_user_message(). Er steuert Big‑LinX-VPN-Verbindungen und schreibt einen Audit-Datensatz, sobald das Gerät eine VPN-Aktion anfordert oder eine VPN-Statusänderung feststellt.
Operationen:
- vpn_request: das Gerät hat eine Änderung des VPN-Status angefordert.
- vpn_state_change: der beobachtete VPN-Status hat sich geändert.
Zustände:
- reload: das Gerät ruft die aktuelle Konfiguration und Aufgabendaten von den Big‑LinX-Servern ab.
- up: das Gerät fordert den Aufbau des VPN-Tunnels an.
- down: das Gerät fordert den Abbau des VPN-Tunnels an.
- connected: der VPN-Tunnel ist aufgebaut und mit Big‑LinX verbunden.
- not_connected: der VPN-Tunnel ist abgebaut und nicht mehr verbunden.
Das Feld requester wird derzeit nicht gefüllt und wird in allen Ausgaben als (unknown) angezeigt. Die Ausgabe ist auf fünf CUSTOM_REMOTE_SERVICE-Meldungen pro Stunde begrenzt, um die audit.log-Datei zu schützen. Sehr stoßweise VPN-Aktivität erzeugt daher möglicherweise keinen 1:1-Ereignisstrom im Audit-Log und muss mit anderen Quellen wie Systemprotokollen oder VPN-Diagnosen korreliert werden.
Beispiel für einen audit.log-Eintrag
(1) type=CUSTOM_REMOTE_SERVICE msg=audit(1760362567.867:32): pid=7843 uid=0 auid=4294967295 ses=4294967295 msg='operation="vpn_request" state="reload" requester=(unknown) exe="/usr/sbin/statusd" hostname=? addr=- terminal=? res=success'UID="root" AUID="unset"
(2) type=CUSTOM_REMOTE_SERVICE msg=audit(1760453848.569:163): pid=6964 uid=0 auid=4294967295 ses=4294967295 msg='operation="vpn_request" state="up" requester=(unknown) exe="/usr/sbin/statusd" hostname=? addr=- terminal=? res=success'UID="root" AUID="unset"
(3) type=CUSTOM_REMOTE_SERVICE msg=audit(1760453856.061:164): pid=6964 uid=0 auid=4294967295 ses=4294967295 msg='operation="vpn_state_change" state="connected" exe="/usr/sbin/statusd" hostname=? addr=- terminal=? res=success'UID="root" AUID="unset"
(4) type=CUSTOM_REMOTE_SERVICE msg=audit(1760454019.474:169): pid=6964 uid=0 auid=4294967295 ses=4294967295 msg='operation="vpn_request" state="down" requester=(unknown) exe="/usr/sbin/statusd" hostname=? addr=- terminal=? res=success'UID="root" AUID="unset"
(5) type=CUSTOM_REMOTE_SERVICE msg=audit(1760454019.674:170): pid=6964 uid=0 auid=4294967295 ses=4294967295 msg='operation="vpn_state_change" state="not_connected" exe="/usr/sbin/statusd" hostname=? addr=- terminal=? res=success'UID="root" AUID="unset"