Mailserver: Was ist ein offenes Relay?

Als offenes Relay wird ein Mailserver bezeichnet, der Mails weiterleitet, obwohl weder Absender noch Empfänger von ihm selbst gehostet werden.

Beispiel: Der Mailserver „mail.grossefirma.de“ soll Mails für die Domäne „grossefirma.de“ verarbeiten.

Erlaubt sollten sein:

  • Mails an z.B. „info@grossefirma.de“
  • Mails von z.B. „info@grossefirma.de“

aber nicht:

  • Mails von „kaufmich@werbefritze-xyz.de“ an „user@irgendwo-anders.de“
  • Mails mit gefälschten Absenderadressen aus der Domain „grossefirma.de“, die über diesen Server verschickt werden

Diese falsch konfigurierten Mailserver werden meist nach wenigen Minuten Onlinezeit automatisiert gefunden und dann von Spammern für den Versand ihrer Massenmails verwendet.

Abgesehen von der Belästigung der Empfänger dieser Werbebotschaften können für den Betreiber des offenen Relays extreme Kosten durch den generierten Traffic entstehen. Zudem wird das offene Relay schnell in sogenannten Blacklists eingetragen, was dazu führt, dass normale Mails von diesem Server ebenfalls bei vielen Empfängern nicht mehr akzeptiert werden.

Bei eigentlich jeder Mailserversoftware sind Regelmechanismen vorhanden, die ein unautorisiertes Versenden von Mails verhindern können.

Grundsätzlich:

  • Mailversand ohne Authentifizierung wenn überhaupt nur von firmeninternen IP-Adressen zulassen
  • Authentifizierungstechniken wie SMTP-Auth (zur Not auch POP-before-SMTP) beim Versand von Mails erzwingen
  • Annahme von Mails ohne Authentifizierung nur für eigene Domains erlauben

Beispiel für Postfix:

  #### SMTP AUTH verwenden
  smtpd_sasl_auth_enable = yes
  pwcheck_method = saslauthd
  smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
  # nur fuer Outlook Clients
  broken_sasl_auth_clients = yes
  #### END SMTP AUTH enable

Mit diesen Konfigurationseinträgen wird Postfix nur noch per SMTP-Auth geprüften Clients den Mailversand gestatten.

http://www.abuse.net/relay.html

Dieser Test hat den Nachteil, dass er innerhalb einer bestimmten Zeitspanne immer nur ein mal gestartet werden kann. Aber man kann entfernte Server damit sehr einfach testen.

http://ordb.org/submit/ Dauert zwar einige Tage, scheint aber sehr gründlich vorzugehen.

automatisierter Relaytest per Telnet

telnet relay-test.mail-abuse.org

Weitere Eingaben sind nicht erforderlich. Der eigentliche Relay-Test wird dabei von mail-abuse durchgeführt, die Ergebnisse werden in Echtzeit über die Telnetverbindung angezeigt. mail-abuse baut dazu eine Verbindung zum Port 25 des eigenen Rechner auf (der Rechner, von dem aus die Telnet-Verbindung zu mail-abuse initiiert wurde) und testet diverse Relay-Tricks.

Diese Tests können mehrfach wiederholt werden und eignen sich hervorragend zum Testen von Einstellungsänderungen.

Wichtig: Es wird ausschließlich der eigene Rechner getestet, Voraussetzung ist natürlich, dass an diesem Rechner auch ein Mailserver arbeitet. Relay-Tests fremder Server lassen sich z.B. über einen manuellen Telnet-Test wie nachfolgend beschrieben durchführen.

telnet mail.meinedomain.de 25

Sie sollten erhalten

220 cygnus.mail-abuse.org ESMTP Postfix

Nun ein „HELO domain.tld“ und dann MAIL FROM, RCPT TO, …

Z.B.: HELO xyz.xx
250 cygnus.mail-abuse.org
MAIL FROM: xx@xyz.xx
250 Ok
RCPT TO: xx@xyz.xx (Hier gueltige E-Mailadresse eintragen.)
554 <xx@xyz.xx>: Relay access denied