Monitoring / Reporting
Die Überwachung wird mit Hilfe von Checkmk durchgeführt. Parallel dazu werden die Syslogs pro Instanz mittels syslog-ng erfasst.
Die anfallenden Syslogs von postfix und amavis können in Echtzeit zu Syslog-Servern in Ihrer Einrichtung gesendet werden. Die Mail-Administratoren können so das Verhalten der DFN-Gateways genauestens beobachten und alle Vorgänge nachvollziehen. Weiterhin werden hierdurch auch eigene Logauswertungen, Statistiken etc. ermöglicht. Für Mail-Logs gibt es eine ganze Reihe von Tools, die aus den Rohdaten Reports erstellen. Auf der postfix-Addon-Seite finden Sie eine Zusammenstellung und auch auf dieser SpamAssassin-Wikiseite.
Zum Empfang muss Ihre Firewall für syslog (UDP 514, bzw. TCP 10514) und für folgende Netze freigeschaltet werden. In ihnen befinden sich ausschließlich Rechner des DFN-Mailsupport-Dienstes:
194.95.232.0/27 2001:638:d:c301::/123 194.95.234.0/27 2001:638:d:c302::/123 194.95.238.0/27 2001:638:d:c303::/123
Es wird für die Übertragung des syslogs auch Verschlüsselung mit TLS angeboten. Bitte kontaktieren Sie uns, wenn Ihre Einrichtung dies nutzen möchte. Für die Zertifikatserstellung im Rahmen der DFN-PKI wählen Sie bitte den Typ "Webserver". Wenn Sie syslog empfangen und weiterleiten möchten, bitte "Shibboleth IdP SP".
Im folgenden finden Sie Konfigurationstipps für die zwei gebräuchlichsten UNIX-Syslog-Implementationen. Haben Sie noch keinen Syslog-Server im Einsatz empfehlen wir Ihnen einen der beiden. Wenn Sie ausschließlich Windows-Server einsetzen, so finden Sie z.B. hier eine Liste von freien Windows-Implementierungen.
1. rsyslog
#
# Einschalten des Empfangs
#
$ModLoad imudp
$UDPServerRun 514 # frei wählbar
#
# Schreiben des DFN syslogs
#
:programname, isequal, "amavis" -/var/log/dfn.log
:syslogtag, startswith, "postfix/" -/var/log/dfn.log
Variante: Filterung anhand der Absender-IPs
Bei einigen Einrichtungen funktioniert diese Vorgehensweise beim Filtern des syslog besser:
if $fromhost-ip startswith '194.95.232.' then /var/log/dfn.log
if $fromhost-ip startswith '194.95.234.' then /var/log/dfn.log
if $fromhost-ip startswith '194.95.238.' then /var/log/dfn.log
Ergänzungen für TLS
Für die Nutzung von TLS installieren Sie bitte auch das Paket rsyslog_gnutls, evtl. auch rsyslog-gssapi.
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /etc/ssl/chains/dfn.global.pem # Root- und Zwischen-CA-Zertifikate
$DefaultNetstreamDriverCertFile /etc/ssl/localcerts/syslog.uni-beispiel.de.crt.pem
$DefaultNetstreamDriverKeyFile /etc/ssl/private/syslog.uni-beispiel.de.key.pem
$ModLoad imtcp
$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode
$InputTCPServerStreamDriverAuthMode anon
$InputTCPServerRun 6514 # frei wählbar
2. syslog-ng
#
# Einschalten des unverschlüsselten Empfangs:
#
source s_remote { udp(use_fqdn(yes)); };
#
# Alternativ der Empfang TLS-verschlüsselter Syslog-Streams
# am Beispiel Debian:
#
source s_remote {
tcp (
ip("syslog.uni-beispiel.de")
port(6514)
tls (
ca_dir("/etc/ssl/certs")
key_file("/etc/ssl/private/syslog.uni-beispiel.de.key.pem")
cert_file("/etc/ssl/localcerts/syslog.uni-beispiel.de.crt.pem")
peer_verify("optional-untrusted")
)
use_fqdn(yes)
);
};
#
# Schreiben des DFN Syslogs
#
filter f_dfn { netmask("194.95.232.0/27") or netmask("194.95.234.0/27") or netmask("194.95.238.0/27"); };
destination d_dfn { file("/var/log/dfn.log" owner("root") group("adm") perm (0640)); };
log { source(s_remote); filter(f_dfn); destination(d_dfn); };
# Filter mit IPv6 (ab syslog-ng 3.7)
filter f_dfn { netmask("194.95.232.0/27") or netmask("194.95.234.0/27") or netmask("194.95.238.0/27") or
netmask6("2001:638:d:c301::/123") or netmask6("2001:638:d:c302::/123") or netmask6("2001:638:d:c303::/123"); };
# Filter mit aktiviertem DNS
options { use_dns(yes); dns_cache(4000); dns_cache_expire(87600); };
filter f_dfn { host("^mgw[0-9]+-(erl|han|tub)"); };