Einleitung

Es ist sehr wichtig, eine gewisse Kontrolle zu haben und zu wissen, was auf dem Server passiert, damit Fehler schnell sichtbar werden. FreeBSD selbst hat einige Skripte mit Periodic, die viele regelmäßige Aufgaben erledigen, um das System zu pflegen, zu heilen oder zu informieren. Über diese Aufgaben möchte FreeBSD auch berichten und tut dies per E-Mail. Was wir aber in jedem Fall noch hinterlegen müssen ist, WO und WIE diese E-Mails verschickt werden.

NEU: Für ganz ungeduldige habe ich einen Konsole only Abschnitt. Da gibts nur Befehle, keine Erklärungen.

Letzte Aktualisierung:

  • 16.11.2024: Initiales Dokument

DMA - DragonFly Mail Agent ist eine gute und vor allem sehr schlanke Basis, um E-Mails per SMTP zu versenden und wesentlich einfacher zu konfigurieren als noch Sendmail oder Postfix. dma ist nach Anpassung der Paketquelle mit pkg install -y dma schnell installiert. Dann geht es an die Konfiguration:

Mit sysrc sendmail_enable="NONE" wird Sendmail komplett deaktiviert, dann erfolgen einige Anpassungen der Nachrichten und Aufgaben, die regelmäßig per periodic ausgeführt werden sollen:

sysrc -f /etc/periodic.conf daily_clean_hoststat_enable="NO"      # Sendmail Meldungen die nicht mehr benötigt werden
sysrc -f /etc/periodic.conf daily_status_mail_rejects_enable="NO" # Sendmail Meldungen die nicht mehr benötigt werden
sysrc -f /etc/periodic.conf daily_status_include_submit_mailq="NO" # Sendmail Meldungen die nicht mehr benötigt werden
sysrc -f /etc/periodic.conf daily_submit_queuerun="NO"            # Sendmail Meldungen die nicht mehr benötigt werden
sysrc -f /etc/periodic.conf daily_scrub_zfs_enable="YES"          # ZFS Pools regelmäßig prüfen
sysrc -f /etc/periodic.conf daily_trim_zfs_enable="YES"           # ZFS Pools regelmäßig "trimmen"
sysrc -f /etc/periodic.conf daily_status_zfs_enable="YES"         # ZFS Statusbericht über Auslastung und Gesundheit

Anschließend erfolgt die Anpassung der Konfiguration von dma an den verwendeten Mailserver mit ee /etc/dma/dma.conf:

SMARTHOST MAILSERVER        # E-Mail Server Adresse z.B. mail.bytecamp.net
PORT 587                    # SMTP Port
AUTHPATH /etc/dma/auth.conf # Logindaten für MAILSERVER
SECURETRANSFER              # Verschlüsselte Übertragung
STARTTLS                    # Verschlüsselte Verbindung
MASQUERADE FROM-EMAIL       # Absender E-Mail Adresse z.B. hostname@domain.tld

Die Zugangsdaten werden in einer abgetrennten Datei mit ee /etc/dma/auth.conf hinterlegt:

LOGIN|MAILSERVER:PASSWORT # z.B. syslog@domain.tld|mail.bytecamp.net:P522W0r7

Danach wird mit chmod 660 /etc/dma/auth.conf und chown root:mail /etc/dma/auth.conf die Datei noch vor neugierigen Blicken geschützt.

Periodic sendet von Haus aus alle E-Mails an den Benutzer root, für den wir hier mit ee /etc/aliases noch eine E-Mail Adresse hinterlegen:

root:   TO-EMAIL # Ziel E-Mail Adresse z.B. syslog@domain.tld

Abschließend kann dies mit folgendem Befehl getestet werden:

echo Testmessage | mail -v -s Testbetreff TO-EMAIL

Konsole

pkg install -y dma
sysrc -f /etc/periodic.conf daily_clean_hoststat_enable="NO"
sysrc -f /etc/periodic.conf daily_status_mail_rejects_enable="NO"
sysrc -f /etc/periodic.conf daily_status_include_submit_mailq="NO"
sysrc -f /etc/periodic.conf daily_submit_queuerun="NO"
sysrc -f /etc/periodic.conf daily_scrub_zfs_enable="YES"
sysrc -f /etc/periodic.conf daily_trim_zfs_enable="YES"
sysrc -f /etc/periodic.conf daily_status_zfs_enable="YES"
ee /etc/dma/dma.conf
    SMARTHOST MAILSERVER
    PORT 587
    AUTHPATH /etc/dma/auth.conf
    SECURETRANSFER
    STARTTLS
    MASQUERADE FROM-EMAIL
ee /etc/dma/auth.conf
    LOGIN|MAILSERVER:PASSWORT
chown root:mail /etc/dma/auth.conf
chmod 660 /etc/dma/auth.conf
ee /etc/aliases
    root:   TO-EMAIL
echo Testmessage | mail -v -s Testbetreff TO-EMAIL