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. |