Einführung / Konfiguration des FirstSpirit-Servers / Zusätzliche Sicherheitsmechanismen / Audit-Logging (Log4j2) / Audit-Logging (Log4j1)
Audit-Logging in FirstSpirit
Inhaltsverzeichnis |
Um einen einwandfreien und sicheren Betrieb von FirstSpirit-Servern zu gewährleisten, bietet FirstSpirit bei Bedarf Möglichkeiten für ein Audit-Logging. Um dem Missbrauch von Rechten vorzubeugen, können hiermit verdächtige Aktivitäten nachvollzogen und zugeordnet werden.
Geloggte Aktivitäten
Die folgenden Aktivitäten können verfolgt und geloggt werden:
- Projekte anlegen / löschen
- Benutzer anlegen / löschen
- Gruppen anlegen / löschen
- Benutzer einem Projekt hinzufügen / aus Projekt entfernen
- Module installieren / aktualisieren / löschen
- Aufträge installieren / aktualisieren / löschen (global u. projekt-lokal)
- Aktionsvorlagen installieren / aktualisieren / löschen (global u. projekt-lokal)
- Alle Projektänderungen über den ServerManager mit Ausnahme von Font hinzufügen und Repository-Version ändern
Log-Level
Es existieren drei Log-Level für die Ausgabe: INFO, DEBUG und TRACE.
- INFO: Allgemeine Ausgabe, wer hat wo, welche Änderung vorgenommen. Das „Wer“ ist hierbei definiert durch den Benutzer-Namen, die Benutzer-ID sowie den Session-Kontext.
- DEBUG: Bei diesem Log-Level kommt eine leicht zu erfassende, minimalistisch gehaltene Vergleichsansicht der Änderungen hinzu.
- TRACE: Es erfolgt eine komplette Ausgabe aller geänderten Konfigurationen. Änderungen werden gut sichtbar hervorgehoben.
Audit-Logging aktivieren
Die Audit-Funktionalitäten sind per default zunächst deaktiviert. Sie können in der fs-server.conf durch Setzen des Parameters audit.logging.enabled=true aktiviert werden. Wenn aktiv, wird das Audit-Logging per default in der fs-server.log-Datei persistiert. Es wird empfohlen, das Verhalten des Audit-Logging durch die Log4j-Konfiguration anzupassen, und zumindest die Persistenz der Log-Ausgaben in einer eigenen Datei zu realisieren. Die Konfiguration erfolgt in der Datei fs-logging.conf (siehe Konfiguration Logging).
Rudimentäres Konfigurations-Beispiel
Beispielkonfiguration für einfaches Audit-Logging bis Ebene DEBUG mit Ausgabe in fs-audit.log:
# enable audit logging
log4j.logger.de.espirit.firstspirit.logging.audit=DEBUG, audit
# disable root logger for audit logging (fs)
log4j.additivity.de.espirit.firstspirit.logging.audit=false
log4j.appender.audit=org.apache.log4j.RollingFileAppender
log4j.appender.audit.File=/home/fstester07/firstspirit/log/fs-audit.log
log4j.appender.audit.MaxFileSize=5MB
# keep only one backup file
log4j.appender.audit.MaxBackupIndex=1
log4j.appender.audit.layout=org.apache.log4j.PatternLayout
log4j.appender.audit.layout.ConversionPattern=%p %d (%c) %m%n
Beispielkonfiguration mit Ausgabe von TRACE-Meldungen
Beispielkonfiguration Audit-Logging mit Ausgabe bis Ebene DEBUG in fs-audit.log und TRACE Meldungen in fs-traceaudit.log:
# enable audit logging with two logfiles.
# The audit log for INFO and DEBUG and the traceAudit log for TRACE logging
log4j.logger.de.espirit.firstspirit.logging.audit=TRACE, audit, traceAudit
# disable root logger for audit logging (fs)
log4j.additivity.de.espirit.firstspirit.logging.audit=false
log4j.appender.audit=org.apache.log4j.RollingFileAppender
log4j.appender.audit.File=/home/fstester07/firstspirit/log/fs-audit.log
log4j.appender.audit.MaxFileSize=5MB
#don't log TRACE to the audit log
log4j.appender.audit.Threshold=DEBUG
# keep only one backup file
log4j.appender.audit.MaxBackupIndex=1
log4j.appender.audit.layout=org.apache.log4j.PatternLayout
log4j.appender.audit.layout.ConversionPattern=%p %d (%c) %m%n
log4j.appender.traceAudit=org.apache.log4j.RollingFileAppender
log4j.appender.traceAudit.File=/home/fstester07/firstspirit/log/fs-traceaudit.log
log4j.appender.traceAudit.MaxFileSize=5MB
# log TRACE only to the traceAudit log
log4j.appender.traceAudit.filter.a=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.traceAudit.filter.a.LevelMin=TRACE
log4j.appender.traceAudit.filter.a.LevelMax=TRACE
# keep only one backup file
log4j.appender.traceAudit.MaxBackupIndex=1
log4j.appender.traceAudit.layout=org.apache.log4j.PatternLayout
log4j.appender.traceAudit.layout.ConversionPattern=%p %d (%c) %m%n
Beispielhafter Logging-Eintrag
Ein Logging-Eintrag auf INFO-Ebene bei Änderung der Mitglieder einer Projekt-Gruppe sieht beispielsweise wie folgt aus:
INFO 2018-07-10 08:34:50,443 (de.espirit.firstspirit.logging.audit.ProjectDTOLogger)
Benutzername ( id: 5471 ) changed project properties for
{ project : Mithras ; id : 296791 }
172.17.16.206 (fsSession=877290240094464842, fsLogin=FirstSpiritLogin,
session=SystemUser, client=Windows 10 10.0 amd64
(Java(TM) SE Runtime Environment 1.8.0_171-b11))
Zugriff auf die Log-Dateien per ServerMonitoring
Die durch das Audit-Logging angelegten Log-Dateien können über das ServerMonitoring heruntergeladen werden. Hierzu muss im ServerMonitoring unter dem Punkt FirstSpirit / Konfiguration / System auf „Datei-Download“ geklickt werden (siehe Screenshot). Nun den Ordner log öffnen und die gewünschte Datei auswählen.
![]() |
Um Dateien über den beschriebenen Weg herunterladen zu können, muss sichergestellt sein, dass sie sich im FirstSpirit Log-Verzeichnis befinden. Dies kann durch die Log4J-Konfiguration in der Datei fs-logging.conf sichergestellt werden. |