====== Mailserver ====== ---- dataentry service ---- service-urls_urls : https://cow.hamburg.ccc.de other-service-fqdns : host-fqdn : cow.hamburg.ccc.de netbox-link_url : https://netbox.hamburg.ccc.de/virtualization/virtual-machines/50/ server_page : infrastructure:servers:chaosknoten maintainers : dario, june, max, stb ccchh-id-integration_yesno : false ---- Die [[https://mailcow.email|Mailcow-Appliance]] kümmert sich um alle Mails für @hamburg.ccc.de und ein paar weitere (Sub-)Domains. Das System wird von den Mail-Admins gemanaged (unabhängig von Ansible und Gitlab). Das Team ist unter [[mailto:mailops@hamburg.ccc.de|mailops@hamburg.ccc.de]] erreichbar. ===== Konfiguration ===== Wo möglich, benutzen wir die Admin-Oberfläche zur Konfiguration um zum Management von Mailboxen, Aliases, etc.: [[https://cow.hamburg.ccc.de| cow.hamburg.ccc.de]]. Das Basis-Setup und einige speziellere Einstellungen sind allerdings nur auf der VM selbst erreichbar. ==== LUKS ==== Die Platte der VM ist mit LUKS verschlüsselt. Nach einem Reboot muss einer der Admins das LUKS-Kennwort eingeben, damit die VM booten kann. Dazu verbindet man sich mit [[chaosknoten.hamburg.ccc.de:8006|der PVE-Oberfläche von chaosknoten]] und startet die Console für die VM 135. **WICHTIG**: Copy&Paste des LUKS-Keys geht nur mit xterm.js, nicht mit noVNC. noVNC kann zwar auch die serielle Konsole darstellen, aber Copy&Past geht nicht. ==== Debian ==== Auf der VM ist Debian in der aktuellen Version installiert (Stand 2024-01 Debian 12 Bookworm). Die Admins kümmern sich darum, die Pakete aktuell zu halten. ==== Mailcow / Docker Compose ==== Wir haben uns für das Docker Compose Setup mit Mailcow entschieden. Die [[https://docs.mailcow.email|Mailcow Dockerized]]-Doku hat alle wichtigen Infos dazu. Wir sind der Installationsanleitung gefolgt. Alle Dateien liegen unter ''/opt/mailcow-dockerized''. Updates von Mailcow sind entsprechend Anleitung durchzuführen: solange ''./update.sh'' laufen lassen, bis alles Up-to-date ist. === Anpassungen Docker Compose === Anpassungen sind in ''docker-compose.override.yml''. === Anpassungen Postfix === * ''data/conf/postfix/extra.cf'' === Anpassungen rspamd === * ''data/conf/rspamd/local.d/dmarc.conf'' * ''data/conf/rspamd/custom/ip_wl.map'': Whitelist der internen Adressen, von denen Mail ohne Auth eingereicht werden können. ==== Einrichten von Weiterleitungen ==== Weil wir SPF und DKIM nutzen, können wir Email einfach per Alias weiterleiten: weil dann der Envelope-Sender noch den ursprünglichen Absender enthält, wird der empfangende Mailserver die Mail tendenziell als Spam erkennen. Mailcow bietet aber einen Ausweg: Wir richten eine Mailbox für die Adresse ein (foo@hamburg.ccc.de), und im Webmail SOGo ein Forward auf die Zieladresse ein. Da SOGo die Mail erneut einliefert, hat sie dann foo@hamburg.ccc.de als Envelop-Sender, und wird dann hoffentlich problemlos ausgeliefert. Da die Mail selbst dabei nicht verändert wird, bleibt die DKIM-Signatur gültig. In einigen Fällen richten wir die Weiterleitung auf einen Alias foo-forward@hamburg.ccc.de, der dann wiederum die Liste der eigentlichen Empfänger\*innen enthält. **Wichtig** Der Account in Mailcow muss so konfiguriert sein, dass keine Mail im Postfach landet und gespeichert wird!