pfSense Wöchentliche Emailberichte

Neben den aktiven Meldungen über einen möglichen Angriff, sind die wöchentlichen Berichte eine wichtige Informationsquelle für laufende Systeme. Hier zeichnen sich zukünftige Komplikationen als erstes ab und die Informationen ermöglichen ein zeitnahes effektives  Handeln.

Die Realität

Es ist bewundernswert wie oft ich meine private Firewall vergesse. Es ist nicht so, dass ich Lax mit der Sicherheit umgehe, es ist doch eher so, dass sie wirklich Gut funktioniert und für mich nur in einigen Fällen in Erscheinung tritt:

  • Es kommen verstärkt Angriffe, bzw der Vektor steigt anormal gegenüber dem normalen Internetgrundrauschen
  • squid, oder auch squidGuard verweigern Ihren Dienst
  • Mein VPN funktioniert nicht
  • Ein Update eines der Pakete, oder des Systems steht an
  • Die Hardware möchte gerne die Funktion einstellen
  • Ich komme auf die Idee die Blacklist zu erneuern bzw mir mal die mit RRD generierten Graphen wieder einmal anzuschauen.

Eigentlich eine perfekte Situation, welche komplett für das Team um und für pfSense spricht.
Oder für einen Angreifer, welcher eine gute Lücke gefunden hat, sie ausnutzte und nun meine Daten abschnorchelt, oder meine Leitung missbraucht ohne meine Interaktion zu befürchten.

 

Vorbereitungen

Im Vorfeld habe ich auf meinem Emailserver ein Konto für die Firewall erstellt.

Zwei Gründe sprechen von meiner Seite aus dafür. Der Erste ist der schlichteste Grund.
Ich brauche einen Account, welcher das Versenden von Emails erlaubt. Hier möchte ich den Datenschutz nicht an einen freien und kostenlosen Mailprovider abgeben. Leider kann pfSense die Mails noch nicht verschlüsseln und/oder signieren.

Der zweite Grund ist, dass in den Ordner für versendete Mails ein Backup für mich liegt, dadurch kann ich nun nach dem Lesen an meinem Mailclient die Mail löschen und muss sie nicht nochmals archivieren. Für das spätere Backup bieten sich dann Programme wie zum Beispiel Offlineimap an.

Auch hatte ich das System zur Selbstüberwachung, Analyse und Statusmeldung ( kurz SMART), an meiner Festplatte aktiviert. Dies dient mir dazu den Zustand der Festplatte zu überwachen und den Befehl später in dem Report nutzen zu können.

[2.2.2-RELEASE][admin@pfsense]/root: smartctl -i /dev/ada0 | grep 'SMART'
SMART support is: Available - device has SMART capability.
SMART support is: Disabled

[2.2.2-RELEASE][admin@pfsense]/root: smartctl -s on /dev/ada0
 smartctl 6.3 2014-07-26 r3976 [FreeBSD 10.1-RELEASE-p9 i386] (local build)
 Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
 SMART Enabled.

 

Das Paket mailreport

Das Paket mailreport bietet die Möglichkeit auf Grund von selbst definierten Parametern Mails über den Zustand der Firewall an an einen bestimmten Adressaten zu senden.

Zu den einstellbaren Parametern gehören:

  • Zeitrahmen in welchen die Mails gesendet werden sollen
    Frequenz täglich, wöchentlich, monatlich, jährlich;
    Tag der Woche ; halbmonatliche Berichte; Uhrzeit
  • Erstellen eigener Befehle, welche über stdio in die Mail geparsed werden können
    Hier ist es dann natürlich auch möglich eigene Script anzustoßen
  • Der Inhalt von Logs
    Wählbar ist das Log selbst, die Anzahl der Zeilen, sowie auch der Zeitrahmen
  • Graphen
    Hier ist der Graph als solches wählbar, sowie der Zeitrahmen. Der Graph ist dann als Anhang der Mail beigefügt.

Um die natürlich nahe liegende, auch bei mir aufkommende Frage, vorab zu beantworten. Es gibt leider kein logwatch ( Achtung Link geht zu Sourceforge) als Paket für die Installation in pfSense.
Hier wäre die Lösung einen externen Logserver ( rsyslog) als Empfänger der Logs von pfSense zu  beauftragen und dort logwatch zu nutzen. Ein externer Logserver ist der richtige Weg, jener ist aber leider nicht überall vorhanden.

 

Installation

mailreport lässt sich über System: Package Manager : Network Management installieren.
mailreport lässt sich über System: Package Manager : Network Management installieren.

Nach der Installation, wenn nicht schon geschehen, müssen die für die Emailkommunikation nötigen Daten unter System: Advanced: Notifications eingetragen werden. Dies sind systemweite Einstellungen.
Eine Testmail sollte auf jeden Fall gesendet werden um die Funktionen zu testen.

! Hier sollte man vor allem beachten, dass ein vorhandenes Greylisting die Lieferung der Mails erschweren bzw. verzögern kann und der Absender in eine Whitelist eingetragen werden sollte.

 

pfSense Wöchentliche Emailberichte konfigurieren

Übersicht Status: Edit Email Reports

Als Reportcommands habe ich hier zum Beispiel die Speicherplatzbelegung der einzelnen Partitionen  ( df -h) und die Smartwerte der eingebauten Festplatte ( smartctl -i /dev/ada0 ) für die Anzeige in der wöchentlichen Mail genommen.
Hier kann gespielt und variiert werden und das einbeziehen eigener Scripte ist natürlich auch möglich. Dem Spaß sind somit keine Grenzen gesetzt, es sollte beim Scripting aber immer der geltende Sicherheitsstandard beachtet werden, sie auch dazu Shill.

Bei den Graphen sollte beachtet werden, dass der Standardwert der gesendeten Zeitspanne bei 8 Stunden liegt, dieser sollte natürlich dem Report angepasst werden.
Bei mir ist dies natürlich eine Woche.