ALIs

kommt noch

Konfiguration von Mailservern für Mailempfang aus dem Internet

Der direkte Empfang von E-Mails aus dem Internet ist nur für wenige, gut gepflegte und Spam-sichere Mailserver möglich. Dieser Artikel beschreibt, was Sie als Betreiber eines anderen Mailservers tun müssen um E-Mails aus dem Internet indirekt empfangen zu können. Es sind dazu lediglich entsprechende DNS-Einträge notwendig, an den Mailservern selbst ist nichts zu tun.

Sperrung von Port 25 (SMTP)

Der direkte Empfang von E-Mails ist am X-WiN-Übergang vom Internet ins Münchner Wissenschaftsnetz (MWN) für die meisten Mailserver gesperrt (Sperrung des SMTP-Ports 25; SMTP = Simple Mail Transfer Protocol). Dies geschieht um den Missbrauch von Mailservern als Spam-Relays zu verhindern. Ein solcher Missbrauch hätte zur Folge, dass das MWN (oder Teile davon) auf schwarzen Listen landen und von anderen Mailbetreibern blockiert werden würde.

Für Mailserver, die E-Mails direkt aus dem Internet empfangen können sollen, muss die IP-Adresse am X-Win-Router eingetragen werden. Dies geschieht auf Anfrage, allerdings nur bei Mailservern, die folgende Kriterien erfüllen:

  • der Server wird gut gewartet, insbesondere werden aktuelle Sicherheitspatches zeitnah eingefahren
  • der Server kann nicht als Spam-Relay missbraucht werden
  • eintreffende E-Mails werden mit aktueller Antiviren-Software auf Schädlinge überprüft (um zu verhindern, dass Viren per E-Mail ins MWN eingeschleppt werden)
  • es gibt ein hohes Aufkommen an E-Mails und/oder es handelt sich um den Server einer größeren Einrichtung (z.B. zentraler Mailserver einer Fakultät)

Mailserver, die E-Mails direkt aus dem Internet empfangen können, werden im Folgenden auch als Mailrelays bezeichnet. Dazu gehören insbesondere auch die beiden vom LRZ betreuten Mailrelays mailrelay1.lrz-muenchen.de (129.187.254.106) und mailrelay2.lrz-muenchen.de (129.187.254.102).

Alle anderen Mailserver können E-Mails aus dem Internet nur indirekt empfangen, indem die E-Mails zuerst von einem der Mailrelays entgegen genommen und dann an den eigentlichen Mailserver weitergeleitet werden. Dazu muss der Weg, den eine E-Mail aus dem Internet zu einem der lokalen Mailserver nimmt, im DNS (Domain Name Service) geeignet konfiguriert werden. An den Mailservern selbst ist in der Regel nichts zu tun.

Grundsätzlicher Ablauf einer Mailübertragung

Um zu verstehen, was im DNS konfiguriert werden muss und weshalb, soll zuerst der Ablauf der übertragung einer E-Mail beschrieben werden.

Jede Mailadresse besteht aus zwei Teilen, dem lokalen Teil links vom @-Zeichen und der Domain rechts davon. Die Domain bestimmt das Routing, d.h. den Weg vom Mailserver des Absenders zum Mailserver des Empfängers. Der linke Teil bestimmt, in welche Mailbox der empfangende Mailserver die E-Mail ausliefern soll.

Der sendende Mailserver muss feststellen, an welchen Rechner er die Mail schicken muss. Dies kann bereits der Zielrechner sein, auf dem sich die Mailbox befindet, oder ein erster Rechner auf dem Weg zum Zielrechner (store-and-forward-Prinzip). Die notwendige Information bekommt er entweder aus einer internen Konfiguration - für uns hier nicht weiter interessant - oder aus dem DNS.

Im DNS gibt es verschiedene Arten von Einträgen - sogenannte Resource Records -, bei denen einem Domainnamen bestimmte Informationen zugeordnet sind. Bei der Abfrage des DNS gibt man den Domainnamen und den Typ des Eintrags an und bekommt die zugehörige Information geliefert.

Beim Mailversand spielen zwei Typen von Einträgen eine Rolle:

  • A-Record: Zuweisung einer IP-Adresse zu einem (Rechner-)Namen. Soll ein Rechner mehrere IP-Adressen haben, so sind entsprechend viele A-Records zu definieren.
  • MX-Record: Festlegung des für eine Domain zuständigen Mailservers. Man kann für eine Domain auch mehrere MX-Records konfigurieren, sollte diese aber dann mit unterschiedlichen Prioritäten versehen (kleinere Zahl = höhere Priorität). In diesem Fall kennzeichnet der MX-Record mit der höchsten Priorität den eigentlichen Zielrechner, auf dem sich die Mailboxen befinden. Die anderen MX-Records definieren Backup-Rechner, die ersatzweise verwendet werden können, wenn der eigentliche Zielrechner nicht erreicht werden kann. Diese speichern die E-Mails nur temporär und versuchen periodisch sie an den eigentlichen Zielrechner weiterzuleiten.

Ablauf einer Mailübertragung (soweit hier interessant):

  • Der sendende Mailserver fragt im DNS nach den MX-Records für in der Mailadresse angegebene Domain.
  • Gibt es keinen MX-Record, so wird die Existenz eines MX-Records mit Priorität 0 angenommen, der auf die nachgefragte Domain zeigt (d.h. der Domainname ist der Zielrechner, zu dem eine Verbindung aufgebaut werden muss).
  • Gibt es MX-Records, so werden diese nach Priorität sortiert. Zeigt einer der MX-Records auf den anfragenden Mailserver selbst, so wird dieser MX-Record und alle anderen gleicher oder niedrigerer Priorität ignoriert und nur die MX-Records mit höherer Priorität beachtet.
  • Für den Rechner aus dem MX-Record mit der höchsten Priorität wird eine Anfrage nach dem A-Record und damit nach der IP-Adresse des Rechners gestellt. Dieser A-Record muss existieren, sonst ist kein Mailaustausch möglich.
  • Zu dieser IP-Adresse wird eine (SMTP-)Verbindung aufgebaut und die E-Mail übertragen.
  • Kann zu der IP-Adresse keine Verbindung aufgebaut werden, so wird der MX-Record mit der nächstniedrigeren Priorität genommen, der A-Record abgefragt und eine Verbindung aufgebaut (Backup-Fall).
  • Kommt zu keinem der Rechner aus den MX-Records eine Verbindung zustande, so bleibt die Mail am absendenden Mailserver liegen und der ganze Ablauf beginnt nach einiger Zeit von neuem.

Was geschieht nun, wenn z.B. eine Mail von einem Mailserver aus dem Internet an die Mailadresse xyz@ei.tum.de geschickt wird? Im DNS seien folgende MX- und A-Records eingetragen:

Domain- bzw. Rechnername Typ Prio Wert
ei.tum.de MX 10 mailsrv.e-technik.tu-muenchen.de
ei.tum.de MX 20 mailrelay1.lrz-muenchen.de
ei.tum.de MX 30 mailrelay2.lrz-muenchen.de
mailsrv.e-technik.tu-muenchen.de A   129.187.240.31
mailrelay1.lrz-muenchen.de A   129.187.254.106
mailrelay2.lrz-muenchen.de A   129.187.254.102

Der Ablauf ist dann wie folgt:

  • Der sendende Mailserver bekommt auf Nachfrage im DNS die drei aufgeführten MX-Records.
  • Der MX-Record mit der höchsten Priorität zeigt auf mailsrv.e-technik.tu-muenchen.de. Der sendende Mailserver versucht daher zu diesem Rechner eine Verbindung aufzubauen. Da der Rechner aber nicht zu den im MWN zugelassenen Mailrelays gehört, wird die Verbindung am Router zwischen X-WiN und MWN blockiert.
  • Der MX-Record mit der nächst niedrigeren Priorität zeigt auf das Mailrelay mailrelay1.lrz-muenchen.de, das als Backup dient. Der Verbindungsaufbau kommt zustande, da der Rechner im Gegensatz zu mailsrv.e-technik.tu-muenchen.de zu den zugelassenen Mailrelays gehört, und so kann die E-Mail übertragen werden.
  • mailrelay1.lrz-muenchen.de stellt fest, dass die E-Mail nicht lokal ausgeliefert, sondern an einen anderen Rechner weitergeleitet werden soll.
  • Der Rechner holt sich ebenfalls die drei MX-Records.
  • Da der zweite MX-Record auf ihn selbst zeigt, verwirft er diesen und - wegen der noch niedrigeren Priorität - auch den dritten und behält nur den ersten MX-Record.
  • Er versucht eine Verbindung zu mailsrv.e-technik.tu-muenchen.de aufzubauen und die E-Mail zu übertragen. Dies gelingt, da sich der Rechner im MWN befindet und sich daher der Filter am Router nicht mehr auswirkt.

Befinden sich die Mailboxen zu einer Domain auf dem Mailboxserver des LRZ (mailin.lrz-muenchen.de), so sind nur die zwei MX-Records für die beiden Mailrelays mailrelay1.lrz-muenchen.de und mailrelay2.lrz-muenchen.de anzulegen. In diesem Fall gelangen die E-Mails über eine interne Kopplung von den Mailrelays zum Mailboxserver und es darf kein MX-Record auf den Mailboxserver zeigen. Es gibt dann also nur die beiden folgenden MX-Records:

Domain- bzw. Rechnername Typ Prio Wert
jura.uni-muenchen.de MX 20 mailrelay1.lrz-muenchen.de
jura.uni-muenchen.de MX 30 mailrelay2.lrz-muenchen.de

Was ist also zu tun?

Es muss

  1. festgelegt werden, über welche(n) Mailrelay(s) E-Mails empfangen werden sollen und
  2. die entsprechende Konfiguration im DNS durchgeführt werden.

Daraus ergeben sich die folgenden Arbeitsschritte:

  1. Überprüfung, ob es bereits MX-Records im DNS gibt:

    • Stellen Sie fest, ob für Ihre Maildomain bereits MX-Records im DNS definiert sind, unter Unix z.B. mit nslookup -q=mx maildomain
    • Zeigt einer der MX-Records bereits auf ein oder mehrere Mailrelays (z.B. auf die LRZ-Mailrelays mailrelay1.lrz-muenchen.de und mailrelay2.lrz-muenchen.de), so sind Sie bereits fertig.
    • Gibt es keinen MX-Record oder zeigt dieser nicht auf ein Mailrelay, so muss ein Mailrelay ausgesucht werden.
  2. Auswahl eines Mailrelays:

    • Gibt es in Ihrer Fakultät bereits ein Mailrelay, so bietet sich dieses an.
    • Grundsätzlich stehen Ihnen die zentralen Mailrelays des LRZ zur Verfügung. Wenn Sie diese nutzen wollen, so lassen Sie hierfür zwei MX-Records auf mailrelay1.lrz-muenchen.de und mailrelay2.lrz-muenchen.de eintragen.
    • Bei der Auswahl könnten die Betriebsregeln der Mailrelays (neudeutsch: Policy) eine Rolle spielen, z.B. maximale Größe von E-Mails oder Einsatz von Antiviren-Programmen. Die Betriebsregeln für die LRZ-Mailrelays finden Sie unter http://www.lrz-muenchen.de/services/netzdienste/email/policy
  3. Vereinbarung mit dem Administrator des Mailrelays:

    • Sprechen Sie zuerst mit dem Administrator des ausgesuchten Mailrelays, ob er bereit ist, E-Mails an Ihre Domain über sein Mailrelay zu leiten. Eventuell muss sein Mailrelay umkonfiguriert werden, damit er E-Mails für Ihre Domain auch entgegennimmt und nicht als unerwünschten Relay-Versuch ablehnt.
    • Wollen Sie die E-Mails über die LRZ-Mailrelays leiten, so können Sie das jederzeit tun. Sie müssen nur dann mit uns Kontakt aufnehmen, wenn Ihre Maildomain keine Subdomain der von uns zur Zeit konfigurierten Domains ist, für die wir Mails akzeptieren. E-Mails an andere Domains werden als unerwünschter Relay-Versuch abgelehnt.
  4. Konfiguration des DNS, Vereinbarung mit dem Administrator der DNS-Zone:

    • Nachdem Sie das Mailrelay festgelegt haben (und mit dem zuständigen Mailadministrator gesprochen haben), muss noch die Konfiguration im DNS erfolgen. Zuerst müssen Sie herausfinden, wer die Daten für Ihre Maildomain im DNS verwaltet, unter Unix z.B. durch nslookup -q=soa domainname. Gibt es dazu keine Antwort, müssen Sie die erste Subdomain auf der linken Seite streichen und erneut eine Abfrage stellen. Unter origin findet sich der Rechner, auf dem die DNS-Zone, d.h. die Daten für Ihre Domain verwaltet werden, und unter mail addr die Adresse des Administrators (der erste '.' muss durch ein '@' ersetzt werden).
    • Nehmen Sie Kontakt mit diesem Administrator auf und lassen Sie MX-Records anhand obiger Erläuterung bzw. Beispiele eintragen, also einen auf Ihren Mailrechner und einen oder zwei auf die ausgesuchten Mailrelays.
    • Werden die Daten vom DNS-Server des LRZ verwaltet, d.h.
      • origin ist dns1.lrz-muenchen.de und
      • mail addr ist hostmaster@lrz-muenchen.de,
      wenden Sie sich bitte an hostmaster@lrz-muenchen.de mit der Bitte eines Eintrags für Ihre Maildomain.