Du bist nicht angemeldet
Facebook Login
Hallo! Du bist nicht angemeldet. Wenn Du Dich anmeldest, dann kannst Du hier Kommentare verfassen und Dich mit anderen Nutzern austauschen. Es werden keine Daten von Dir ausspioniert und nach einer Stunde wirst Du hier automatisch wieder abgemeldet.
Weiterempfehlen

« Eigener Linux Mailserver mit MX Eintrag »

(19.07.2013 20:00)

Eigener Mailserver mit LinuxBestellt 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.

## Path:        Network/Mail/General
## Description: Basic general MTA configuration
## Type:        yesno
## Default:     yes
## Config:      postfix,sendmail
#
# If you don't want to let SuSEconfig generate your
# configuration file, set this to no
#
MAIL_CREATE_CONFIG="no"

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.

myhostname = mail.kammerath.net
inet_interfaces = all
smtpd_banner = $myhostname Kammerath Network ESMTP
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain
virtual_alias_domains = hash:/etc/postfix/domains
virtual_alias_maps = hash:/etc/postfix/virtual
mynetworks_style = host

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.

kammerath.net           OK
kammerath.com           OK
kammerath.co.uk         OK

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.

jan@kammerath.net       jankammerath@gmail.com
@kammerath.net          jankammerath@gmail.com
@kammerath.co.uk        jankammerath@gmail.com
@kammerath.com          jankammerath@gmail.com

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.

kammerath.net:~# postmap /etc/postfix/virtual /etc/postfix/domains

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.

jan@tpad:~> telnet mail.kammerath.net 25
Trying 162.13.46.249...
Connected to mail.kammerath.net.
Escape character is '^]'.
220 mail.kammerath.net Kammerath Network ESMTP
HELO kammerath.net
250 mail.kammerath.net
MAIL FROM:angebot@kammerath.net
250 2.1.0 Ok
RCPT TO:jankammerath@t-online.de
554 5.7.1 : Relay access denied

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.

jan@tpad:~> telnet mail.kammerath.net 25
Trying 162.13.46.249...
Connected to mail.kammerath.net.
Escape character is '^]'.
220 mail.kammerath.net Kammerath Network ESMTP
HELO kammerath.net
250 mail.kammerath.net
MAIL FROM:jankammerath@t-online.de
250 2.1.0 Ok
RCPT TO:dontknow@kammerath.net
250 2.1.5 Ok
DATA
354 End data with .
Subject: Dies ist ein Test für den Artikel
Hallo Jan,

ich schreibe mir selbst eine E-Mail, um 
zu gucken ob der Mailserver funktioniert.
.
250 2.0.0 Ok: queued as 7076EF61E4
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

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 auch zur Recherche für diesen Artikel genutzt. Wer sich, insbesondere bei technischen Themen, unsicher ist, ob er die gewünschte Aufgabe bewältigen kann, sollte zu einem dieser Bücher greifen. Die Bücher habe ich zum großen Teil selbst auch auf ihre Qualität geprüft.
Das Postfix Buch. Sichere Mailserver mit Linux
Das Postfix Buch. Sicher...
Autor: Peer Heinlein
Verlag: Open Source Press
Preis: 97,99 €
Postfix: Einrichtung, Betrieb und Wartung
Postfix: Einrichtung, Be...
Autor: Ralf Hildebrandt
Verlag: dpunkt Verlag
Preis: 46,00 €
Dovecot: POP3/IMAP-Server für Unternehmen und ISPs
Dovecot: POP3/IMAP-Serve...
Autor: Peer Heinlein
Verlag: Open Source Press
Preis: 39,90 €
Postfix
Postfix
Autor: Kyle D Dent
Verlag: O'Reilly
Preis: 29,93 €
Gefällt dir der Artikel oder has Du Fragen dazu? Neben anderen Interessierten warten dort auch exklusive Videos und Tutorials auf Dich. Werde jetzt Fan vom Kammerath Network auf Facebook und entdecke die neuesten Artikel noch bevor Sie fertig sind: facebook.com/kammerath.net

Besucher, die diesen Beitrag gelesen haben, interessieren sich auch für...

115 Besucher haben auch das gelesen
22 Besucher haben auch das gelesen
21 Besucher haben auch das gelesen
21 Besucher haben auch das gelesen
20 Besucher haben auch das gelesen
19 Besucher haben auch das gelesen

Du musst Dich lediglich mit deinem Benutzer über Facebook anmelden, um hier Kommentare schreiben zu können. » Mit Facebook anmelden.
© 2014 Jan Kammerath
Telefon +49 2241 955 98 60 oder E-Mail Kontakt.

IPv6 Ready

Das Kammerath Network Website System ist unter der Mozilla Public License 1.1 veröffentlicht.



Seite durchsuchen
Newsletter
Auf dem Laufenden bleiben und den Newsletter abonnieren. Bitte E-Mail Adresse eingeben:
» Jetzt abonnieren
Angebote
Laden...