Sicheren Mailserver unter Ubuntu installieren (in weniger als 5 Minuten)

veröffentlicht am 24. März 2011

Ich habe ja bereits vor längerer Zeit einmal einen Artikel über die Installation eines Mailservers unter Ubuntu veröffentlicht. Nun habe ich gestern einmal den Ubuntu Server Guide durchgelesen und bin über das magische Paket dovecot-postfix gestolpert. Mit diesem Paket ist die relativ aufwändige Installation aus dem anderen Artikel hinfällig geworden und es sind nur noch wenige Schritte nötig, um einen sicheren und voll funktionstüchtigen Mailserver unter Ubuntu aufzusetzen.

Zunächst installierst du das Paket dovecot-postfix:

aptitude install dovecot-postfix

Das Paket dovecot-postfix richtet dir sowohl den SMTP-Server Postfix, als auch Dovecot mit POP3, POP3S, IMAP und IMAPS ein. Gleichzeitig wird der Server dadurch abgesichert, dass eine Authentifizierung zum Verschicken von E-Mails eingerichtet wird.

In der Datei /etc/aliases musst du nun festlegen, wer E-Mails für root und postmaster empfangen soll. Der Benutzername muss dabei mit einem lokalen Benutzer auf dem Server übereinstimmen. In meinem Fall wäre dies patrick.

root:       <Benutzername>
postmaster: <Benutzername>

Damit die Änderungen übernommen werden, musst du die Aliase bekannt geben:

newaliases

Zuletzt musst du noch Postfix und Dovecot neustarten:

/etc/init.d/postfix restart
/etc/init.d/dovecot restart

Neue Benutzer einrichten

Um weitere E-Mail-Accounts einzurichten, müssen Benutzer bei dieser einfachen Variante noch einen Account auf dem System bekommen. Auf Servern, die von mehreren Personen genutzt werden, sollte man also zwingend den SSH-Dienst so absichern, dass sich die angelegten Benutzer nicht am Server anmelden können. Das gehört jedoch nicht zu diesem Artikel, bitte lies im Internet selber nach, wie man den SSH-Dienst absichert!

Einen neuen Benutzer kannst du wie folgt anlegen:

useradd -m -s /bin/false <Benutzername>
passwd <Benutzername>

Verbesserungsvorschläge

Solange man nur E-Mail-Accounts für sich einrichtet, ist diese Variante mit Abstand die bequemste. Möchte man einen größeren Maildienst betreiben, sollte man die Benutzer lieber gegen eine Datenbank oder LDAP authentifizieren lassen, da die Benutzer so keinen Account mehr auf dem System bekommen müssen. Entsprechende Anleitungen findet man massig im Internet.

Wenn man zudem auf Verschlüsselung setzt und mehrere Benutzer bedient, sollte man angepasste Zertifikate und Schlüssel installieren, damit die Benutzer nicht immer mit Warnungen bei der Verbindung konfrontiert werden.

Kommentare

Hallo!
Erstmal Dankeschön für diese Anleitung! Macht das ganze noch einfacher!

Jedoch habe ich (glaube ich ;-)) einen Fehler entdeckt:
Beim neu starten der Dienste schreibst du:
„/etc/init.d/roundcube restart“.
Müsste das nicht „/etc/init.d/dovecot restart“ heißen? Roundcube wird bei dieser Installation nicht mit installiert, oder irre ich mich?

Kommentar #1 von Jan am 25. März 2011


@Jan: Ach verdammt, ich werfe diese beiden Produkte vom Namen her immer durcheinander. Wird gleich im Artikel geändert. Roundcube wird natürlich nicht mit installiert :D

Kommentar #2 von Patrick am 25. März 2011


Ich bin dir für diesen Fehler aber sehr dankbar, da ich so endlich zu einem vernünftigen Frontend für den IMAP-Server gekommen bin. :)
Squirrelmail sagte mir leider garnicht zu, und war auch von der Installation viel umständlicher als Roundcube.
Nun läuft Roundcube auf dem Server und ich bin damit mehr als zufrieden :)

Mit freundlichen Grüßen,
Jan

Kommentar #3 von Jan am 26. März 2011


Habe auch vor ein paar Monaten schon über Roundcube gebloggt: http://www.patrick-gotthard.de/5855/roundcube-webmailer-zum-selber-hosten

Kommentar #4 von Patrick am 26. März 2011


hi,

da ich auf Grund der Sicherheit bisher von einem eigenen Mailserver zurückschrecke, eine Frage, woran du denn hier die „Sicherheit“ bzw. „sicheren Mailserver“ ausmachst?

Kommentar #5 von Julien am 03. April 2011


Die Sicherheit betrifft vor allem den SMTP-Server (Postfix). Bei diesem Setup werden die Verbindungen automatisch für die verschlüsselte Kommunikation eingerichtet. Zudem muss sich der Benutzer mit einem Passwort authentifizieren, damit der Server nicht einfach von anderen Personen als offenes Relay missbraucht werden kann.

Letzten Punkt kann man übrigens bequem per MxToolbox überprüfen, indem man smtp:deine-domain.de in dem Eingabefeld eingibt.

Kommentar #6 von Patrick am 03. April 2011


Hi

Habe gestern Nacht Postfix – Dovecot mit SASL auth über mysql DB eingerichtet. Falls dich das Prozedere interessiert kann ich dir gerne die Anleitung schicken – ist allerdings alles auf Englisch.

Grüsse wie immer vom gleichen Ort

Gernot

Kommentar #7 von Gernot am 07. April 2011


Gerne, immer her damit, das interessiert sicherlich auch andere :)

Kommentar #8 von Patrick am 07. April 2011


Das suche ich schon länger, immer her damit. ;-)

Kommentar #9 von Flavio am 04. Mai 2011


Hallo zusammen, erstmal vielen Dank an Patrick für den guten Artikel. Hätte aber auch noch ne Kleinigkeit zum Thema Sicherheit: bei meinem Ubuntu 10.04 offenbart netstat -aptn, dass Dovecot auf vielen Ports lauscht (z.b. 110 für POP3) wenn man aber wie ich nur IMAPS benutzt kann man die Überflüssigen Ports in /etc/dovecot/conf.d/01-dovecot-postfix.conf entfernen. Die entsprechende Zeile sieht dann bei mir so aus: protocols = imaps.
Ich weiß ist eher Thema Systemsicherheit, aber wollte auch mal meinen Senf dazugeben :D mfg

Kommentar #10 von deralex751 am 28. Juni 2011


Hallo!

Seit ich Linux versuche zu verstehen, glaube ich manchmal, daß alles nicht mehr gilt……..

Ein E-Mail Server ist doch ein Programm, das es erlaubt, Mails zu erstellen, und unter Usern auszutauschen . . . . . und !!! Mails speichert.

Also meine Frage:
Wenn ich einen Server PC habe und meine Laptops nicht jeder alle Mails aus dem Internet herunterladen soll, sondern diese Lokal gespeichert werden sollen – – – Dann ist das doch ein Mail-Server?

Oder gibt es dafür neue Namen?

Danke im Voraus

Carsten

Kommentar #11 von Ersteinmal am 12. August 2011


Der E-Mail Server ist dazu da, deine E-Mails zu empfangen, zu speichern und zu verschicken. Das Programm, das du nutzt ist der Client. Dieser ist zum Erstellen und Anzeigen der E-Mails verantwortlich.

So ist auch dein Browser der Client für meinen Webserver (der diese Seite hier bereitstellt). Das ist übrigens nicht Linuxspezifisch sondern allgemeingültig.

Kommentar #12 von Patrick am 12. August 2011


Hey,
ich habe nen V-server mit ubuntu. Ich verbinde mich mit dem Server über die Putty console. Ich gebe root und anschließend mein Passwort ein.

Nun den Befehl:
aptitude install dovecot-postfix

—————————————

Die Ausgabe lautet:
root@“servername“:~# aptitude install dovecot-postfix
-bash: aptitude: command not found

Was kann ich machen ? bin für jede Hilfe dankbar :)

Kommentar #13 von FlowPlayer am 19. August 2011


In neueren Versionen von Ubuntu ist aptitude nicht mehr installiert. Also entweder setzt du überall wo aptitude steht apt-get ein, oder du installierst aptitude per

apt-get install aptitude
Kommentar #14 von Patrick am 19. August 2011


Hi,

schöne Anleitung, hab jedoch noch ne kurze Frage.

Mein Aliase sind so gesetzt, das z.B. root@ postmaster@ admin@ auf meine Adresse daniel@ auflaufen, ist es möglich z.B. von admin@ zu senden?

lg & danke Daniel

Kommentar #15 von Daniel am 21. März 2012


Ok, hat sich erledigt.

hatte kleinen Denkfehler ;)

Kommentar #16 von Daniel am 21. März 2012


Hallo,
vielen Dank für die sehr gute Anleitung.
Ich hätte noch eine kleine Frage. Wie funktioniert der SMTP Versand über z. B. gmx? So das die Mails nach draußen verschickt werden können.
Gruß Uwe

Kommentar #17 von Uwe am 09. Mai 2012


Moin Uwe,

schau mal hier: http://wiki.ubuntuusers.de/postfix
Das was du vorhast entspricht dem Typ „Internet mit Smarthost“. Ich denke, ein

dpkg-reconfigure postfix

sollte da helfen.

Gruß
Patrick

Kommentar #18 von Patrick am 09. Mai 2012


Hi Patrick,
vielen Dank für Deine Hilfe. Das Problem war (mal wieder) ein kleiner Schreibfehler meinerseits in der main.cf im /etc/postfix Verzeichnis. (smtp_auth nicht smpt_auth!).
Deine Anleitung ist absolute Spitze!! Vielen 1000 Dank dafür.
Gruß Uwe

Kommentar #19 von Uwe am 09. Mai 2012


Zum kotzen, dass es das nicht für Debian gibt…

In Linux bin ich mittlerwile echt fit, aber an diesem Verf**** E-Mail Schei* beiße ich mir echt die Zähne aus… es funtzt einfach nicht :/

Trozdem viele Dank für die Tutorials, die auch mal ein Mensch versteht…

Kommentar #20 von Maysi2k am 31. Juli 2012


Hi Maysi2k,

hast du schon die alte (oben verlinkte) Anleitung unter Debian versucht? Die sollte eigentlich funktionieren…

Gruß
Patrick

Kommentar #21 von Patrick am 31. Juli 2012


Ja habe ich auch versucht. Ich konnte auch über die Konsole E-Mails versenden.
Allerdings kann ich mich mit keinem Mailclient anmelden.

Echt Frustrierend :S

Kommentar #22 von Maysi2k am 31. Juli 2012


Aliase
=========
Damit die Änderungen übernommen werden, musst du die Aliase bekannt geben:

Wie wo, was?

Gruss Dänu

Kommentar #23 von Dänu am 15. November 2012


Steht doch da. Einfach den Befehl ’newaliases‘ eingeben.

Kommentar #24 von Patrick am 15. November 2012


Hi Patrick, besten Dank fuer die Anleitung. Weisst Du, wie man den Server einrichtet, damit sich neue User ein Emailkonto selbst erstellen koenen? Quasi wie bei einem grossen mail provider, bei dem man sich eine neue Adresse zulegt.

Kommentar #25 von Olli am 19. November 2012


Hallo Olli,

dazu müsstest du sehr viel mehr arbeit reinstecken. Postfix und Dovecot müssten an einen Datenbank- oder Verzeichnisserver angebunden werden und du brauchst dann natürlich noch ein Webfrontend, mit dem sich die Benutzer registrieren können.

So ein Setup habe ich allerdings noch nie eingerichtet, da müsstest du Google bemühen.

Gruß
Patrick

Kommentar #26 von Patrick am 19. November 2012


Wie connecte ich mich nun per Imap und Smtp auf den neuen Webserver? Gestern probiert – ohne Erfolg.

Kommentar #27 von Marco am 18. Dezember 2012


Hallo Marco,

du musst in deinem E-Mail Programm ganz normal deinen Hostname und die Logindaten eingeben. Achte darauf, dass du IMAPS verwendest. Also als Protokoll nimmst du IMAPS bzw. IMAP mit SSL Authentifizierung und beim SMTP Server musst du TLS aktivieren.

Weiter kann ich dir auch nicht helfen, ich kenne weder deinen Hostname, noch deine Logindaten ;)

Gruß
Patrick

Kommentar #28 von Patrick am 18. Dezember 2012


Ich habs im Thunderbird probiert. (Dateneingabe) Erstmal ist im Thunderbird diese Autoerkennung aktiv. Diese findet nichts. Wenn ich dann meine Domain manuell eingebe und den angelegten User, kommt dabei trotzdem nichts nützliches heraus. Welche Port für Imap ? 143 oder 993 – Laut nmap ist kein Dienst auf den Ports am lauschen. Smtp läuft auf Port25. Welches Protokol für smtp? SSLTLS oder oder Starttls?

Kommentar #29 von Marco am 16. Januar 2013


Hallo Marco,

IMAP mit SSL läuft standardmäßig auf Port 993, SMTP mit STARTTLS auf Port 25.
Du kannst auf der Konsole auch
netstat -apn | grep tcp | egrep ‚master|imap‘
eingeben, um zu überprüfen, ob die Ports geöffnet sind.

Dort muss bei den entsprechenden Einträgen entweder die öffentliche IP deines Servers auftauchen, oder 0.0.0.0 (hört auf alle Interfaces). Ansonsten ist der Dienst nur vom Server selbst erreichbar.

Gruß
Patrick

Kommentar #30 von Patrick am 18. Januar 2013


Hallo Marco,

ich habe soeben meinen Server neu installiert und dabei bemerkt, dass sich beim Einrichten des Mailservers eine Kleinigkeit geändert hat, die wohl auch die Fehlerursache bei dir ist.

In der Datei /etc/dovecot/dovecot.conf musste ich die auskommentierte Zeile

#listen = *, ::

durch

listen = *

ersetzen. Ansonsten werden die Dienste nicht gestartet. * steht für alle IPv4 Interfaces, :: für alle IPv6 Interfaces. Habe ich bei meinem vServer ohne IPv6 trotzdem :: stehen gelassen, wurden die Dienste ebenfalls nicht gestartet.

Kommentar #31 von Patrick am 19. Januar 2013


Hallo Patrick,

Vielen Dank. Daran lag es die ganze Zeit. Jetzt macht mir nur noch : Relay Access Denied ärger. Aber ansonsten kann ich schon mal meine Mails über TB empfangen.

gruß
Marco

Kommentar #32 von Marco am 21. Januar 2013


Oh oh oh Relay Access möchtest i.d.R. du nicht haben, sonst hast du ein offenes Mail Relay, über das massenhaft Spam verschickt werden kann. Das könnte wiederum teuer für dich werden.

Kommentar #33 von Patrick am 21. Januar 2013


Du solltest dein Setup unbedingt überprüfen, wenn du fertig bist. Im Artikel http://www.patrick-gotthard.de/3239/mailserver-unter-ubuntu-installieren findest du ganz unten den Punkt „Sicherheit testen“. Den Absatz solltest du dir ganz genau anschauen.

Kommentar #34 von Patrick am 21. Januar 2013


Danke für den Tipp. Habe gerade mein Webserver testen lassen. Ist alles okay. Nur ist TLS bei Smtp nicht aktiviert. Wo aktiviere ich das?

Kommentar #35 von Marco am 22. Januar 2013


Okay, ich hatte tls in der Main.cf ausgestellt. Hab alles mögliche probiert. Sollte nun klappen :)

Kommentar #36 von Marco am 22. Januar 2013


Hi, Patrick,
vielen Dank für diese Anleitung. Ich habe alles nach Deiner Anleitung installiert. Es funktioniert auch alles mit der eigenen Domain. Nur wenn ich von einem Mailclient von „daraußen“ eine Mail an eine andere Domain als meine eigene verschicke, erhalte ich die Serverantwort ‚554.5.7.1‘. Also die Mail wird von meinem Postfix (SMTP) abgewiesen. Allerdings kann ich alle Mails empfangen und an meine Domains verschicken. Ich kann auch von meinem Mailserver direkt an andere Domains Mails verschicken. Seit Tagen suche ich im Internet nach einer Lösung, finde aber keine. Vielleicht kannst Du dazu etwas sagen.

Kommentar #37 von Horst am 25. Februar 2013


Du bekommst von den anderen Mailservern eine Nachricht?

Kann es sein, dass du deinen Mailserver an einer dynamischen IP Adresse betreibst? Sehr viele Mailserver lehnen diese Nachrichten ab, da eigentlich nur unseriöse Server (Spam) mit dynamischen IP Adressen laufen.

Ansonsten kann man auch mit dieser Webseite viele Fehlerquellen erkennen: http://www.mxtoolbox.com

Kommentar #38 von Patrick am 26. Februar 2013


Danke für Deine schnelle Antwort.
Nein, ich habe eine feste IP bei T-Online.
Das Merkwürdige ist, wenn ich bei „myNetwork = “ neben meiner eigenen LAN IP’s noch die WAN IP des sendenden Mail-Client’s angebe, dann wird die Mail vom meinem SMPT nicht abgelehnt. Nehme ich dann stattdessen 0/0 in myNetwork auf, dann wird trotzdem, die Mail abgelehnt. Obwohl ich dann ja gerade ein „open relay“ wäre. Es kann doch nicht sein, dass ich alle IP’s die mir Mails schicken können in einser Liste aufführen muss ;) (war ein Witz). Also irgendetwas stimmt da mit nicht mit meinem Verständnis oder meiner Postfix Konfiguration. Übrigen http://www.mxtoolbox.com zeigt mir soweit einen sauberen SMTP mit Ausnahme von: Warning – Reverse DNS does not match SMTP Banner. Aber ich glaube das ist erst mal nicht kritisch und natürlich den Fehler den ich hier beschrieben haben: 451 4.3.0 : Temporary lookup failure [780 ms]. Über den Lookup Fehler konnte ich im Internet aber nichts finden das mir irgend einen Aufschluss darauf gibt wie ich mein Problem lösen kann. Die Posts der Kollegen auf dieser Seite habe ich natürlich alle gelesen und viel viel mehr. Aber es reicht immer noch nicht um das Problem zu lösen.

Kommentar #39 von Horst am 26. Februar 2013


Der Reverse DNS Eintrag könnte sehr gut an der Fehlermeldung schuld sein. Damit kann der Empfänger-Server prüfen, ob die IP Adresse deines Servers auch zu der angegebenen Absenderadresse passt. Lese dazu auch einmal folgende Seite durch; http://wiki.hetzner.de/index.php/DNS-Reverse-DNS

Kommentar #40 von Patrick am 26. Februar 2013


Hallo Patrick,

auf welcher Ubuntu Version basiert diese Anleitung und von wann ist sie? Funktioniert das noch alles?

LG Niko

Kommentar #41 von Nikolas am 12. April 2013


Hallo Nicolas,

geschrieben habe ich die Anleitung soweit ich das noch im Kopf habe auf Basis von Ubuntu 10.04, aber die Installation funktioniert noch problemlos unter der neusten Version. Eventuell haben sich ein paar Kleinigkeiten geändert, kann ich jetzt aber nicht so aus dem Kopf heraus sagen.

Gruß
Patrick

Kommentar #42 von Patrick am 12. April 2013



Hallo Patrick!

schöner Artikel. Ich habe mich dem Thema auch schon zugewendet:
http://www.kammerath.net/linux-mail-server-mx-eintrag.html

Was ich noch nicht so richtig heraus gefunden habe ist, wie ich die Adressen sowohl für VIRTUAL_ALIAS mit Weiterleitung zu GMail als auch mit Weiterleitung an die lokale Postkiste konfigurieren kann :-\ Also neben der GMail Box noch eine Dovecot Box lokal nebenbei.

Vg, Jan

Kommentar #44 von Jan am 23. Juli 2013



Hallo Patrick,

Dein Artikel ermutigt mich als “ Linux-Jünger “ das mit dem eigenen Mailserver zu testen. Ich habe folgende Voraussetzungen:
Ubuntu-Server 12.04
feste IP-Adresse
eigene Domain ( beispielhaft „mustermann.de“ genannt )

Beim Einrichten des Servers habe ich schon als Domainname mustermann.de gewählt.
Der Benutzer “ bodo “ ist angelegt.
MX-Eintrag bei meinem ISP-Provider würde ich dann noch entsprechend setzen…

Was genau muss ich jetzt wo einstellen, damit ich mit der Adresse “ bodo@mustermann.de “ Mails empfangen und versenden kann ?

Grüsse
Bodo

Kommentar #46 von Bodo Franz am 10. November 2013


Hallo Bodo,

wenn du die Anleitung befolgt hast, musst du nur noch die entsprechenden Daten in dein E-Mail Programm eintragen und kannst loslegen :)

Gruß
Patrick

Kommentar #47 von Patrick am 13. November 2013


Soweit so gut, ich habe alles befolgt und der Server läuft!
Sehr herzlichen Dank dafür.
Allerdings gibt es keine Absendernamen, dass sieht im Mailprogramm natülrich doof aus. Wie kann ich das einstellen?
Thomas

Kommentar #48 von Thomas am 15. März 2014


Hallo!

Super Anleitung!

Gibt es das Paket „dovecot-postfix“ unter Ubuntu 14.04. nicht mehr?

MfG
H. Juhnke

Kommentar #49 von hjuhnke am 23. August 2014


Moin H.Juhnke,

jepp, scheinbar gibt es das Paket „dovecot-postfix“ nicht mehr. Aber laut https://help.ubuntu.com/14.04/serverguide/dovecot-server.html existiert nun das Paket „mail-stack-delivery“. Musst mal austesten, ob das nun das neuere Äquivalent ist.

Gruß
Patrick

Kommentar #50 von Patrick am 30. August 2014


Schon jemand was herausgefunden?

Kommentar #51 von Bene L. am 15. September 2014


Nachtrag: Bzgl. dem Package ‚mail-stack-delivery‘.

Kommentar #52 von Bene L. am 15. September 2014


Hi Bene,

„mail-stack-delivery“ ist der Nachfolger des Pakets „dovecot-postfix“. Siehe http://packages.ubuntu.com/de/precise/mail-stack-delivery

Gruß
Patrick

Kommentar #53 von Patrick am 15. September 2014


Man kann diese Anleitung doch mit der hier verbinden, oder?

http://www.patrick-gotthard.de/spam-und-virenfilter-fuer-postfix-einrichten

Kommentar #54 von DerSchmauder am 19. September 2014


Hinterlasse einen Kommentar