Der ein oder andere überlegt sich vielleicht, auch seinen eigenen Mailserver zu betreiben. Wann ist das überhaupt sinnvoll? Was spricht dagegen? In diesem Beitrag will ich auf diese Fragen eingehen und erklären, warum ich hauptsächlich, aber nicht nur auf eigene Mailserver setze.
Vorteile
Privates auf privater Infrastruktur
Wer einen eigenen Mailserver betreibt, tut das oft aus einem ganz bestimmten Grund: Große Mailanbieter oder Internetkonzerne sollen nicht in den persönlichen Daten schnüffeln können. Die Kommunikation mit anderen Menschen soll möglichst privat bleiben. Leider kann ein eigener Mailserver dazu aber nur bedingt beitragen: Damit E-Mails tatsächlich privat bleiben, ist es notwendig, dass beide Kommunikationspartner private Mailserver einsetzen. Wenn mein Zielkontakt seine E.Mails von Google hosten lässt, hilft mein privater Mailserver diesbezüglich nichts.
Prosody ist ein inzwischen weit verbreiteter und moderner XMPP-Server, der durch zahlreiche Module erweitert werden kann. Geschrieben ist Prosody in der Skriptsprache Lua. Zur Installation habe ich vor 3 Jahren schon einmal eine Anleitung geschrieben. Dieser Beitrag soll die etwas veraltete Version ersetzen.
Voraussetzungen
- vServer oder Rootserver mit Ubuntu 14.04 oder höher
- Möglichkeit, valide TLS-Zertifikate auszustellen, z.B. über Let’s Encrypt
- Eigene Domain + Zugriff auf zugehörige DNS-Records
- Grundkenntnisse im Umgang mit Ubuntu Server, DNS, TLS-Zertifikaten, MySQL
Annahmen
- Verwendete XMPP-Domain: xmppserver.tld (ergibt XMPP-IDs nach dem Muster: benutzer@xmppserver.tld)
- Verwendete XMPP-Domain für Konferenzen / Chatrooms: conference.xmppserver.tld
Installation
Oftmals ist die Software aus den Ubuntu-Repositories veraltet. Aus diesem Grund wird Prosody nicht aus den offiziellen Ubuntu-Repos installiert, sondern aus dem Debian-Repo der Prosody-Entwickler. Das Repo muss zunächst hinzugefügt werden:
Meine Server verfügen seit ein paar Wochen über lokale, nur vom DNS Root abhängige DNS-Resolver, die auch DNSSEC beherrschen. Der Vorteil: DNS-Ergebnisse lassen sich lokal cachen und man muss weniger auf externe Infrastruktur vertrauen. Das verbessert Datenschutz und Sicherheit. Die DNS-Anfragen werden direkt an einen der DNS-Rootserver gestellt und von dort aus aufgelöst. Der kleine DNS-Resolver “Unbound” ist perfekt als lokaler Resolver geeignet und mit wenigen Kommandos einsatzbereit:
apt install unbound
Eigentlich könnte die Anleitung an dieser Stelle schon fast zu Ende sein, denn nach der Installation horcht der Resolver lokal bereits auf Port 53 und beherrscht auch schon DNSSEC. Trotzdem sind wir noch nicht fertig, denn der Resolver bekommt jetzt noch eine aktualisierte Version des DNSSEC Root Trust Anchors: