Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Der ultimative eigene Mailserver

Registriert
11. Juni 2010
Beiträge
4.077
Reaktionspunkte
2.854
Punkte
373
Hallo Zusammen,

lang hats gedauert.
Nun aber hier das HowTo für euren eigenen, nur von euch kontrollierten ultimativen Mailserver.

Die Motivation:
Jeder von euch kennt es.
Man hat mal bei Google, eine bei Yahoo und dann vielleicht auch noch eine GMX Mailadresse.
Wir leben in Zeiten, wo die Kommunikation durchaus auch einmal nicht mitgelesen werden soll oder für irgendwelche Webbot Geschichten wie bei Google verwendet werden soll.

Letztendlich ist mir persönlich eine gewisse Privatsspähre wichtig.
Daher habe ich bereits 2015 angefangen, meinen eigenen Mailserver für die wichtige Kommunikation zu betreiben.

Es hat sich einiges getan....mein Mailserver war noch eine komplette manuelle Installation:
Postfix, Dovecot, Roundcube. Nun aber stelle ich euch dieses Tutorial zur Verfügung, damit auch Ihr euren eigenen Mailserver betreiben könnt.

Ich gehe in diesem HowTo davon aus, dass Ihr euch komplett von Google etc. frei machen wollt. Aber eben auch von Strato etc. unabhängig sein wollt.

Daher müssen folgende Voraussetzungen geschaffen werden:
  1. Hosten einer eigenen Domäne:
    Klingt kompliziert, ist aber in Endeffekt ziemlich einfach. Beispielsweise könnt Ihr Namecheap als recht günstigen Anbieter nutzen, oder eben einen Service Anbieter wie myvirtualserver wo Ihr euch auch euren VPS als Mailserver hosten könnt.
  2. Mieten eines VPS:
    Natürlich könnt Ihr euch auch einen Dedicated mieten. Ein VPS allerdings bietet sich aufgrund des Zeitaufwands an. Wichtig: Nutzt kein OpenVZ Server mehr, da der Kernel nicht mehr weiterentwickelt wird. Ab Ubuntu 17.04 beispielsweise ist Feierabend. Daher rate ich zu einem KVM mit mind. 1GB RAM und mind 25 GB HDD.
Habt Ihr beides erledigt könnt Ihr los legen.
In diesem Tutorial nutzen wir die exemplarische Domäne
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
!
Als weitere Grundvoraussetzung nehmen wir als Betriebssystem Ubuntu 16.04 oder ein Debian System. Ihr könnt natürlich auch SELinux oder CentOS nutzen.
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Wichtig hier vorab:
Ihr müsst eindeutige Hostnamen für eure Server nutzen.
Bei den meisten Anbietern könnt Ihr diese im Interface setzen, alternativ natürlich während der Installation des VPS.

Wir nennen unseren neuen Mailserver in diesem Fall mail.beispiel.de

Nun gehts rund!

Vorbereitungen:
Update des Systems
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Jetzt müssen wir noch ein paar Tools installieren:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Anschließend müssen wir nun das Git Repository von Mailcow clonen, welches uns eigentlich die ganze Arbeit abnimmt...

Zu Mailcow:
Bei Mailcow handelt sich um ein Projekt welches sich zur Aufgabe gemacht hat, einen automatisierten Prozess zur Installation des eigenen Mailservers bereit zu stellen. Hinzu kommen nette Erweiterungen wie ein schönes Webinterface für Postfix, Dovecot, Spamassasin Settings etc. Und natürlich auch die sehr gute Userverwaltung.
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Nun müssen wir die mailcow.conf anpassen:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Hier ist es jetzt wichtig folgende Settings zu setzen:
  • sys_hostname - Der Hostname eure Servers, in diesem Fall mail
  • sys_domain - Der Name der Domäne, in diesem Fall beispiel.de
  • httpd_platform - Nginx und Apache2 stehen zur Wahl. Ich persönlich rate zu Apache2.
  • mailing_platform - Hier gehts um das Webmailer Interface. Roundcube hat seine Vorteile darin, dass es schlank und ziemlich schnell ist. SOGo sieht besser aus und bietet viele Features, da es eine Groupware ist und man so beispielsweise auch Kalender teilen kann oder freigegebene Ordner. Ich rate aufgrund des Umfangs zu SOGo.
Beispiel Konfiguration

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
Nach der Bearbeitung muss die Datei mit STRG+O gespeichert werden.

Nun können wir die Installation starten.
Ihr braucht eigentlich nichts weiter tun als Enter zu drücken, wenn Ihr aufgefordert werdet.
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Während die Installation am laufen ist, könnt Ihr euch den Einstellungen eurer Domäne widmen. Oder sagen wir mal so: Ihr müsst es definitiv tun!

  1. Loggt euch bei eurem Domänen Provider ein und geht zur DNS Verwaltung
    Hinweis:
    Bei Namecheap beispielsweise müsst Ihr bei den Mail Settings MXE Record auswählen und dort eure IP-Adresse des Servers eintragen.
  2. Erstellt einen Host A Eintrag
    Name: mail
    Inhalt: 10.166.22.199 <-- Die IP-Adresse eures Mailservers!
  3. SPF (Sender Policy Framework) erstellen:
    Typ: TXT
    Name: mail
    Inhalt: "v=spf1 a mx ~all"
  4. DMARC (Domain-based Message Authentication Reporting and Conformance) erstellen:
    Typ: TXT
    Name: _dmarc.beispiel.de
    Inhalt: "v=DMARC1; p=none; sp=none; rua=mailto:info@beispiel.de; ruf=mailto:info@beispiel; rf=afrf; pct=100; ri=86400"
  5. Host A Eintrag:
    Typ: A
    Name: autoconfig.beispiel.de
    Inhalt: 10.166.22.199 <-- Die IP-Adresse eures Mailservers!
  6. Host A Eintrag:
    Typ: A
    Name: autodiscover.beispiel.de
    Inhalt: 10.166.22.199 <-- Die IP-Adresse eures Mailservers!
  7. Host A Eintrag:
    Typ: A
    Name: imap.beispiel.de
    Inhalt: 10.166.22.199 <-- Die IP-Adresse eures Mailservers!
  8. Host A Eintrag:
    Typ: A
    Name: smtp.beispiel.de
    Inhalt: 10.166.22.199 <-- Die IP-Adresse eures Mailservers!
Nach Abschluss der Installation, setzt euch das Script die Anmeldedaten in die Konsole.
Dieses könnt Ihr nun einmal kopieren.

Nun öffnet euren Browser und geht zu eurem Mailserver:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


Dort loggt Ihr euch nun als Domain Administrator ein:
Username: admin
Passwort: Das kopierte aus dem Terminalfenster

Unter Administrator bearbeiten, könnt Ihr das Passwort für diesen User ändern.
Aber auch unter Domain-Administratoren weitere hinzufügen.

Im Grunde können diese Settings jetzt alle so übernommen werden.
Einzig auf DKIM-Records muss jetzt was getan werden.
Dort geht Ihr wie folgt vor:
Im Feld Domain tragt Ihr eure Domäne ein.
Im Feld Selector zum Beispiel key1
Bei DKIM Schlüssellänge wählt ihr 1024 aus und klickt auf Hinzufügen / Add
Daraufhin seht Ihr den DKIM Eintrag. Der gesamte Inhalt muss jetzt von euch kopiert werden und wir müssen noch einmal in die DNS Verwaltung.

Hier erstellt Ihr einen weiteren Eintrag:
Typ: TXT
Name: key1._domainkey
Inhalt:
v=DKIM1;k=rsa;t=s;s=email;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCSLfTSnoCPw5kH0Xfu/2HZdsmGGPD1R2QTTQJelMt1kVFGardgP8MYP1y7DS1x5c0V6X/h/VVjcrSAYtOEDA4cF5He3CvL9T5B915sXCu8ToH6bVBZjqYSr0OpJK3Ky9oGLEbnmWVvjIzefgnKv67OfQ0pzoNGWji0izM4G+7XrQIDAQAB

Zu beachten ist hier das Ihr euren Inhalt dort rein kopiert und nicht diesen!
Nun wechselt wieder auf das Mailcow Interface und klickt oben Rechts auf KOnfiguration / Configuration und wählt Mailboxen aus.

Erst einmal muss die Domäne hinzugefügt werden:
upload_2017-4-22_0-14-7.png
Abschließend die Änderungen speichern.
Nun legen wir die Mailboxen an...in diesem Fall einfach info@beispiel.de:
upload_2017-4-22_0-16-0.png
Bei Domain bitte eure Domäne auswählen!
Aliase brauchen wir hier vorerst weiter nicht!

Nach dem Speichern könnt Ihr euch oben rechts aus dem Admin Interface abmelden.
Im nächsten Schritt auf der Mailcow Startseite klickt auf Mailbox Benutzer und meldet euch mit eurer kompletten Mailadresse (Beispiel: info@beispiel.de) dort an:
upload_2017-4-22_0-17-53.png
In diesem Interfacekönnt Ihr euer Passwort anpassen und Einstellungen an der Spamfilter etc. vornehmen. Da wir die ausgehenden Mails Grundverschlüsseln wollen, wählen wir Verschlüsselungsrichtlinie und stellen TLS Ausgehend Erzwingen auf ein:
upload_2017-4-22_0-21-27.png
Abschließend die Änderungen speichern.
Hier könnt Ihr euch jetzt auch wieder abmelden.
Auf der Mailcow Startseite wählt nun SOGo, dass eigentliche Webmailer Interface aus:
upload_2017-4-22_0-22-54.png

Im SOGo Webmailer könnt Ihr euch jetzt mit eurer kompletten Mailadresse und dem Passwort einloggen und munter drauf los mailen!

Dank SOGo ist auch die Einrichtung am Handy ein Kinderspiel.
Achtet darauf, dass Ihr beim Anmelde bzw. Benutzernamen immer die komplette Mailadresse nutzt!

Kleiner Hinweis noch:
Die Letsencrypt Implementierung bei Mailcow funktioniert noch nicht korrekt.
Daher ist es empfehlenswert das ganze selbst noch einmal durchzuführen. Eine Orientierung bietet mein Howto für Letsencrypt

Die Zertifikate müssen dann in der 000-0-mailcow.conf im Pfad /etc/apache2/sites-enabled/ angepasst werden.

Desweiteren ist es empfehlenswert in der ports.conf für den Apache den Port 80 ebenfalls mit SSL abzusichern.

Folgende Ports werden für die Firewall benötigt:
Postfix Submission TCP 587
Postfix SMTPS TCP 465
Postfix SMTP TCP 25
Dovecot IMAP TCP 143
Dovecot IMAPS TCP 993
Dovecot POP3 TCP 110
Dovecot POP3S TCP 995
Dovecot ManageSieve TCP 4190
HTTP(S) TCP 80/443
HowTo für Firewall
 
Schade, funktioniert leider nicht mit Debian 9 Stretch
 
Naja auf einem PI würde ich das auch nicht laufen lassen.
Ich betreibe inzwischen zwei VPS mit Mailcow.

Beide haben je 4 Kerne und 8 GB RAM.
 
Zurück
Oben