19. Jul 2013 08:07
Keine Kommentare

Eigener Linux Mailserver mit MX Eintrag

Eigener Mailserver mit Linux
Eigener Mailserver mit Linux

Bestellt man eine eigene Domain, so möchte man natürlich gerne auch E-Mails mit der eigenen Domain empfangen. Für meine Website www.kammerath.net kann man mich z.B. über jan@kammerath.net erreichen. Damit das funktioniert muss im Nameserver der sog. MX-Eintrag (engl. MX Record) vorhanden sein und einen Mailserver angeben, auf welchen die E-Mails für die Domain zugestellt werden können. Bei vielen Hostern wird ein solcher Mailserver vom Anbieter samt Oberfläche zur Konfiguration gleich mitgeliefert.

In diesem Artikel möchte ich mich der Frage widmen, wieso überhaupt einen eigenen Mailserver betreiben sollte und wie das mit OpenSUSE und Postfix funktioniert. Dabei möchte ich entgegen der meisten Informationen online garnicht so sehr ins Detail gehen und komplizierte Konfigurationen durchgehen, sondern möchte den Artikel möglichst einfach halten und eine einfache Konfiguration, wie sie häufig Anwendung findet, beschreiben. Es geht erst einmal darum einen Mailserver für die eigene Domain zu konfigurieren und die E-Mails an diverse Postfächer weiter zu leiten.

Wieso sollte man einen eigenen Mailserver betreiben?

Wenn der eigene Hoster ja bereits eigene E-Mail Dienste bereit stellt, wieso sollte man das dann mit einem eigenen Mailserver machen? Der Vorteil des eigenen Mailserver ist neben der vollen Kontrolle über Server und entwaige Zustellungsfehler auch die Geschwindigkeit. Während ein Verbund aus etlichen Mailservern des eigenen Providers tausende von E-Mails jeden Tag ein- und auswärts senden müssen, muss der eigene Mailserver lediglich die eigenen E-Mails bearbeiten. Meiner Erfahrung nach ist die E-Mail Zustellung damit bedeutend schneller und man hat auch selbst die Möglichkeit die Leistung des Mailservers zu verbessern.

Basiskonfiguration von Postfix für den eigenen Mailserver

Es gibt eine Reihe von Mailservern für Linux. Angefangen vom klassischen Sendmail über Postfix bis hin zu Exim. Das sind die drei am meisten genutzten Server für E-Mail Versand und Empfang derzeit. Ich habe mich für Postfix entscheiden, weil er einfacher zu konfigurieren ist als Sendmail und nach meinem Ermessen eine umfangreichere Dokumentation online aufweist als Exim. Exim ist zwar bei vielen Linux Distributionen derzeit der Standard Mailserver, jedoch lässt sich Exim durch Postfix einwandfrei ersetzen. Man sollte also Sendmail bzw. Exim zuerst über die Paketverwaltung (z.B. YaST unter SuSE oder Pacman unter Arch) deinstallieren und dann Postfix installieren. Unter SuSE muss man noch beachten, dass YaST bzw. SuSEConfig die Konfiguration von Postfix standardmäßig übernimmt. Möchte man das wie in meinem Fall nicht, dann muss dan in der Datei "/etc/sysconfig/mail" folgenden Wert auf "no" stellen.

Dadurch verhindert man, dass SuSEConfig jedes Mal die Postfix Konfiguration überschreibt oder verändert. Das kann zu unschönen Effekten und ungewollten Konfigurationen führen. Nach der Installation von Postfix kann man mit "systemctl status postfix" überprüfen, ob dieser bereits läuft, wenn nicht mit "systemctl enable postfix" für den automatischen Start konfigurieren und mit "systemctl start postfix" sofort starten. Für SuSE empfehle ich zudem im "Runlevel-Editor" von Yast zu kontrollieren, dass Postfix für den automatischen Start eingeschaltet ist.

Grundlegende Konfiguration und schwerwiegende Fehler

Das größte Problem beim eigenen Mailserver ist, dass man diesen schnell so falsch konfigurieren kann, dass er von Spammern als Spamschleuder misbraucht wird. Das kann bis zur Unbrauchbarkeit der IP Adresse führen, wenn diese auf Blacklists (schwarzen Listen) landet. Schauen wir uns also nun mal die Haupt-Konfigurationsdatei  "/etc/postfix/main.cf" an. Da diese sehr umfangreich ist, habe ich folgend nur die wichtigsten Parameter aufgeführt.

Diese Konfiguratinswerte sind die einzigen, die ich bei mir geändert habe. Zunächst beschreibt "myhostname" den Domain-Namen des Mailservers und "inet_interfaces", dass auf allen Interfaces "gehorcht" werden soll. Den Hostnamen habe ich absichtlich nicht auf die Domain gestellt, da die Adressen "@kammerath.net" weitergeleitet werden sollen und keine lokalen Mailboxen sind. "smtp_banner" gibt die Willkommensnachricht bei SMTP an. Ich ändere diese immer, da ein angepasstes Banner einem Spammer auch zeigt, dass dieser Server konfiguriert wurde und es sich nicht nur um eine Standardinstallation handelt. Eine Art Abschreckung also. "inet_protocols" definiert, dass alle Protokolle (sowohl IPv4 als auch IPv6) verwendet werden dürfen. "mydestination" definiert für welche Domains der Server der absolute Endpunkt ist. In "mydestination" sollte man niemals virtuelle Adressen eintragen, die wir nachher in Virtual eintragen. "mynetworks_style" definiert, dass der Versand von E-Mails irgendwo anders hin als zu mydestination oder virtual nur vom eigenen Host aus erfolgen darf. Hier kann man aber auch andere IP Adressen noch eintragen bzw. ganze Netze. Widmen wir uns als nächstes "virtual_alias_domains" und "virtual_alias_maps".

Virtual-Alias Konfiguration in Postfix

Um Mails für E-Mail Adressen entgegen zu nehmen, für die Postfix eigentlich garnicht zuständig ist, gibt es die sog. "Virtual Alias" Funktionen. In der Konfigurationsdatei für "virtual_alias_domains" stehen alle Domains drin, die man mit Postfix akzeptieren möchte. Meine sieht wie folgt aus.

In der "virtual_alias_maps" stehen dann die externen Zieladressen für die lokalen Adressen drin. Das sieht bei mir wie in dem folgenden Beispiel aus und da sieht man dann auch direkt eine Besonderheit bei den Quelladressen.

Die Quelladressen ohne Bezeichnung vor dem "@" geben sog. Catch-All Adressen an. Dies bedeutet, dass alle E-Mails die an eine Adresse gehen, für die konkret keine Weiterleitung angegeben wurde, an die nachfolgende Adresse gehen. Schickt also Jemand eine E-Mail an niemand@kammerath.co.uk, so geht diese E-Mail ebenfalls an meine GMail Adresse. Mit folgendem Befehl erstellt man die Postfix Datenbankdateien und schließt die Konfiguration ab.

Es ist nun geschafft und man kann versuchen lokal eine E-Mail mit dem Server zu versenden. Diese sollte dann auch auf der Google Mail Adresse eintreffen. Es kann durchaus sein, dass diese im Spam-Ordner landet, wenn der Server noch nicht im MX-Eintrag steht.

DNS und Firewall für eigenen Mailserver konfigurieren

Damit andere Mailserver wissen, welcher Mailserver für die eigene Domain zuständig ist, muss man einen sog. MX-Eintrag im DNS eintragen. Bevor man das macht, sollte man jedoch vorher die Firewall so konfigurieren, dass die Ports von Postfix freigegeben sind und extern eine Verbindung zu Postfix aufgebaut werden kann. Dazu gehören die Ports 25 (SMTP), 465 (SMTPS) und 587 (alternativer SMTP Port). Ich habe meinem Mailserver den Namen "mail.kammerath.net" im DNS eingetragen. Diesen Namen "mail.kammerath.net" habe ich auch als MX eingetragen. Man kann im MX auch IP Adressen angeben, ich empfehle jedoch einfach eine separate Domain im DNS einzutragen. Hat man beides eingetragen, kann man den Mailserver auch schon selbst testen und wird nach erfolgreichem Update aller DNS Server dann auch E-Mails über Postfix bekommen.

Abschließender Sicherheitstest für den eigenen Mailserver

Wie eingangs erwähnt fallen SMTP  bzw. Mailserver schnell Spammern zum Opfer, die diesen für den eigenen Mailversand missbrauchen. Deshalb sollte man den Mailserver mit einer externen IP Adresse testen und prüfen, ob dieser nur korrekte E-Mails annimmt. Der eigene Mailserver sollte E-Mails nur aus dem vertrauenswürdigen Netz bzw. in meinem Beispiel nur von sich selbst zu jeder beliebigen externen E-Mail Adresse annehmen. E-Mails, die an meine Domain gehen soll er von jedem anderen Server immer annehmen. Das folgende Beispiel sollte nicht funktionieren und vom Server genauso wie unten mit "554 Relay access denied" quittiert werden.

Das Nachfolgende soll hingegen funktionieren, denn es zeigt eine eingehende E-Mail von irgendwem an eine unserer internen Domains bzw. E-Mail Adressen. Da ich den Test von Hand gemacht habe und die E-Mail nicht 100% RFC konform ist, wird Postfix sie zwar annehmen, Google wird sie jedoch dennoch verweigern. Man kann alternativ auch einen E-Mail client oder eine externe E-Mail Adresse für den Test des Mailversands benutzen. Ich habe hierfür deshalb noch eine Adresse bei T-Online und bei Web.de.

Gehen die Tests alle so aus, wie vorgesehen, dann hat man nun seinen eigenen Mailserver fertig konfiguriert und abgesichert. Ein gewisses Risiko für Spam besteht immer und es gibt auch noch  zahlreiche weitere Möglichkeiten dies abzusichern. Da hier der Postfix jedoch die E-Mails an externe Mailserver weiterleitet, wird es deren Aufgabe sein den Spam auszusortieren. Man stellt mit der Konfiguration auf jeden Fall schnellen und verlustfreien Versand der E-Mails her. Wer sich für weitere Konfigurationen interessiert, dem sei die VIRTUAL_ALIAS README von der Postfix Website sehr empfohlen.

Fazit zum eigenen Mailserver mit Postfix unter Linux

Die meisten Hoster bietet so etwa Mailangebote mit 100 bis 500 oder gar 1.000 Weiterleitungen. Mit Postfix ist man überhaupt nicht eingeschränkt, was die Anzahl der Weiterleitungen angeht. Tatsächlich entsteht durch jede Weiterleitung auch nur zusätzlicher Traffic oder Speicherverbrauch, wenn dort wirklich eine E-Mail durchgeht. Deshalb auch die hohen Werte. Mit dem eigenen Mailserver hat man einen Geschwindigkeitsvorteil und volle Kontrolle über den Versand und etwaige Versandfehler. Wer dringend auf E-Mails angewiesen ist und selbst die Möglichkeit hat den eigenen Mailserver zu kontrollieren oder kontrollieren zu lassen, dann ist der eigene Server mit Sicherheit eine gute Wahl. Eventuell werde ich mich in einem zukünftigen Beitrag auch mal IMAP widmen.

B├╝cher zum Thema „Postfix“

Die nachfolgenden B├╝cher behandeln das Thema "Postfix" und werden von Amazon empfohlen. Viele dieser B├╝cher habe ich selbst gelesen und teilweise auch zur Recherche f├╝r diesen Artikel genutzt.
46,00 €
Jetzt bestellen »
Postfix: Einrichtung, Betrieb und Wartung
Ralf Hildebrandt, dpunkt Verlag
88,40 €
Jetzt bestellen »
Das Postfix Buch. Sichere Mailserver mit Linux
Peer Heinlein, Open Source Press
39,90 €
Jetzt bestellen »
Dovecot: POP3/IMAP-Server f├╝r Unternehmen und ISPs
Peer Heinlein, Open Source Press
29,80 €
Jetzt bestellen »
Postfix
Kyle D. Dent, O'Reilly Verlag GmbH & Co. KG

Diese Artikel k├Ânnten Dich auch interessieren

Besucher, die diesen Beitrag gelesen haben, haben sich auch die unten aufgef├╝hrten Beitr├Ąge angesehen. Schau' doch einfach mal in die Artikel rein.
112 Besucher haben auch das gelesen
25 Besucher haben auch das gelesen
21 Besucher haben auch das gelesen
14 Besucher haben auch das gelesen
13 Besucher haben auch das gelesen
12 Besucher haben auch das gelesen

Kommentare zum Thema „Eigener Linux Mailserver mit MX Eintrag“

Wenn Du m├Âchtest, kannst Du hier Kommentare zum Thema hinterlassen und Dich mit anderen Nutzern austauschen. Damit Du kommentieren kannst, musst Du Dich nur anmelden und schon kann es losgehen.
Jetzt zum Kommentieren anmelden