feat(protokoll): Syslog-Sender nach RFC 5424 ohne Abhaengigkeit (#027)
Die Kopie beim Syslog-Server ist der vom sshkv-Host unabhaengige Beleg: wer die Datenbank uebernimmt, kann die Hash-Kette neu rechnen, aber nicht zurueckholen, was schon beim Syslog liegt. Eigene kleine Implementierung mit node:dgram/node:net statt einer Bibliothek, weil das Format ueberschaubar ist und jede Abhaengigkeit im Sicherheitskern zaehlt. Strukturierte Daten werden nach RFC 5424 escaped und begrenzt (2048 Byte), Severity folgt dem Ergebnis, Facility standardmaessig authpriv. Der Sender wirft nie und meldet Fehler hoechstens einmal je Minute, damit ein ausgefallener Syslog-Server weder Aktionen verhindert noch das Log flutet. Web und Worker bekommen die Variablen, weil beide protokollieren. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -60,6 +60,21 @@ SSHKV_BREAKGLASS_PASSWORD=
|
||||
# Zeitplan fuer den Abgleich aller Hosts (cron)
|
||||
SSHKV_SYNC_CRON=30 2 * * *
|
||||
|
||||
# --- Syslog (optional, #027) ---------------------------------------------------
|
||||
# Jeder Protokolleintrag geht zusaetzlich als RFC-5424-Zeile an einen Syslog-Server – die
|
||||
# Kopie ausserhalb von sshkv. Ohne SSHKV_SYSLOG_HOST ist die Weiterleitung aus. Es gehen nur
|
||||
# Akteur, Aktion, Ergebnis, Host, Zielbenutzer, Fingerprint und Hash hinaus, nie Details/Diff.
|
||||
# Web und Worker protokollieren beide; beide brauchen die Variablen.
|
||||
# SSHKV_SYSLOG_HOST=syslog.intern
|
||||
# Standard 514
|
||||
# SSHKV_SYSLOG_PORT=514
|
||||
# udp (Standard) oder tcp (Oktettzaehlung nach RFC 6587)
|
||||
# SSHKV_SYSLOG_PROTOKOLL=udp
|
||||
# APP-NAME im Syslog-Kopf (Standard sshkv)
|
||||
# SSHKV_SYSLOG_APPNAME=sshkv
|
||||
# Facility (Standard authpriv; auch auth, daemon, user, local0 … local7)
|
||||
# SSHKV_SYSLOG_FACILITY=authpriv
|
||||
|
||||
# --- Integrationstests (#011) ---------------------------------------------------
|
||||
# SSH-Testziele aus docker-compose.test.yml. Die Compose-Datei liest dieselben Variablen
|
||||
# fuer die Port-Bindung (host:port, nur 127.0.0.1).
|
||||
|
||||
Reference in New Issue
Block a user