Sophos Firewall Logfile Rotation

Seit spätestens SFOS 19.5.0 gibt in der advanced Shell die Möglichkeit die Sophos Firewall Logdatei Rotation (logrotation) nach seinen Bedürfnissen besser anzupassen. Dieser Post erklärt das "Wie" und "Wo".

Einleitung

In der Version 19.5.0 wurde etwas an der Rotation der Logdateien geändert. Inwieweit die Sophos Firewall Logfile Rotation in früheren Releases nach eigenen Wünschen angepasst werden konnte, kann ich leider nicht sagen. Ich bin ein Freund der Nutzung von aktuellen Versionen und habe mich daher nicht näher mit Vorgängerversionen beschäftigt. Soweit ich aber richtig informiert bin, war dies vorher nicht (als Endanwender) möglich.

In diesem Post zeige ich Euch wo und wie man die Konfiguration der Logdatei Rotation anpassen kann. Probiert es gerne aus und teilt Eure Erfahrungen in den Kommentaren mit.

Doch vorab die obligatorische Wartung:

Achtung

Die Nutzung der advanced Shell und die Konfiguration sollte nur durch erfahrene Leute durchgeführt werden. Insbesondere die Nutzung des VI Editors sollte vertraut sein, da dieser seine ganz eigene Syntax in der Bedienung hat (Hilfestellung VI).
Eine falsche Nutzung der Shell oder eine fehlerhafte Konfiguration der Rotation kann zu unerwünschten Nebenwirkungen wie Instabilität, Abstürzten oder vollen Festplatten führen!
Konfigurationen sollten wie immer in einer Testumgebung vorab getestet werden!
Beachtet auch immer wieviel Speicherplatz Ihr zur Verfügung habt!

Das "WO"

Die Konfiguration der Rotation liegt in dem Verzeichnis "/static/logrotate". In diesem Verzeichnis sind bereits zwei Konfigurationen vorhanden. Eine Datei "big_logrotate.conf" und eine Datei "small_logrotate.conf". Wie der Name bereits aussagt, werden über die eine Datei mehr Daten als bei der anderen vorgehalten.

Die Auswahl der Konfiguration erfolgt über einen Symlink "logrotate.conf" der auf eine der beiden Konfigurationen zeigt. Man kann also mehrere Konfigurationen ablegen und mit einer Anpassung des Links schnell hin und her wechseln.

Sophos Firewall Logfile Rotation
Auflistung der Konfigurationsdateien. Aktuelle Konfiguration (Symlink) = big_logrotate.conf

Das "WIE"

Grundlegend

Dateisystem schreibend mounten

Vor jeder Änderung muss zuvor das Dateisystem schreibend gemountet werden.

Advanced Shell - Dateisystem schreibend mounten
mount -rw remount /

Ab jetzt könnt Ihr neue Konfigurationen anlegen, oder bearbeiten.

Anweisung

Bitte nach Abschluss das Dateisystem wieder lesend mounten und nicht in dem Zustand lassen:

Advanced Shell - Dateisystem lesend mounten
mount -ro remount /

Eigene Konfigurationen erstellen und bearbeiten

Die originalen Konfigurationen solltet Ihr immer so bestehen lassen, wie sie sind, damit Ihr einen Weg zurück gehen könnt.
Daher legt Ihr zuerst eine neue Konfiguration an. Mit folgendem Befehl kopiert Ihr die "big_logrotate.conf" in eine neue Datei - hier: "my_config01.conf".
Den Namen der Zieldatei könnt Ihr nach Belieben anpassen.

Advanced Shell - Neue Konfiguration erstellen
cp /static/logrotate/big_logrotate.conf /static/logrotate/my_config01.conf

Und schon liegt die neue Konfiguration im Verzeichnis "/static/logrotate" bereit. Die Datei könnt Ihr nach Euren Wünschen mit "vi" bearbeiten. Ein paar Hinweise findet Ihr weiter unten

Information

Denkt bitte wie oben beschrieben daran das Dateisystem wieder lesend zu mounten!

Andere Konfiguration aktivieren

Eine andere Konfiguration lässt sich mit folgendem Befehl aktivieren. Schaut vorher aber in dem Verzeichnis nach, welche originale Konfiguration auf Eurer Firewall aktiv ist mit einem "ls -ls /static/logrotate" damit Ihr am Ende wieder zum Original zurück wechseln könnt.

Advanced Shell: Andere Konfiguration anwenden
cd /static/logrotate
ln -sf /static/logrotate/my_config01.conf  logrotate.conf

Der Befehl überschreibt den vorhandenen Symlink "logrotate.conf" mit Eurem neuen Ziel ("my_config01.conf")

Die neue Konfiguration ist nun aktiv. Mehr müsst Ihr hier nicht machen. In meinen Tests war die neue Konfiguration ohne Neustart von Diensten direkt aktiv.

Information

Denkt bitte wie oben beschrieben daran das Dateisystem wieder lesend zu mounten!

Originale Konfiguration aktivieren

Die originale Konfiguration lässt sich mit folgendem Befehl wieder aktivieren. Sollte eine andere Konfiguration aktiv gewesen sein, dann ersetzt bitte "big_logrotate.conf" durch die entsprechende Datei.

Advanced Shell: Originale Konfiguration anwenden
cd /static/logrotate
ln -sf /static/logrotate/big_logrotate.conf  logrotate.conf

Information

Denkt bitte wie oben beschrieben daran das Dateisystem wieder lesend zu mounten!

Anpassungen der Konfiguration

In diesem Block stelle ich Euch ein paar Anpassungen vor die Ihr verwenden könnt. Die Liste ist nicht vollständig, aber reicht für die wichtigsten Anforderungen meiner Meinung nach. Es soll ja auch nur für ein Troubleshooting sein.

Wie ist die Konfiguration aufgebaut

Globale Einstellungen

Ganz oben in der Konfgiurationsdatei befinden sich ein paar globale Einstellungen

  • compress
    Rotierte Dateien sollen komprimiert werden
  • dateext
    Komprimierte Dateien sollen ein Datum angehängt bekommen
  • dateformat -%Y%m%d_%H%M%S
    Das Datumsformnat für die rotierten Dateien
  • missingok
    Wenn das Logfile nicht vorhanden ist, dann wird keine Fehlermeldung erzeugt und mit der Verarbeitung fortgefahren.
  • copytruncate
    Diese Option schneidet das originale Logfile ab, nach dem es kopiert wurde. Normalerweise wird das alte Logfile umbenannt und ein neues erstellt. Diese Option nicht entfernen, da es ansonsten zu leeren Logdateien kommt!
  • rotate 2
    Anzahl der zubehaltenen Versionen inkl. der aktuellen. Hier: 2
Dedizierte Einstellungen pro Datei

Die dedizierten Einstellungen sind Anpassungen für einzelne Logdateien. In den originalen Dateien sind bereits mehrere Blöcke enthalten die wie folgt aufgebaut sind und vom Inhalt her für sich sprechen.

Keine doppelten Konfigurationen

Achtet darauf, dass Ihr nicht mehrere Konfigurationen für ein und dieselbe Logdatei erstellt. Wenn Ihr also eigene Einstellungen für eine Datei in einem eigenen Block vornehmt, dann bitte den vorhandenen Eintrag mit '#' auskommentieren. Ansonsten kann es hier unerwünschte Nebeneffekte geben.

#128MB
"/log/reverseproxy.log"
/log/smtpd_main.log
{
    size 128M
    rotate 3
}
Einstellungen

Folgend findet Ihr ein paar Einstellungen die Ihr pro Block (und wahrscheinlich auch global - global hab ich aber nie getestet!) setzen könnt.

  • size size
    Größe der Datei ab wann die Logrotation greifen soll. Der zweite Parameter ist die gewünschte Größe. Beispiele:
    • size 128M
    • size 50K
  • rotate count
    count als Ganzzahl gibt an, wieviele Dateien behalten werden sollen. Nicht gesetzt, greift der globale Wert. Der Wert schließt die aktuelle Logdatei ein.
  • delaycompress
    Die rotierte Logdatei wird erst ab dem nächsten Durchlauf komprimiert sofern rotate größer 2 ist. Somit ist die vorhergehende Logdatei noch direkt lesbar und muss nicht erst entpackt werden.

Weitere Einstellungen können auch hier nachgeschlagen werden: man7.org
Allerdings sollten die oben genannten Einstellungen für die meisten Fälle reichen.

Viel Spaß beim Ausprobieren!

Schreibe einen Kommentar

Kommentare werden nicht direkt angezeigt, da sie moderiert freigegeben werden.


WordPress Cookie Plugin von Real Cookie Banner