Mailserver Workshop Konfiguration

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Zielsetzung

  • Einrichtung eines Mailservers mit Postfix, Dovecot und Rspamd
  • Unverschlüsselte Grundkonfiguration der Dienste
  • Schrittweise Absicherung durch Verschlüsselung
  • Integration von Rspamd zur Spam- und Virenerkennung
  • Logging und Fehleranalyse für eine stabile Mailserver-Umgebung

Voraussetzungen

  • Debian- oder Ubuntu-Server mit Root-Zugriff
  • Domain it213.int ist bereits als MX für den Mailserver eingetragen
  • Basiskenntnisse in Linux und Mailserver-Administration
  • Internetzugang für Paketinstallation und DNS-Abfragen

Ist der MX Record richtig eingetragen?

Verwende eines dieser Tools
  • host -t mx it213.int
  • nslookup -q=mx it213.int
  • dig -t mx it213.int

Installation

  • apt update
  • apt install postfix dovecot-core dovecot-imapd dovecot-lmtpd mailutils

Bei der Abfrage Internet Site wählen.

Beschreibung der Pakete für den Mailserver

Postfix

  • Postfix ist ein Mail-Transport-Agent (MTA)
  • Zuständig für den Versand und Empfang von E-Mails
  • Nimmt E-Mails von lokalen oder entfernten Clients an und leitet sie weiter

Dovecot-Core

  • Grundlegende Infrastruktur von Dovecot
  • Wird für die Bereitstellung von IMAP- und POP3-Diensten genutzt
  • Enthält noch keine spezifischen Protokolle

Dovecot-IMAPD

  • Aktiviert den IMAP-Dienst in Dovecot
  • Ermöglicht den Zugriff auf E-Mails direkt auf dem Server
  • Standardprotokoll für moderne E-Mail-Clients

Dovecot-LMTPD

  • Aktiviert den LMTP-Dienst (Local Mail Transfer Protocol)
  • Zuständig für die interne Mail-Zustellung von Postfix an Dovecot
  • Effizientere Alternative zu mailbox_command für die Mailzustellung

Mailutils

  • Sammlung von Mail-Werkzeugen für Unix/Linux
  • Enthält Befehle wie mail zum Senden und Lesen von E-Mails
  • Unterstützt verschiedene Mail-Speicherformate wie mbox und Maildir
  • Nützlich für Tests und Skripte in Mailserver-Umgebungen

Mailformate

/var/spool/mail (mbox)

  • Speichert alle E-Mails eines Nutzers in einer einzigen Datei
  • Zentrale Speicherung unter /var/spool/mail/<benutzer>
  • Schneller bei sehr kleinen Mailboxen, aber langsamer bei vielen Mails
  • Probleme mit Dateisperren bei gleichzeitigen Zugriffen möglich
  • Schwerer zu sichern, da Änderungen in einer einzigen Datei passieren

Maildir

  • Speichert jede E-Mail als eine eigene Datei im Benutzerverzeichnis ~/Maildir/
  • Bessere Performance, da parallele Zugriffe möglich sind
  • Kein Locking-Problem, da keine zentrale Datei gesperrt werden muss
  • Einfaches Backup, da Mails als einzelne Dateien kopiert werden können
  • Unterstützt von modernen Mailservern und Clients besser

Empfehlung

  • Maildir wird empfohlen, da es stabiler, moderner und einfacher zu verwalten ist
  • /var/spool/mail ist nur sinnvoll, wenn eine zentrale Speicherung ohne Benutzer-Home-Verzeichnisse gewünscht ist

Jeder neue Benutzer bekommt diese Dateien im Homeverzeichnis

  • mkdir -p /etc/skel/Maildir/{cur,new,tmp}
  • echo 'export MAIL=$HOME/Maildir' >> /etc/skel/.bashrc

Postfix: Einführung in main.cf und master.cf

Postfix verwendet zwei zentrale Konfigurationsdateien zur Steuerung des Mail-Transports und der Dienste.

main.cf (Hauptkonfiguration)

  • Enthält die grundlegenden Einstellungen für Postfix
  • Definiert Parameter wie Domain, Relay-Regeln und Authentifizierung
  • Typische Einstellungen
    • myhostname – Hostname des Mailservers
    • mydestination – Domains für die dieser Server Mails annimmt
    • relayhost – Weiterleitungsziel für ausgehende Mails
    • smtpd_recipient_restrictions – Regeln für eingehende E-Mails

master.cf (Dienstkonfiguration)

  • Steuert welche Postfix-Dienste aktiv sind
  • Legt fest welche Prozesse auf bestimmten Ports lauschen
  • Wird verwendet um Dienste wie SMTP oder SMTPS zu aktivieren

Erklärung der main.cf

/etc/postfix/main.cf

# Siehe /usr/share/postfix/main.cf.dist für eine kommentierte Version

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)

biff = no
append_dot_mydomain = no
readme_directory = no

compatibility_level = 3.6

# TLS Einstellungen
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=may

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# Relay Regeln
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

# Hostname des Mailservers
myhostname = mail.it213.int

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

# Ursprungsdomain
myorigin = /etc/mailname

# Domains für die dieser Server Mails annimmt
mydestination = $myhostname, localhost.it213.int, it213.int, localhost

relayhost =

# Vertrauenswürdige Netzwerke
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

mailbox_size_limit = 0
recipient_delimiter = +

inet_interfaces = all
inet_protocols = all

Änderungen

Wir erweitern Postfix so, dass Mails im Maildir Format gespeichert werden.

Maildir aktivieren

  • vi /etc/postfix/main.cf

Am Ende der Datei ergänzen

home_mailbox = Maildir/
mailbox_command =

Damit speichert Postfix neue Mails direkt im Maildir des Benutzers.