M 4.106 Aktivieren der Systemprotokollierung
Verantwortlich für Initiierung: Leiter IT, IT-Sicherheitsmanagement
Verantwortlich für Umsetzung: Administrator
Die systemeigene Unix-Protokollierung syslog dient dem Festhalten von Informationen, die vom Betriebssystem oder von Anwendungsprozessen generiert werden. Sicherheitsrelevante Ereignisse, wie versuchte Anmeldung bzw. Ausführung des Befehls su sollten unbedingt protokolliert werden und einer späteren Auswertung zur Verfügung stehen.
Der erforderliche Daemon syslogd wird in der Regel automatisch gestartet und über die Datei /etc/syslog.conf konfiguriert. Durch geeignete Rechtevergabe muss sichergestellt werden, dass nur Systemadministratoren diese Datei ändern können und dass die Protokolldateien in /var/log und /var/adm nur von Systemadministratoren gelesen werden können. Alle Änderungen an /etc/syslog.conf sind zu dokumentieren. Bei der Anpassung an das vorliegende IT-System sollte zunächst alles protokolliert werden, danach können bei Bedarf stufenweise einzelne Bereiche deaktiviert werden. Durch eine ausreichende Dimensionierung der /var-Partition ist sicherzustellen, dass ausreichend Platz für die Protokolldateien zur Verfügung steht. Das folgende Beispiel für eine Konfigurationsdatei ist in Anlehnung an eine SunOS-Konfiguration erstellt worden und definiert eine ausführliche Protokollierung in verschiedenen Dateien.
#ident "@(#)syslog.conf 1.3 93/12/09 SMI" /* SunOS 5.0 */
#
# Alle Meldungen werden zu einem Loghost geschickt, der in der Datei
# /etc/hosts definiert werden muss.
#
# Es muss TAB als Separator verwendet werden!
#
# Test: . syslogd mit der Option "-d" starten
# . syslogd mit kill -HUP nach jeder Änderung dieser Datei starten
# . die Logdatei muss vor dem Start/Neustart bereits existieren
# . mit/usr/ucb/logger können Testmeldungen für jede facility
# und priority generiert werden
#
*.err;kern.warning;auth.err;daemon.err /dev/console
*.alert;kern.err;daemon.err operator
*.alert root
# zeigt emerg-Meldungen auf Terminals an (verwendet WALL)
*.emerg *
#
kern.info ifdef(`LOGHOST', /var/log/kernlog, @loghost)
user.info ifdef(`LOGHOST', /var/log/userlog, @loghost)
mail.info ifdef(`LOGHOST', /var/log/maillog, @loghost)
daemon.info ifdef(`LOGHOST', /var/log/daemonlog, @loghost)
auth.info ifdef(`LOGHOST', /var/log/authlog, @loghost)
lpr.info ifdef(`LOGHOST', /var/log/lprlog, @loghost)
news,uucp.info ifdef(`LOGHOST', /var/log/newslog, @loghost)
cron.info ifdef(`LOGHOST', /var/log/cronlog, @loghost)
#
## alle anderen "local" Nachrichten, für eigene Programme
local0,local1.info ifdef(`LOGHOST', /var/log/locallog, @loghost)
local2,local3,local4.info ifdef(`LOGHOST', /var/log/locallog, @loghost)
local5,local6,local7.info ifdef(`LOGHOST', /var/log/locallog, @loghost)
#
# alle Alarme und höher werden in eine separate Datei geschrieben:
*.err ifdef(`LOGHOST', /var/log/alertlog, @loghost)
#
# Beispiel Log levels:
# ------------------------------------
# 'su root' failed for .. auth.err
# ROOT LOGIN REFUSED ON ... auth.err
# 'su root' succeeded for.. auth.notice
Ergänzende Kontrollfragen:
- Sind die Änderungen in /etc/syslog.conf dokumentiert worden?
- Ist sichergestellt, dass nur der Systemadministrator die Konfiguration ändern darf?
- Ist sichergestellt, dass die Protokolldateien in /var/log bzw. /var/adm nur für den Systemadministrator lesbar sind?